💾 Archived View for it.omarpolo.com › articoli › pillole-di-emacs-010 captured on 2023-01-29 at 16:07:28. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-11-30)

-=-=-=-=-=-=-

010 — Pillole di Emacs: rcirc

[ ammetto la tentazione nel chiamare questo file “Pillole di Emacs: 00A”… ]

Tre settimane di ritardo! Mi stavo praticamente dimenticando di questo blog, sigh! Per controbilanciare, una “pillola” più verbosa del solito.

Da quando è iniziata questa “avventura” con Gemini ho anche iniziato ad usare IRC giornalmente. Ovviamente, ho cercato un client per Emacs, e il primo che ho provato è stato anche quello che mi ha convinto di più: rcirc. (In passato avevo usato irssi, ii e weechat)

rcirc, come ERC, sono “preinstallati” su Emacs, ha degli ottimi settaggi di default e il sistema di notifiche mi ha convinto. Ma partiamo con la configurazione:

(rcirc-track-minor-mode)

Aggiunge una sezione alla modeline con la lista dei canali, tra parentesi quadre, dove ci sono messaggi da leggere. Se in un canale hanno usato una parola chiave di nostro interesse (mostrate in seguito) il canale apparirà in grossetto, e se ci hanno menzionato apparirà con colori invertiti. I nomi dei canali non sono mostrati per intero, ma solo per il più piccolo prefisso unico: ad esempio “#postgresql” diventa “p”, perché non ho altri canali che iniziano con “p”, ma “#openbsd-gaming” diventa “openbsd-” perché sono collegato anche su “#openbsd”.

(add-hook 'rcirc-mode-hook
          (lambda ()
            (flyspell-mode 1)
            (rcirc-omit-mode)))

Non è obbligatorio, ma è carino avere il controllo grammaticale ed omettere alcuni messaggi non interessanti (di più in seguito)

(setq rcirc-buffer-maximum-lines 1000
      rcirc-fill-column 80
      rcirc-default-nick "op2"
      rcirc-default-user-name "op"
      rcirc-default-full-name "op"
      rcirc-log-flag t)

Questi dovrebbero essere abbastanza intuitivi. Una nota la merita ‘rcirc-log-flag’ che se abilitato, e lo è di default, salva i messaggi in ‘user-emacs-directory’/.rcirc-log/. Quello che non ho ancora capito è come riprendere e mostrare i messaggi vecchi.

(setq rcirc-omit-responses '("JOIN" "PART" "QUIT" "NICK" "AWAY"))

Su IRC ci sono alcuni tipi di messaggi poco interessanti. In canali molto trafficati, può diventare fastidioso vere le conversazioni interrotte da una sequela di JOIN/PART e QUIT.

‘rcirc-omit-mode’, attivato prima, si occupa di nascondere questi tipi di messaggi. La cosa interessante però, è che viene fatto in modo intelligente. Se l’utente ‘pippo’, col quale stavamo parlando fino a poco fa, si scollega, il messaggio QUIT di ‘pippo’ sarà visibile, così come il JOIN se poco dopo si ri-collega, ma il JOIN/PART/QUIT degli altri duecento utenti che nel mentre se ne sono andati/tornati rimarrà nascosto ai nostri occhi.

(setq rcirc-keywords '("godot" "poedit" "mu4e"))

Un’altra funzione interessante è quella di poter tracciare alcune parole chiave. In questo modo, qualunque canale dove venga menzionato ‘godot‘, ‘poedit’ o ‘mu4e’ apparirà in grossetto nella modeline, e la parola nel buffer della chat evidenziata.

(setq rcirc-server-alist
      '(("irc.freenode.net" :channels ("#emacs"
                                       "#openbsd"
                                       "#openbsd-gaming"
                                       "#postgresql"
                                       "#gemini-italia")))

      rcirc-authinfo '(("freenode" nickserv "op2" "password")))

Per finire, rcirc non sarebbe un client irc se non avesse un sistema per collegarsi in automatico ad alcuni canali e non gestisse l’autenticazione per noi!

$BlogIt: index.gmi,v 1.1 2021/10/20 07:43:02 op Exp $