Questo manuale documenta il client di chat WeeChat, ed è parte del programma stesso.

È possibile trovare l’ultima versione di questo documento qui: http://www.weechat.org/doc

1. Introduzione

WeeChat (Wee Enhanced Environment for Chat) è un client di chat libero, veloce e leggero, realizzato per diversi sistemi operativi.

1.1. Caratteristiche

Le caratteristiche principali:

  • multi-protocollo (IRC, Jabber)

  • connessione a server multipli (con SSL, IPv6, proxy)

  • molte interfacce: Curses (wxWidgets, Gtk e Qt in fase di sviluppo)

  • piccolo, veloce e leggero

  • personalizzabile ed estensibile con plugin e script

  • conforme alle RFC di IRC 1459, 2810, 2811, 2812 e 2813

  • multi-piattaforma (GNU/Linux, *BSD, MacOS X, Windows ed altre)

  • 100% GPL, software libero

La home page di WeeChat si trova qui: http://www.weechat.org/

1.2. Requisiti

Per poter installare WeeChat, è necessario:

  • un sistema GNU/Linux in esecuzione (con gli strumenti di compilazione per i sorgenti), oppure OS compatibile

  • privilegi di root (per installare WeeChat in una cartella di sistema)

  • librerie ncurses

2. Installazione

2.1. Pacchetti binari

I pacchetti binari sono disponibili per molte distribuzioni, incluse:

  • Debian (o qualsiasi distribuzione compatibile): apt-get install weechat-curses

  • Mandriva/RedHat (o qualsiasi distribuzione compatibile con gli RPM): rpm -i /percorso/per/weechat-x.y.z-1.i386.rpm

  • Gentoo: emerge weechat

  • Arch Linux: pacman -S weechat

  • Fedora Core: yum install weechat

  • Sourcemage: cast weechat

Potrebbero risultare utili alcuni pacchetti addizionali, come weechat-plugins.

Per altre distribuzioni, consultare il manuale per le istruzioni di installazione.

2.2. Sorgenti

WeeChat può essere compilato con cmake oppure autotools (tuttavia si raccomanda cmake).

2.2.1. Dipendenze

La seguente tabella mostra l’elenco di pacchetti richiesti o opzionali per compilare WeeChat.

Pacchetto (1) Richiesto Caratteristica

cmake

compilazione (ancora possibile con autotools, ma si raccomanda cmake)

libncursesw5-dev (2)

interfaccia ncurses

libgcrypt11-dev

no

autenticazione SASL per i server IRC che utilizzano il meccanismo DH-BLOWFISH

libgnutls-dev

no

connessione SSL al server IRC

libaspell-dev

no

plugin aspell

libperl-dev

no

plugin perl

python-dev

no

plugin python

ruby1.8-dev

no

plugin ruby

liblua5.1-0-dev

no

plugin lua

tcl-dev (>= 8.5)

no

plugin tcl

asciidoc (>= 8.5.0)

no

compilazione della documentazione (file HTML)

source-highlight

no

evidenziazione della sintassi per i sorgenti nella documentazione HTML

Note
(1) Il nome viene dalla distribuzione Debian GNU/Linux, nomi e versioni dei pacchetti potrebbero essere differenti in versioni e distribuzioni differenti.
(2) WeeChat può essere compilato con libncurses5-dev, ma NON è raccomandato (potrebbero verificarsi bug di visualizzazione).

2.2.2. Compilazione con cmake

  • Installazione nelle cartelle di sistema (richiede privilegi di root):

$ mkdir build
$ cd build
$ cmake ..
$ make
% make install    (come root)
  • Installazione in una cartella personalizzata:

$ mkdir build
$ cd build
$ cmake .. -DPREFIX=/percorso/della/cartella
$ make
$ make install

2.2.3. Compilazione con autotools

  • Installazione nelle cartelle di sistema (richiede privilegi di root):

$ ./configure
$ make
% make install    (come root)
  • Installazione in una cartella personalizzata:

$ ./configure --prefix=/path/to/directory
$ make
$ make install

2.3. Sorgenti git

Attenzione: i sorgenti GIT sono per gli utenti avanzati: potrebbero non compilare o essere instabili. Siete avvisati!

Per ottenere i sorgenti GIT, dare il comando:

$ git clone git://git.sv.gnu.org/weechat.git

Se si usano gli autotools (e non cmake), eseguire questo script:

$ ./autogen.sh

Poi seguire le istruzioni per i sorgenti (consultare sorgenti).

2.4. Segnalare gli errori

Nel caso in cui si verifichino errori, o si desideri segnalare qualsiasi errore futuro di WeeChat, è necessario:

  • compilarlo con informazioni di debug (o installare il pacchetto binario con le informazioni di debug)

  • abilitare i file core sul proprio sistema

  • installare gdb

2.4.1. Informazioni di debug

Se si compila con cmake:

$ cmake .. -DCMAKE_BUILD_TYPE=Debug

Se si compila con gli autotools, il debug è predefinito (--with-debug=1).

Se è stato installato il pacchetto binario, installare il pacchetto weechat-gdb.

2.4.2. File core

Per abilitare i file core, è necessario usare il comando ulimit.

Ad esempio su Linux con la shell bash, aggiungere questa riga al proprio ~/.bashrc:

ulimit -c unlimited

Oppure impostare una dimensione massima:

ulimit -c 200000

2.4.3. Ottenere un backtrace con gdb

In caso di errore di WeeChat, il sistema creerà un file core oppure core.12345 (12345 è l’id del processo). Questo file viene creato nella cartella in cui è in esecuzione WeeChat (e non la cartella dove WeeChat è installato!).

Ad esempio, se weechat-curses è installato in /usr/bin/ ed il file core si trova in /home/xxx/, allora eseguire gdb con questo comando:

gdb /usr/bin/weechat-curses /home/xxx/core
Note
Se è stato installato il pacchetto binario weechat-dbg (ad esempio in Debian), è possibile usare questo percorso per il binario di WeeChat: /usr/lib/debug/usr/bin/weechat-curses

All’interno di gdb, usare il comando bt full per visualizzare il backtrace. Verrà mostrato qualcosa di simile a questo:

(gdb) bt full
#0  0x00007f9dfb04a465 in raise () from /lib/libc.so.6
#1  0x00007f9dfb04b8e6 in abort () from /lib/libc.so.6
#2  0x0000000000437f66 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:351
#3  <signal handler called>
#4  0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, remaining_calls=<value optimized out>)
    at /some_path/src/core/wee-hook.c:1364
        hook_process = 0x254eb90
        status = <value optimized out>
#5  0x000000000044cc7d in hook_timer_exec () at /some_path/src/core/wee-hook.c:1025
        tv_time = {tv_sec = 1272693881, tv_usec = 212665}
        ptr_hook = 0x2811f40
        next_hook = 0x0
#6  0x000000000041b5b0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:319
        hook_fd_keyboard = 0x173b600
        tv_timeout = {tv_sec = 0, tv_usec = 0}
        read_fds = {fds_bits = {0 <repeats 16 times>}}
        write_fds = {fds_bits = {0 <repeats 16 times>}}
        except_fds = {fds_bits = {0 <repeats 16 times>}}
        max_fd = <value optimized out>

Bisogna riportare l’errore agli sviluppatori, e specificare quale azione ha causato l’errore.

Grazie per il vostro aiuto!

3. Utilizzo

3.1. Esecuzione di WeeChat

Argomenti a riga di comando:

-a, --no-connect

Disabilita la connessione automatica ai server all’avvio di WeeChat

-c, --colors

Mostra i colori prefefiniti nel terminale

-d, --dir path

Imposta una cartella come home per WeeChat (utilizzata per i file di configurazione, log, plugin e script dell’utente), il valore predefinito è ~/.weechat

-h, --help

Mostra l’aiuto

-k, --keys

Mostra i tasti predefiniti di WeeChat

-l, --license

Mostra la licenza di WeeChat

-p, --no-plugin

Disabilita il caricamento automatico dei plugin

-s, --no-script

Disabilita il caricamento automatico dei script

-v, --version

Mostra la versione di WeeChat

plugin:option

Opzione per il plugin (consultare la documentazione per ogni plugin)

Per avviare WeeChat, digitare questo comando:

$ weechat-curses

Alla prima esecuzione di WeeChat, viene creato un file di configurazione predefinito. Il file di configurazione viene creato nella cartella: ~/.weechat/weechat.conf.

È possibile modificare questo file per configurare WeeChat a seconda delle proprie esigenze, oppure impostando i parametri con il comando /set all’interno di WeeChat (consultare comandi di WeeChat).

3.2. Layout dello schermo

Esempio di terminale con WeeChat:

┌─────────────────────────────────────────────────────────────────────────────────────────┐
│Benvenuti in #test, questo è un canale di test                                           │
│12:52:27    --> | flashy (n=flashcod@hellix.flashtux.org) è entrato in #test  │@ChanServ │
│12:52:27     -- | Nick #test: [@ChanServ @flashy +_FlashB0t joe mike]         │@flashy   │
│12:52:27     -- | Canale #test: 5 nick (2 ops, 0 halfop, 1 voce, 2 normale)   │+_FlashB0t│
│12:52:27     -- | Canale creato il Tue Jan 27 06:30:17 2009                   │joe       │
│12:54:15 flashy | ehi!                                                        │mike      │
│12:55:01    joe | ciao flashy!                                                │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│                                                                              │          │
│[12:55] [4] [irc/freenode] 3:#test(+n){5}* [Attività: 4,2]                    │          │
│[flashy] ciao joe!█                                                           │          │
└─────────────────────────────────────────────────────────────────────────────────────────┘

Lo schermo è composto dalle seguenti aree:

  • area di chat (centro dello schermo) con le righe di chat, e per ogni riga:

    • ora

    • prefisso (prima di "|")

    • messaggio (dopo di "|")

  • barre che circondano l’area di chat, quelle predefinite sono:

    • barra titolo, in alto rispetto all’area di chat

    • barra stato, in basso rispetto all’area di chat

    • barra input, in basso rispetto alla barra di stato

    • barra nicklist, sulla destra

La barra stato ha i seguenti elementi predefiniti:

Elemento Esempio Descrizione

time

 [12:55]         

ora

buffer_count

 [4]             

numero di buffer aperti

buffer_plugin

 [irc/freenode]  

plugin del buffer attivo (il plugin irc può aggiungere il nome del server irc usato dal buffer)

buffer_number

 3               

numero del buffer corrente

buffer_name

 #test(+n)       

nome del buffer attivo

buffer_nicklist_count

 {5}             

numero di nick nella lista nick

buffer_filter

 *               

indicatore filtraggio: * significa che alcune righe sono filtrate (nascoste), valori vuoti indicano che tutte le righe sono visualizzate

lag

 [Ritardo: 2.5]  

indicatore ritardo, in secondi (nascosto se il ritardo è basso)

hotlist

 [Attività: 4,2] 

elenco dei buffer con attività (messaggi non letti)

completion

 abc(2) def(5)   

elenco di parole per il completamento, con il numero di completamenti possibili per ogni parola

scroll

 -ANCORA(50)-    

indicatore di scorrimento, con il numero di righe sotto l’ultima riga visualizzata

La barra input ha i seguenti elementi predefiniti:

Elemento Esempio Descrizione

input_paste

 [Incollare 7 righe ? [ctrl-Y] Sì [ctrl-N] No] 

chiede all’utente se incollare le righe

input_prompt

 [nick] 

prompt per l’input (nick per il plugin irc)

away

 (assente) 

indicatore di assenza

input_search

 [Ricerca testo] 

indicatore di ricerca testo

input_text

 bla bla... 

testo in input

3.3. Associazione tasti predefinita

3.3.1. Tasti per la riga di comando

Tasti Descrizione e comando

Freccia sinistra
Ctrl + "b"

Passa al carattere precedente nella riga di comando
/input move_previous_char

Freccia destra
Ctrl + "f"

Passa al carattere successivo nella riga di comando
/input move_next_char

Ctrl + freccia sinistra
Alt + "b"

Passa alla parola precedente nella riga di comando
/input move_previous_word

Ctrl + freccia destra
Alt + "f"

Passa alla parola successiva nella riga di comando
/input move_next_word

Home
Ctrl + "a"

Si sposta all’inizio della riga di comando
/input move_beginning_of_line

Fine
Ctrl + "e"

Si sposta alla fine della riga di comando
/input move_end_of_line

Ctrl + "c" poi "b"

Inserisce il codice per il testo in grassetto
/input insert \x02

Ctrl + "c" poi "c"

Inserisce il codice per il testo colorato
/input insert \x03

Ctrl + "c" poi "i"

Inserisce il codice per il testo in corsivo
/input insert \x1D

Ctrl + "c" poi "o"

Inserisce il codice per il reset dei colori
/input insert \x0F

Ctrl + "c" then "r"

Inserisce il codice per l’inversione dei colori
/input insert \x12

Ctrl + "c" poi "u"

Inserisce il codice per il testo sottolineato
/input insert \x15

Canc
Ctrl + "d"

Elimina il carattere successivo nella riga di comando
/input delete_next_char

Backspace
Ctrl + "h"

Elimina il carattere precedente nella riga di comando
/input delete_previous_char

Ctrl + "k"

Elimina dal cursore fino alla fine della riga di comando (la stringa eliminata viene copiata negli appunti)
/input delete_end_of_line

Ctrl + "r"

Cerca il testo nella cronologia del buffer (due volte: cerca testo esatto), ricorrenze successive/precedenti possono essere trovate con le frecce su/giù
/input search_text

Ctrl + "t"

Inverti caratteri
/input transpose_chars

Ctrl + "u"

Elimina dal cursore fino all’inizio della riga di comando (la stringa eliminata viene copiata negli appunti)
/input delete_beginning_of_line

Ctrl + "w"

Elimina la parola precedente nella riga di comando (la stringa eliminata viene copiata negli appunti)
/input delete_previous_word

Ctrl + "y"

Incolla il contenuto degli appunti
/input clipboard_paste

Ctrl + "_"

Annulla l’ultima azione sulla riga di comando
/input undo

Alt + "_"

Ripete l’ultima azione sulla riga di comando
/input redo

Tab

Completa comando o nick (Tab di nuovo: trova prossimo completamento)
/input complete_next

Shift + Tab

Senza completamento: effettua un completamento parziale, con completamento in sospeso: completa con il completamento precedente
/input complete_previous

Qualsiasi carattere

Inserisce carattere alla posizione del cursore nella riga di comando

Invio
Ctrl + "j"
Ctrl + "m"

Esegue comando o invia messaggio (in modalità ricerca: ferma ricerca)
/input return

Freccia in alto

Chiama comando/messaggio precedente (in modalità ricerca: cerca in alto)
/input history_previous

Freccia giù

Chiama comando/messaggio precedente (in modalità ricerca: cerca in basso)
/input history_next

Ctrl + freccia su

Chiama il comando/messaggio precedente nella cronologia globale (identico per tutti i buffer)
/input history_global_previous

Ctrl + freccia giù

Chiama il comando/messaggio successivo nella cronologia globale (identico per tutti i buffer)
/input history_global_next

Alt + "d"

Elimina la parola successiva nella riga di comando (la stringa eliminata viene copiata negli appunti)
/input delete_next_word

Alt + "k"

Cattura un tasto ed inserisce il suo codice (e il comando associato se il tasto esiste) nella riga di comando
/input grab_key_command

Alt + "r"

Elimina l’intera riga di comando
/input delete_line

3.3.2. Tasti per buffer / finestre

Tasti Descrizione e comando

Ctrl + "l" (L)

Ridisegna l’intera finestra
/window refresh

Ctrl + "s" poi Ctrl + "u"

Imposta l’evidenziatore dei messaggi non letti su tutti i buffer
/input set_unread

Ctrl + "x"

Passa al buffer attivo se i buffer sono collegati con lo stesso numero
/input switch_active_buffer

Pagina su

Scorre in alto di una pagina nella cronologia del buffer
/window page_up

Pagina giù

Scorre di una pagina in basso nella cronologia del buffer
/window page_down

Alt + Pagina su

Scorre di qualche riga in alto nella cronologia del buffer
/window scroll_up

Alt + Pagina giù

Scorre di qualche riga in basso nella cronologia del buffer
/window scroll_down

Alt + Home

Scorre in cima al buffer
/window scroll_top

Alt + Fine

Scorre alla fine del del buffer
/window scroll_bottom

Alt + freccia sinistra
Alt + freccia su
Ctrl + "p"
F5

Passa al buffer precedente
/buffer -1

Alt + freccia destra
Alt + freccia giù
Ctrl + "n"
F6

Passa al buffer successivo
/buffer +1

F7

Passa alla finestra precedente
/window -1

F8

Passa alla finestra successiva
/window +1

F9

Scorre il titolo del buffer sulla sinistra
/bar scroll title * x-50%

F10

Scorre il titolo del buffer sulla destra
/bar scroll title * x+50%

F11

Scorre di una pagina in alto nella lista nick
/bar scroll nicklist * y-100%

F12

Scorre di una pagina in basso nella lista nick
/bar scroll nicklist * y+100%

Alt + F11

Sposta all’inizio della lista nick
/bar scroll nicklist * yb

Alt + F12

Sposta alla fine della lista nick
/bar scroll nicklist * ye

Alt + "a"

Passa al buffer successivo con attività (con priorità: evento, messaggio, altro)
/input jump_smart

Alt + "j" poi Alt + "l" (L)

Passa all’ultimo buffer
/input jump_last_buffer

Alt + "j" poi Alt + "r"

Passa al buffer raw IRC
/server raw

Alt + "j" poi Alt + "s"

Passa al buffer server IRC
/server jump

Alt + num (0-9)

Passa al buffer numero (0 = 10)
/buffer *N

Alt + "j" poi numero (01-99)

Passa al buffer numero
/buffer NN

Alt + "n"

Scorre fino all’evento successivo
/window scroll_next_highlight

Alt + "p"

Scorre fino all’evento precedente
/window scroll_previous_highlight

Alt + "u"

Scorre fino alla prima riga non letta nel buffer
/input scroll_unread

Alt + "w" poi Alt + freccia

Passa alla finestra con direzione
/window up (in alto)
/window down (in basso)
/window left (a sinistra)
/window right (a destra)

Alt + "z"

Ingrandimento sulla finestra attiva (Alt + Z di nuovo: ripristina lo stato iniziale della finestra, prima dell’ingrandimento)
/window zoom

Alt + "<"

Passa al buffer precedente nella lista dei buffer visitati
/input jump_previously_visited_buffer

Alt + ">"

Passa al buffer successivo nella lista dei buffer visitati
/input jump_next_visited_buffer

3.3.3. Altri tasti

Tasti Descrizione e comando

Alt + "h"

Pulisce hotlist (notifica di attività su altri buffer)
/input hotlist_clear

Alt + "="

Attiva/disattiva filtri
/filter toggle

3.4. Riga di comando

La riga di comando di WeeChat (nella parte inferiore della finestra) consente di inserire i comandi o di inviare del testo sul buffer.

3.4.1. Sintassi

I comandi iniziano con il carattere "/", seguito dal nome del comando. Ad esempio, per consultare un elenco di opzioni:

/set

Il testo inviato ad un buffer è qualsiasi testo che non comincia con il carattere "/". Per esempio, per inviare il testo ciao sul buffer attivo:

ciao

Ad ogni modo, è possibile iniziare con il carattere "/", aggiungendone poi un altro. Ad esempio, per inviare il testo /set sul buffer attivo:

//set

3.4.2. Codici colore

Per alcuni plugin come IRC, è possibile usare codici colori ed attributi, come segue (digitare Ctrl-C poi la lettera che segue, con il valore opzionale):

^Cb

testo in grassetto

^Ccxx

colore del testo xx (consultare la lista di colori che segue)

^Ccxx,yy

colore del testo xx e di sfondo yy (consultare la lista di colori che segue)

^Co

disabilita colori ed attributi

^Cr

video inverso (inverte il colore del testo con quello di sfondo)

^Cu

testo sottolineato

Note
Lo stesso codice (senza numero per ^Cc) può essere usato per terminare l’attributo.

I codici colore per ^Cc sono:

Codice IRC WeeChat (curses)

00

bianco

white

01

nero

black

02

blu scuro

blue

03

verde scuro

green

04

rosso chiaro

lightred

05

rosso scuro

red

06

rosa scuro

magenta

07

arancione

brown

08

giallo

yellow

09

verde chiaro

lightgreen

10

azzurro scuro

cyan

11

azzurro chiaro

lightcyan

12

blu chiaro

lightblue

13

rosa chiaro

lightmagenta

14

grigio

default

15

grigio chiaro

white

Esempio: visualizza "ciao a tutti!" con "ciao" scritto in blu chiaro grassetto e "a tutti" in rosso chiaro sottolineato:

^Cc12^Cbciao^Cb^Cc04^Cu a tutti^Cu^Cc!

3.5. Opzioni di WeeChat (weechat.conf)

  • weechat.color.bar_more

    • descrizione: colore del testo '+' allo scorrimento delle barre

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightmagenta)

  • weechat.color.chat

    • descrizione: colore del testo per la chat

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • weechat.color.chat_bg

    • descrizione: colore di sfondo per la chat

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • weechat.color.chat_buffer

    • descrizione: colore del testo per i nomi dei buffer

    • tipo: colore

    • valori: un nome colore (valore predefinito: white)

  • weechat.color.chat_channel

    • descrizione: colore del testo per i nomi dei canali

    • tipo: colore

    • valori: un nome colore (valore predefinito: white)

  • weechat.color.chat_delimiters

    • descrizione: colore del testo per i delimitatori

    • tipo: colore

    • valori: un nome colore (valore predefinito: green)

  • weechat.color.chat_highlight

    • descrizione: colore del testo per il prefisso di evento

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • weechat.color.chat_highlight_bg

    • descrizione: colore di sfondo per il prefisso di evento

    • tipo: colore

    • valori: un nome colore (valore predefinito: magenta)

  • weechat.color.chat_host

    • descrizione: colore del testo per i nomi host

    • tipo: colore

    • valori: un nome colore (valore predefinito: cyan)

  • weechat.color.chat_nick

    • descrizione: colore del testo per i nick nella finestra di chat

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightcyan)

  • weechat.color.chat_nick_colors

    • descrizione: colore del testo per i nick (elenco separato da virgole di colori)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue")

  • weechat.color.chat_nick_other

    • descrizione: colore del testo per gli altri nick nel buffer privato

    • tipo: colore

    • valori: un nome colore (valore predefinito: cyan)

  • weechat.color.chat_nick_self

    • descrizione: colore del testo per il nick locale nella finestra di chat

    • tipo: colore

    • valori: un nome colore (valore predefinito: white)

  • weechat.color.chat_prefix_action

    • descrizione: colore del testo per il prefisso di azione

    • tipo: colore

    • valori: un nome colore (valore predefinito: white)

  • weechat.color.chat_prefix_buffer

    • descrizione: colore del testo per il nome del buffer (prima del prefisso, quando più buffer sono uniti con lo stesso nome)

    • tipo: colore

    • valori: un nome colore (valore predefinito: brown)

  • weechat.color.chat_prefix_error

    • descrizione: colore del testo per il prefisso di errore

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • weechat.color.chat_prefix_join

    • descrizione: colore del testo per il prefisso di entrata<

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightgreen)

  • weechat.color.chat_prefix_more

    • descrizione: colore del testo per '+' quando il prefisso è troppo lungo

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightmagenta)

  • weechat.color.chat_prefix_network

    • descrizione: colore del testo per il prefisso di rete

    • tipo: colore

    • valori: un nome colore (valore predefinito: magenta)

  • weechat.color.chat_prefix_quit

    • descrizione: colore del testo per il prefisso di uscita

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightred)

  • weechat.color.chat_prefix_suffix

    • descrizione: colore del testo per il suffisso (dopo il prefisso)

    • tipo: colore

    • valori: un nome colore (valore predefinito: green)

  • weechat.color.chat_read_marker

    • descrizione: colore del testo per l'evidenziatore di dati non letti

    • tipo: colore

    • valori: un nome colore (valore predefinito: magenta)

  • weechat.color.chat_read_marker_bg

    • descrizione: colore di sfondo per l'evidenziatore di dati non letti

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • weechat.color.chat_server

    • descrizione: colore del testo per i nomi dei server

    • tipo: colore

    • valori: un nome colore (valore predefinito: brown)

  • weechat.color.chat_text_found

    • descrizione: colore del testo per l'evidenziatore sulle righe per il testo trovato

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • weechat.color.chat_text_found_bg

    • descrizione: colore di sfondo per l'evidenziatore sulle righe per il testo trovato

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightmagenta)

  • weechat.color.chat_time

    • descrizione: colore del testo per l'orario nella finestra di chat

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • weechat.color.chat_time_delimiters

    • descrizione: colore del testo per i delimitator dell'orario

    • tipo: colore

    • valori: un nome colore (valore predefinito: brown)

  • weechat.color.chat_value

    • descrizione: colore del testo per i valori

    • tipo: colore

    • valori: un nome colore (valore predefinito: cyan)

  • weechat.color.input_actions

    • descrizione: colore del testo per le azioni sulla riga di input

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightgreen)

  • weechat.color.input_text_not_found

    • descrizione: colore del testo per la ricerca del testo fallita sulla riga di input

    • tipo: colore

    • valori: un nome colore (valore predefinito: red)

  • weechat.color.nicklist_away

    • descrizione: colore del testo per i nick assenti

    • tipo: colore

    • valori: un nome colore (valore predefinito: cyan)

  • weechat.color.nicklist_group

    • descrizione: colore del testo per i gruppi nella lista nick

    • tipo: colore

    • valori: un nome colore (valore predefinito: green)

  • weechat.color.nicklist_offline

    • descrizione: colore del testo per i nick non in linea

    • tipo: colore

    • valori: un nome colore (valore predefinito: blue)

  • weechat.color.separator

    • descrizione: colore di sfondo per i separatori delle finestre (quando divise)

    • tipo: colore

    • valori: un nome colore (valore predefinito: blue)

  • weechat.color.status_data_highlight

    • descrizione: colore del testo per il buffer con evento (barra di stato)

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightmagenta)

  • weechat.color.status_data_msg

    • descrizione: colore del testo per il buffer con nuovi messaggi (barra di stato)

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • weechat.color.status_data_other

    • descrizione: colore del testo per il buffer con nuovi dati (non messaggi) (barra di stato)

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • weechat.color.status_data_private

    • descrizione: colore del testo per il buffer con un messaggio privato (barra di stato)

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightgreen)

  • weechat.color.status_filter

    • descrizione: colore del testo per l'indicatore di filtro nella barra di stato

    • tipo: colore

    • valori: un nome colore (valore predefinito: green)

  • weechat.color.status_more

    • descrizione: colore del testo per il buffer con nuovi dati (barra di stato)

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • weechat.color.status_name

    • descrizione: colore del testo per il nome del buffer corrente nella barra di stato

    • tipo: colore

    • valori: un nome colore (valore predefinito: white)

  • weechat.color.status_name_ssl

    • descrizione: colore del testo per il nome del buffer corrente nella barra di stato, se i dati sono messi al sicuro con un protocollo come SSL

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightgreen)

  • weechat.color.status_number

    • descrizione: colore del testo per il numero del buffer corrente nella barra di stato

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • weechat.color.status_time

    • descrizione: colore del testo per l'ora (barra di stato)

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • weechat.completion.default_template

    • descrizione: modello di completamento predefinito (consulta la documentazione per codici e valori del template)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%(nicks)|%(irc_channels)")

  • weechat.completion.nick_add_space

    • descrizione: aggiungi uno spazio al completamento del nick (quando non è la prima parola sulla riga di comando)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.completion.nick_completer

    • descrizione: stringa inserita dopo il completamento del nick

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: ":")

  • weechat.completion.nick_first_only

    • descrizione: completa solo con il primo nick trovato

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.completion.nick_ignore_chars

    • descrizione: caratteri ignorati per il completamento dei nick

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "[]-^")

  • weechat.completion.partial_completion_alert

    • descrizione: avvisa l'utente quando si verifica un completamento parziale

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.completion.partial_completion_command

    • descrizione: completa parzialmente i nomi dei comandi (arresta quando vengono trovati più comandi con le stesse lettere)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.completion.partial_completion_command_arg

    • descrizione: completa parzialmente gli argomenti dei comandi (arresta quando vengono trovati più argomenti con lo stesso prefisso)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.completion.partial_completion_count

    • descrizione: visualizza contatore per ogni completamento parziale nella barra degli oggetti

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.completion.partial_completion_other

    • descrizione: completa parzialmente comandi esterni (arresta quando vengono trovate più parole che iniziano con le stesse lettere)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.history.display_default

    • descrizione: numero massimo predefinito di comandi da visualizzare nella cronologia (0 = nessun limite)

    • tipo: intero

    • valori: 0 .. 2147483647 (valore predefinito: 5)

  • weechat.history.max_commands

    • descrizione: numero massimo di comandi utente nella cronologia (0 = nessun limite)

    • tipo: intero

    • valori: 0 .. 2147483647 (valore predefinito: 100)

  • weechat.history.max_lines

    • descrizione: numero massimo di righe nella cronologia per buffer (0 = nessun limite)

    • tipo: intero

    • valori: 0 .. 2147483647 (valore predefinito: 4096)

  • weechat.history.max_visited_buffers

    • descrizione: numero massimo di buffer visitati da memorizzare

    • tipo: intero

    • valori: 0 .. 1000 (valore predefinito: 50)

  • weechat.look.align_end_of_lines

    • descrizione: allineamento per la fine delle righe (tutte le righe tranne la prima): iniziano al di sotto di questi dati (data, buffer, prefissio, suffisso, messaggio (predefinito))

    • tipo: intero

    • valori: time, buffer, prefix, suffix, message (valore predefinito: message)

  • weechat.look.buffer_notify_default

    • descrizione: livello predefinito di notifica per i buffer (utilizzato per comunicare a WeeChat se il buffer deve essere visualizzato nella hotlist oppure no, a seconda dell'importanza del messaggio): all: tutti i messaggi (predefinito), message=messaggi+eventi, highlight=solo eventi, none=non viene mai visualizzato nella hotlist

    • tipo: intero

    • valori: none, highlight, message, all (valore predefinito: all)

  • weechat.look.buffer_time_format

    • descrizione: formato dell'ora per ogni riga visualizzata nei buffer (consultare man strftime per gli specificatori data/ora), i colori sono consentiti nel formato "${colore}", nell'orario italiano ad esempio: "${lightblue}%H${white}%M{lightred}%S"

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%H:%M:%S")

  • weechat.look.color_real_white

    • descrizione: se impostato, utilizza il colore bianco reale, disabilitato sui terminali con lo sfondo bianco (se non utilizzato, l'opzione dovrebbe essere attivata per visualizzare il bianco reale invece del colore di primo piano predefinito del terminale)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.look.command_chars

    • descrizione: caratteri usati per determinare se la stringa in input è un comando oppure no: l'input deve iniziare con uno di questi caratteri: la barra ("/") è sempre considerata come prefisso per comando (esempio: ".$")

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • weechat.look.confirm_quit

    • descrizione: se impostata, il comando /quit deve essere confermato con l'argomento extra "-yes" (consultare /help quit)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.look.day_change

    • descrizione: mostra un messaggio speciale al cambio di data

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.day_change_time_format

    • descrizione: formato dell'ora visualizzato al cambio di data

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%a, %d %b %Y")

  • weechat.look.highlight

    • descrizione: elenco separato da virgole di finestre da evidenziare (maiuscole/minuscole, le parole potrebbero cominciare o terminare con "*" per un riscontro parziale)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • weechat.look.highlight_regex

    • descrizione: l'espressione regolare usata per verificare se un messaggio contiene un evento oppure no, almeno una corrispondenza nella stringa deve essere circondata da caratteri :(alfanumerici, "-", "_" or "|"), l'espressione regolare è esatta, esempio "FlashCode|flashy"

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • weechat.look.hline_char

    • descrizione: carattere utilizzato per disegnare le righe orizzontali; notare che un valore vuoto disegnerà una vera riga con ncurses, ma può causare errori con la selezione dell'URL in alcuni terminali

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "-")

  • weechat.look.hotlist_names_count

    • descrizione: numero massimo di nomi nella hotlist (0 = nessun nome visualizzato, solo numeri dei buffer)

    • tipo: intero

    • valori: 0 .. 32 (valore predefinito: 3)

  • weechat.look.hotlist_names_length

    • descrizione: lunghezza massima dei nomi nella hotlist (0 = nessun limite)

    • tipo: intero

    • valori: 0 .. 32 (valore predefinito: 0)

  • weechat.look.hotlist_names_level

    • descrizione: livello per la visualizzazione dei nomi nella hotlist (combinazione di: 1=entrata/uscita, 2=messaggio, 4=privato, 8=evento, per esempio: 12=privato+evento)

    • tipo: intero

    • valori: 1 .. 15 (valore predefinito: 12)

  • weechat.look.hotlist_names_merged_buffers

    • descrizione: se impostato, forza la visualizzazione dei nomi nella hotlist per i buffer uniti

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.look.hotlist_short_names

    • descrizione: se impostato, usa i nomi brevi per visualizzare i nomi dei buffer nella hotlist (inizia dopo il primo '.' nel nome)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.hotlist_sort

    • descrizione: tipo di ordinamento della hotlist (group_time_asc (predefinito), group_time_desc, group_number_asc, group_number_desc, number_asc, number_desc)

    • tipo: intero

    • valori: group_time_asc, group_time_desc, group_number_asc, group_number_desc, number_asc, number_desc (valore predefinito: group_time_asc)

  • weechat.look.hotlist_unique_numbers

    • descrizione: mantiene solo numeri univoci nella hotlist (vale solo per gli elementi della hotlist per cui il nome NON viene visualizzato dopo il numero)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.input_share

    • descrizione: condivide comandi, testo o entrambi in input per tutti i buffer (resta tuttavia la cronologia locale per ogni buffer)

    • tipo: intero

    • valori: none, commands, text, all (valore predefinito: none)

  • weechat.look.input_share_overwrite

    • descrizione: se impostato e con l'input condiviso, sovrascrive sempre l'input nel buffer di destinazione

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.look.input_undo_max

    • descrizione: numero massimo di righe nella cronologia per buffer (0 = nessun limite)

    • tipo: intero

    • valori: 0 .. 65535 (valore predefinito: 32)

  • weechat.look.item_time_format

    • descrizione: formato dell'ora per l'elemento barra "time" (consultare man strftime per gli specificatori data/ora)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%H:%M")

  • weechat.look.jump_current_to_previous_buffer

    • descrizione: passa al buffer visualizzato in precedenza al passaggio del numero di buffer corrente con /buffer *N (dove N è un numero di buffer), per passare facilmente ad un altro buffer, e poi tornare a quello attuale

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.jump_previous_buffer_when_closing

    • descrizione: passa al buffer visitato in precedenza alla chiusura di un buffer (se disabilitato, allora passa al buffer numero -1)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.nickmode

    • descrizione: mostra modalità nick ((half)op/voice) prima di ogni nick

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.nickmode_empty

    • descrizione: mostra spazio se il nick non è in modalità (half)op/voice

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.look.paste_max_lines

    • descrizione: numero massimo di righe da incollare senza conferma dell'utente (0 = disabilita questa caratteristica)

    • tipo: intero

    • valori: 0 .. 2147483647 (valore predefinito: 3)

  • weechat.look.prefix_action

    • descrizione: prefisso per i messaggi di azione

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: " *")

  • weechat.look.prefix_align

    • descrizione: allineamento prefisso (none, left, right (predefinito))

    • tipo: intero

    • valori: none, left, right (valore predefinito: right)

  • weechat.look.prefix_align_max

    • descrizione: dimensione massima prefisso (0 = nessuna dimensione massima)

    • tipo: intero

    • valori: 0 .. 128 (valore predefinito: 0)

  • weechat.look.prefix_align_min

    • descrizione: dimensione minima per il prefisso

    • tipo: intero

    • valori: 0 .. 128 (valore predefinito: 0)

  • weechat.look.prefix_align_more

    • descrizione: mostra '+' se il prefisso è troncato

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.prefix_buffer_align

    • descrizione: prefisso di allineamento per il nome del buffer, quando più buffer vengono uniti con lo stesso numero (none (nessuno), left(sinistra), right(destra - predefinito)

    • tipo: intero

    • valori: none, left, right (valore predefinito: right)

  • weechat.look.prefix_buffer_align_max

    • descrizione: allineamento del prefisso per nome buffer, quando più buffer sono uniti con lo stesso numero (0 = nessuna dimensione massima)

    • tipo: intero

    • valori: 0 .. 128 (valore predefinito: 0)

  • weechat.look.prefix_buffer_align_more

    • descrizione: visualizza '+' se il nome del buffer è troncato (quando più buffer sono uniti con lo stesso numero)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.prefix_error

    • descrizione: prefisso per i messaggi di errore

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "=!=")

  • weechat.look.prefix_join

    • descrizione: prefisso per i messaggi di entrata

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "-->")

  • weechat.look.prefix_network

    • descrizione: prefisso per i messaggi di rete

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "--")

  • weechat.look.prefix_quit

    • descrizione: prefisso per i messaggi di uscita

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "<--")

  • weechat.look.prefix_suffix

    • descrizione: stringa visualizzata dopo il prefisso

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "|")

  • weechat.look.read_marker

    • descrizione: usa un evidenziatore (riga o carattere) sui buffer per mostrare la prima riga non letta

    • tipo: intero

    • valori: none, line, dotted-line, char (valore predefinito: dotted-line)

  • weechat.look.read_marker_always_show

    • descrizione: mostra sempre l'evidenziatore di lettura, anche se si trova dopo l'ultima riga del buffer

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.look.save_config_on_exit

    • descrizione: salva file di configurazione all'uscita

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.save_layout_on_exit

    • descrizione: salva layout all'uscita (buffer, finestre, o entrambi)

    • tipo: intero

    • valori: none, buffers, windows, all (valore predefinito: none)

  • weechat.look.scroll_amount

    • descrizione: le righe da scorrere con scroll_up e scroll_down

    • tipo: intero

    • valori: 1 .. 2147483647 (valore predefinito: 3)

  • weechat.look.scroll_page_percent

    • descrizione: percentuale della schermata da scorrere in alto o in basso (per esempio 100 indica una pagina intera, 50 metà)

    • tipo: intero

    • valori: 1 .. 100 (valore predefinito: 100)

  • weechat.look.search_text_not_found_alert

    • descrizione: avvisa l'utente quando il testo cercato non viene trovato nel buffer

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.set_title

    • descrizione: imposta titolo per la finestra (terminale per interfacce Curses) con nome e versione

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.look.time_format

    • descrizione: formato dell'ora per le date convertite a stringhe e visualizzate nei messaggi

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%a, %d %b %Y %T")

  • weechat.network.gnutls_ca_file

    • descrizione: file contenente le autorità certificative ("%h" sarà sostituito dalla home di WeeChat, "~/.weechat come predefinita)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%h/ssl/CAs.pem")

  • weechat.network.gnutls_handshake_timeout

    • descrizione: timeout (in secondi) per l'handshake di gnutls

    • tipo: intero

    • valori: 1 .. 2147483647 (valore predefinito: 30)

  • weechat.plugin.autoload

    • descrizione: elenco separato da virgole di plugin da caricare automaticamente all'avvio, "*" equivale a tutti i plugin trovati. un nome che comincia con "!" è un valore negativo per impedire il caricamento di un plugin, i nomi possono iniziare o finire con "*" per corrispondere a più plugin (esempi: "*" oppure "*,!lua,!tcl")

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "*")

  • weechat.plugin.debug

    • descrizione: abilita come predefinito il debug per tutti i plugin (opzione disabilita di predefinito, caldamente raccomandato)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • weechat.plugin.extension

    • descrizione: estensione standard dei plugin nei nomi file (per esempio ".so" sotto Linux oppure ".dll" sotto Microsoft Windows)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: ".so")

  • weechat.plugin.path

    • descrizione: percorso per la ricerca dei plugin ("%h" sarà sostituito dalla home di WeeChat, "~/.weechat come predefinita)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%h/plugins")

  • weechat.plugin.save_config_on_unload

    • descrizione: salva i file di configurazione alla disattivazione dei plugin

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.startup.command_after_plugins

    • descrizione: comando eseguito all'avvio di WeeChat, dopo il caricamento dei plugin

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • weechat.startup.command_before_plugins

    • descrizione: comando eseguito all'avvio di WeeChat, prima del caricamento dei plugin

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • weechat.startup.display_logo

    • descrizione: visualizza il logo di WeeChat all'avvio

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • weechat.startup.display_version

    • descrizione: visualizza la versione di WeeChat all'avvio

    • tipo: bool

    • valori: on, off (valore predefinito: on)

3.6. Comandi di WeeChat

/away [-all] [messaggio]
  attiva/disattiva lo stato di assenza

       -all: attiva/disattiva lo stato di assenza su tutti i server connessi
  messaggio: messaggio di assenza (se non specificato, lo stato di assenza viene rimosso)
/bar [add nome_barra tipo[,cond1,cond2,...] posizione dimensione separatore elemento1,elemento2,...] | [default] | [del nome_barra|-all] | [set nome_barra opzione valore] | [hide|show|toggle nome_barra] | [scroll nome_barra buffer scroll_value] | [list] | [listfull] | [listitems]
  gestione barre

            add: aggiungi una nuova barra
     nome_barra: nome della barra (deve essere unico)
           tipo: root: fuori dalle finestre,
                 window: all'interno delle finestre, con opzioni condizionali (a seguire)
      cond1,...: condizione(i) per la visualizzazione della barra (solo per quelle di tipo "window"):
                   active: sulla finestra attiva
                 inactive: sulle finestre inattive
                 nicklist: sulle finestre con le liste nick
                 senza condizioni, la barra  viene sempre visualizzata
      posizione: bottom (basso), top (alto), left (sinistra) or right (destra)
     dimensione: dimensione della barra (in caratteri)
     separatore: 1 per utilizzare un separatore (riga), 0 o nessun valore corrisponde a nessun separatore
  elemento1,...: elementi per questa barra (possono essere separati da virgole (spazio tra gli elementi) or "+" (elementi incollati))
        default: crea barre predefinite
            del: elimina una barra (o tutte le barre con -all)
            set: imposta un valore per una proprietà della barra
        opzione: opzione da modificare (per un elenco di opzioni, consultare /set weechat.bar.<nome_barra>.*)
         valore: nuovo valore per l'opzione
           hide: nasconde una barra
           show: mostra una barra nascosta
         toggle: nasconde/mostra una barra
         scroll: scorre la barra in alto/basso
         buffer: nome del buffer da scorrere ('*' sta per buffer corrente, è consigliato utilizzare '*' per le barre root)
   scroll_value: valore per lo scorrimento: 'x' o 'y', seguito da '+', '-', 'b' (inizio) o 'e' (fine), valore (per +/-), e un opzionale %% (per scorrere di %% di larghezza/altezza, altrimenti il valore è un numero di caratteri)
           list: elenca tutte le barre
       listfull: elenca tutte le barre (dettagliato)
      listitems: elenca tutti gli elementi barra

  Esempi:
    crea  una barra con l'ora, il numero del buffer + nome, e completamento:
      /bar add miabarra root bottom 1 0 [time],buffer_number+:+buffer_name,completion
    nasconde una barra:
      /bar hide mibarra
    scorre lista nick di 10 linee in basso sul buffer corrente:
      /bar scroll nicklist * y+10
    scorre la lista nick una pagina in su sul buffer #weechat:
      /bar scroll nicklist #weechat y-100%
    scorre fino alla fine della lista nick sul buffer corrente:
      /bar scroll nicklist * ye
/buffer [clear [numero | -merged | -all] | move numero | merge numero | unmerge [numero] | close [n1[-n2]] | list | notify livello | localvar | set proprietà valore | get proprietà |numero | nome]
  gestione buffer

     clear: pulisce il contenuto del buffer (numero per un buffer, -merged per i buffer uniti, -all per tutti i buffer, o nulla per quello corrente)
      move: sposta buffer nella lista (può essere relativo, ad esempio -1)
     merge: unisce il buffer corrente ad un altro (l'area di chat sarà un mix di entrambi)
            (con ctrl-x si alterna tra i buffer uniti)
   unmerge: stacca il buffer da altri buffer con lo stesso numero
     close: chiudi buffer (numero/range opzionale)
      list: elenca i buffer (nessun parametro implica questa lista)
    notify: imposta il livello di notifica per il buffer corrente: questo livello determina se il buffer verrà aggiunto alla hotlist oppure no:
                 none: mai
            highlight: solo per gli eventi
              message: per i messaggi da tutti gli utenti + eventi
                  all: tutti i messaggi
                reset: ripristina il valore predefinito (tutto)
  localvar: visualizza la variabile locale per il buffer corrente
       set: imposta una proprietà per il buffer corrente
       get: visualizza una proprietà del buffer corrente
    number: passa al buffer di numero in numero:
            '+': passo relativo, aggiunge il numero a quello corrente
            '-': passo relativo, sottrae il numero da quello corrente
            '*': passa al numero, utilizzando l'opzione "weechat.look.jump_current_to_previous_buffer"
      nome: passa al buffer di nome (parziale)

  Esempi:
   pulisci buffer corrente:
      /buffer clear
    sposta buffer al numero 5:
      /buffer move 5
    unisci al buffer core:
      /buffer merge 1
    stacca buffer:
      /buffer unmerge
    chiudi buffer corrente:
      /buffer close
    chiudi buffer da 5 a 7:
      /buffer close 5-7
    salta a #weechat:
      /buffer #weechat
    salta al buffer successivo:
      /buffer +1
/color [add pair [alias] [fg,bg]] | [del pair] | switch
  definisce i colori predefiniti e visualizza la tavolozza dei colori

     add: aggiunge una coppia di colore
     del: elimina una coppia di colore
  switch: passa tra i colori di WeeChat/terminale
    pair: numero della coppia (>= 1)
   alias: nome per il colore (ad esempio: "arancio")
   fg,bg: numero di coppia per il primo piano e lo sfondo (-1 per il primo piano o sfondo del terminale predefinito)

  Senza argomenti, il comando visualizza i colori in un nuovo buffer.

  Esempi:
    aggiunge il colore 214 con l'alias "arancio":
      /color add 214 orange
    aggiunge il colore 250 con arancio su blu:
      /color add 250 214,4 arancio_blu
    elimina il colore 214:
      /color del 214
/command plugin comando
  esegui comando o plugin di WeeChat esplicito

   plugin: nome plugin ('weechat' per il comando interno di WeeChat)
  comando: comando da eseguire (una '/' viene aggiunta automaticamente se non trovata all'inizio del comando)
/debug [list | set plugin livello | dump [plugin] | buffer | windows | term]
  attiva debug per core/plugin

       set: imposta il livello di log per il plugin
    plugin: nome del plugin ("core" per il core di WeeChat)
   livello: livello di debug per il plugin (0 = disabilita debug)
      dump: salva il dump della memoria nel file di log di Weechat (lo stesso dump viene salvato quando WeeChat va in crash)
    buffer: esegue il dump del contenuto con valori esadecimali nel file di log
   windows: visualizza l'albero delle finestre
      term: visualizza informazioni sul terminale e i colori disponibili
/filter [list] | [enable|disable|toggle [nome]] | [add nome plugin.buffer tag regex] | [del nome|-all]
  filtra messaggi nei buffer, per nascondere/mostrare in base a tag o regexp

           list: elenca tutti i filtri
         enable: abilita filtri (i filtri sono abilitati di default)
        disable: disabilita filtri
         toggle: abilita/disabilita filtri
           nome: nome del filtro
            add: aggiunge un filtro
            del: elimina un filtro
           -all: elimina tutti i filtri
  plugin.buffer: plugin e buffer in cui il filtro è attivo ("*" per tutti i buffer)
            tag: elenco di tag separati da virgole, per esempio: "irc_join,irc_part,irc_quit"
          regex: espressione regolare da cercare nella riga
                 - utilizzare ' ' per separare il prefisso dal messaggio, caratteri speciali come "|" devono essere preceduti dal carattere escape: '\|')
                 - se l'espressione regolare inizia con '!', il risultato corrispondente viene invertito (usare '\!' per iniziare con '!')

                nota: vengono create due espressioni regolari: una per il prefisso e l'altra per il messaggio

  Il tasto predefinito alt+'=' abilita/disabilita il filtro.

  Tag utilizzati di frequente:
    no_filter, no_highlight, no_log, log0..log9 (livello di log),
    notify_message, notify_private, notify_highlight,
    nick_xxx (xxx è il nick nel messaggio),
    irc_xxx (xxx è il nome comando o il numero, consultare /server raw),   irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.

  Esempi:
    usa il filtro intelligente IRC per i messaggi di entrata/uscita/abbandono:
       /filter add irc_smart * irc_smart_filter *
    filtra tutti i messaggi entrata/uscita/abbandono di IRC:
       /filter add joinquit * irc_join,irc_part,irc_quit *
    filtra i nick visualizzati all'ingresso in un canale o con /names:
      /filter add nicks * irc_366 *
    filtra il nick "tizio" sul canale IRC #weechat
      /filter add tizio irc.freenode.#esempio * tizio\t
    filtra solo il nick "caio" sul canale IRC #test:
      /filter add caio irc.freenode.#test * !caio\t
    filtra le righe contententi la parola "spam":
      /filter add filterspam * * spam
    filtra le righe contententi "weechat fa schifo" sul canale IRC #weechat:
      /filter add schifo irc.freenode.#weechat * weechat fa schifo
/help [comando | opzione]
  visualizza l'aiuto su comandi e opzioni

  comando: nome comando
  opzione: nome opzione (utilizza /set per vedere l'elenco)
/history [clear | valore]
  mostra la cronologia dei comandi del buffer

   clear: pulisci cronologia
  valore: numero delle voci nella cronologia da mostrare
/input return | complete_next | complete_previous | search_next | delete_previous_char | delete_next_char | delete_previous_word | delete_next_word | delete_beginning_of_line | delete_end_of_line | delete_line | clipboard_paste | transpose_chars | undo | redo | move_beginning_of_line | move_end_of_line | move_previous_char | move_next_char | move_previous_word | move_next_word | history_previous | history_next | history_global_previous | history_global_next | jump_smart | jump_last_buffer | jump_previously_visited_buffer | jump_next_visited_buffer | hotlist_clear | grab_key | grab_key_command | scroll_unread | set_unread | set_unread_current_buffer | switch_active_buffer | switch_active_buffer_previous | insert [args]
  funzioni per la riga di comando

  Questo comando è utilizzato da combinazioni di tasti o plugin.
/key [list | listdefault | listdiff] | [bind tasto [comando [args]]] | [unbind tasto] | [reset tasto] | [resetall -yes] | [missing]
  associa/disassocia tasti

         list: elenca tutti i tasti correnti (senza argomento, viene visualizzata questa lista)
  listdefault: elenca i tasti predefiniti
     listdiff: elenca le differenze tra tasti attuali e predefiniti (tasti aggiunti, ridefiniti o eliminati)
         bind: associa un comando ad un tasto o visualizza il comando associato al tasto
       unbind: rimuove una associazione di tasti
        reset: ripristina un tasto all'assegnazione predefinita
     resetall: ripristina le associazioni ai valori predefiniti ed elimina TUTTE le associazioni personalizzate (usare con cautela!)
      missing: aggiunge tasti mancanti (utilizzando le associazioni predefinite), utile dopo l'installazione di una nuova versione di WeeChat

  Al momento di associare un comando ad un tasto si raccomanda di utilizzare il tasto alt+k (oppure Esc e k), e digitare il tasto da associare: il codice tasto verrà inserito nella riga di comando.

  Esempi:
    il tasto alt-x per alternare la barra della nicklist:
      /key bind meta-x /bar toggle nicklist
    il tasto alt-r per passare al canale IRC #weechat:
      /key bind meta-r /buffer #weechat
    ripristinare l'associazione predefinita per il tasto alt-r:
      /key reset meta-r
/layout [[save | apply | reset] [buffers | windows]]
  salva/applica/ripristina il layout per i buffer e le finestre

     save: salva il layout corrente
    apply: applica il layout salvato
    reset: elimina il layout salvato
  buffers: salva/applica modifiche solo ai buffer (ordine dei buffer)
  windows: salva/applica modifiche solo alle finestre (buffer visualizzato da ogni finestra)

  Senza argomenti, il comando visualizza il layout salvato.
/mute [-current | -buffer nome | -all] comando
  esegue un comando in silenzio

  -current: nessun output sul buffer corrente
   -buffer: nessun output sul buffer specificato
      nome: nome completo del buffer (esempi: "irc.server.freenode", "irc.freenode.#weechat")
      -all: nessun output su TUTTI i buffer
   command: comando da eseguire in silenzio (una '/' viene aggiunta automaticamente all'inizio del comando se non trovata)

  Se non viene specificata una destinazione (-current, -buffer o -all), la destinazione predefinita è il buffer core di WeeChat.

  Esempi:
    salva la configurazione:
      /mute save
    messaggio sul canale IRC corrente:
      /mute -current msg * ciao!
    messaggio sul canale #weechat:
      /mute -buffer irc.freenode.#weechat msg #weechat ciao!
/plugin [list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]
  elenca/attiva/disattiva plugin

      list: elenca i plugin attivi
  listfull: elenca i plugin attivi (dettagliato)
      load: carica un plugin
  autoload: attiva automaticamente i plugin nella cartella utente o di sistema
    reload: riattiva un plugin (se non specificato, disattiva i plugin e liriattiva automaticamente)
    unload: disattiva uno o tutti i plugin

  Senza argomenti, questo comando elenca i plugin attivati.
/proxy [add nome_proxy tipo indirizzo porta [nome [password]]] | [del nome_proxy|-all] | [set nome_proxy opzione valore] | [list]
  gestione proxy

            add: aggiungi un nuovo proxy
     nome_proxy: nome del proxy (deve essere unico)
           tipo: http, socks4 o socks5
      indirizzo: IP o nome host
           port: porta
         utente: nome utente (opzionale)
       password: password (opzionale)
            del: elimina un proxy (o tutti i proxy con -all)
            set: imposta un valore per una proprietà del proxy
        opzione: opzione da modificare (per un elenco di opzioni, consultare /set weechat.proxy.<nome_proxy>.*)
         valore: nuovo valore per l'opzione
           list: elenca tutti i proxy

  Esempi:
    crea un proxy http, in esecuzione su host locale, porta 8888:
      /proxy add locale http 127.0.0.1 8888
    crea un proxy http utilizzando il protocollo IPv6:
      /proxy add locale http 127.0.0.1 8888
      /proxy set locale ipv6 on
    crea un proxy socks5 con utente/password:
      /proxy add mioproxy socks5 esempio.host.org 3128 mioutente miapassword
    elimina un proxy:
      /proxy del mioproxy
/quit [-yes] [argomenti]
  esce da WeeChat

       -yes: richiesto se l'opzione option weechat.look.confirm_quit è abilitata
  argomenti: testo inviato con il segnale "quit"
             (ad esempio il plugin irc usa questo testo per inviare il messaggio di uscita al server)
/reload [file [file....]]
  ricarica i file di configurazione da disco

  file: file di configurazione da ricaricare

  Senza argomento, tutti i file (WeeChat e plugin) vengono ricaricati.
/save [file [file....]]
  salva i file di configurazione su disco

  file: file di configurazione da salvare

  Senza argomento, tutti i file (WeeChat e plugin) verranno salvati.
/set [opzione [valore]]
  imposta le opzioni di configurazione

  opzione: nome dell'opzione
     valore: nuovo valore per l'opzione

  Il nuovo valore può essere, in base al tipo di variabile:
       bool: on, off oppure alterna
     intero: numero, ++numero o --numero
    stringa: qualsiasi stringa ("" per le stringhe vuote)
     colore: nome colore, ++numero o --numero

  Per tutti i tipi, è possibile utilizzare un valore nullo per eliminare il valore dell'opzione (non definito). Funziona solo per alcune variabili speciali dei plugin.
/unset [opzione]
  annulla/ripristina opzione

  opzione: nome di un'opzione (può cominciare o finire con "*" per il ripristino di più opzioni, attenzione!)

  A seconda dell'opzione, essa viene ripristinata (per le opzioni standard) o rimossa (per le impostazioni opzionali, come i valori del server)
/upgrade [percorso_del_binario]
  aggiorna WeeChat senza disconnettere dai server

  percorso_del_binario: percorso del binario di WeeChat (quello corrente è il predefinito)

  Questo comando esegue nuovamente un binario WeeChat, perciò deve essere stato compilato o installato con un gestore di pacchetti prima di eseguire questo comando.

  Il processo di aggiornamento è diviso in 4 fasi:
    1. salvataggio della sessione in file per il core e i plugin (buffer, cronologia, ..)
    2. disattivazione di tutti i plugin (salvataggio delle configurazioni .conf)
    3. salvataggio della configurazione di WeeChat (weechat.conf)
    4. esecuzione del nuovo binario di WeeChat.
/uptime [-o | -ol]
  mostra l'uptime di WeeChat

   -o: invia l'uptime al buffer corrente come input (stringa in inglese)
  -ol: invia l'uptime al buffer corrente come input (stringa tradotta)
/version [-o | -ol]
  mostra la versione e la data di compilazione di WeeChat

   -o: invia la versione al buffer corrente come input (stringa inglese)
  -ol: invia la versione al buffer corrente come input (stringa tradotta)
/wait numero[unità] comando
  pianifica l'esecuzione di un comando

   numero: tempo di attesa (numero intero)
       unità: valori opzionali sono:
          ms: millisecondi
           s: secondi (predefinito)
           m: minuti
           h: ore
  comando: comando da eseguire (o testo da inviare al buffer se il comando non inizia con '/')

  Nota: il comando è eseguito sui buffer dove /wait è stato eseguito (se il buffer non viene trovato (per esempio se è stato chiuso prima dell'esecuzione), allora il comando verrà eseguito sul buffer core di WeeChat)

  Esempi:
    entra nel canale tra 10 secondi:
      /wait 10 /join #test
    imposta assenza tra 15 minuti:
      /wait 15m /away -all Sono assente
    scrive ciao tra 2 minuti:
      /wait 2m ciao
/window [list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv [pct] | resize pct | merge [all] | page_up | page_down | refresh | scroll | scroll_up | scroll_down | scroll_top | scroll_bottom | scroll_previous_highlight | scroll_next_highlight | zoom]
  gestione finestre

           list: elenca le finestre aperte (senza argomento, questa lista viene visualizzata)
             -1: salta alla finestra precedente
             +1: salta alla finestra successiva
             b#: salta alla finestra successiva che visualizza il buffer numero #
             up: passa alla finestra superiore a quella corrente
           down: passa alla finestra inferiore a quella attiva
           left: passa alla finestra a sinistra
          right: passa alla finestra a destra
         splith: divide la finestra attiva orizzontalmente
         splitv: divide la finestra attiva verticalmente
         resize: ridimensiona finestra, la nuova dimensione è <pct> percentuale della finestra genitore
          merge: unisce la finestra con un'altra (all = mantiente una sola finestra)
        page_up: scorre di una pagina in alto
      page_down: scorre di una pagina in basso
        refresh: aggiorna lo schermo
         scroll: scorre di un numero di righe (+/-N) o in base al tempo: s=secondi, m=minuti, h=ore, d=giorni, M=mesi, y=anni
      scroll_up: scorre di alcune righe in alto
    scroll_down: scorre di alcune righe in basso
     scroll_top: scorre fino all'inizio del buffer
  scroll_bottom: scorre fino alla fine del buffer buffer
  scroll_previous_highlight: passa all'evento precedente
      scroll_next_highlight: passa all'evento successivo
           zoom: ingrandimento sulla finestra

  Per splith e splitv, pct è una percentuale che rappresenta la dimensione della nuova finestra, calcolata con la finestra attiva come riferimento per la dimensione. Per esempio 25 vuol dire creare una finestra di dimensione = dimensione_attuale / 4

  Esempi:
    salta alla finestra che visualizza il buffer #1:
      /window b1
    scorre di due righe in alto:
      /window scroll -2
    scorre all'indietro di due giorni:
      /window scroll -2d
    scorre all'inizio del giorno attuale:
       /window scroll -d

3.7. Colori

WeeChat può usare fino a 256 coppie di colore per visualizzare il testo nelle barre e nell’area di chat(il terminale deve supportare 256 colori per essere utilizzati in WeeChat).

In base al valore della variabile di ambiente TERM, potrebbero verificarsi i seguenti limiti per i colori in WeeChat:

$TERM Colori Coppie (1)

"rxvt-unicode", "xterm",…

88

256

"rxvt-256color", "xterm-256color",…

256

32767

"screen"

8

64

"screen-256color"

256

32767

Note
(1) Anche se il terminale supporta più di 256 coppie, possono essere utilizzate solo 256 coppie in WeeChat, a causa di una limitazione di ncurses.

È possibile eseguire weechat-curses --colors o utilizzare il comando /color in WeeChat per visualizzare i limiti del proprio ambiente.

Alcuni valori raccomandati per TERM se si desiderano 256 colori:

  • con screen: screen-256color

  • al di fuori di screen: xterm-256color, rxvt-256color, putty-256color,…

Se si sta utilizzando screen, è possibile aggiungere questa riga al proprio ~/.screenrc:

term screen-256color

Se la variabile TERM contiene un valore errato e WeeChat è già in esecuzione, niente panico! È possibile cambiarla senza riavviare, grazie allo script shell.py:

/shell setenv TERM=screen-256color
/upgrade

3.7.1. Colori base

I colori base in WeeChat sono:

Nome Colore

default

colore predefinito del terminale (trasparente per lo sfondo)

black

nero

darkgray

grigio scuro

red

rosso scuro

lightred

rosso chiaro

green

verde scuro

lightgreen

verde chiaro

brown

marrone

yellow

giallo

blue

blu scuro

lightblue

blu chiaro

magenta

rosa scuro

lightmagenta

rosa chiaro

cyan

azzurro scuro

lightcyan

azzurro chiaro

white

bianco

3.7.2. Tavolozza

In base al proprio terminale, vengono definite 64 o 256 coppie da WeeChat, una combinazione di colori di primo piano con quelli di sfondo:

  • per 64 coppie: 8 colori di primo piano * 8 colori di sfondo (colori scuri)

  • per 256 coppie: 16 colori di primo piano * 16 colori di sfondo (8 colori scuri ed 8 colori chiari)

Usare il comando /color per visualizzare i colori predefiniti (nel buffer è possibile digitare alt+c per passare tra i colori di WeeChat e quelli del terminale).

È possibile sovrascrivere alcune coppie di colori (una coppia è costituita da colore di primo piano + sfondo) con il comando /color, che crea un’opzione nella sezione palette del file weechat.conf.

Per ogni colore definito, si può specificare:

  • colore di primo piano e sfondo, con il formato "fg,bg": colore per il testo e di sfondo, quello predefinito è il numero della coppia del colore su sfondo predefinito (-1)

  • alias: si può dare un nome al proprio colore, per un facile utilizzo nelle opzioni

Ad esempio, per definire le coppie da 225 a 240 con colori come blu, ciano, verde, giallo, arancione, rosso, rosa, porpora:

/color add 225 18,-1
/color add 226 20,-1
/color add 227 27,-1
/color add 228 39,-1
/color add 229 51,-1
/color add 230 49,-1
/color add 231 47,-1
/color add 232 82,-1
/color add 233 154,-1
/color add 234 226,-1
/color add 235 214,-1
/color add 236 202,-1
/color add 237 196,-1
/color add 238 199,-1
/color add 239 201,-1
/color add 240 176,-1

Consultare /help color per ulteriori esempi.

Important
I colori definiti sovrascrivono le coppie di colore predefinite di WeeChat, per cui si consiglia di ridefinire la coppia solo questo colore non verrà usato in WeeChat.

4. Plugin

Per saperne di più riguardo lo sviluppo di plugin o script (tramite le API), per favore consultare Riferimento API dei Plugin per WeeChat oppure Guida allo Scripting di WeeChat.

4.1. Plugin in WeeChat

Un plugin è una libreria dinamica, scritta in C e compilata, che viene caricata da WeeChat. In GNU/Linux, il file ha estensione ".so", ".dll" in Windows.

I plugin trovati vengono caricati automaticamente all’avvio di WeeChat, ed è possibile attivare o disattivare i plugin durante l’esecuzione del programma.

È importante evidenziare la differenza tra un plugin ed uno script: un plugin è un file binario compilato e caricato con il comando /plugin, mentre uno script è un file di testo caricato con un plugin come perl con il comando /perl.

È possibile utilizzare il comando /plugin per attivare/disattivare un plugin, oppure elencare tutti i plugin attivi. Quando un plugin viene disattivato, tutti i buffer creati da questo plugin sono chiusi automaticamente.

Esempi per attivare, disattivare oppure elencare i plugin:

/plugin load irc
/plugin unload irc
/plugin list

I plugin predefiniti sono:

Plugin Descrizione

alias

Definisce gli alias per i comandi

aspell

Controllo ortografico per la riga di comando

charset

Set di caratteri per la codifica/decodifica nei buffer

demo

Plugin Demo (non viene compilato per default)

fifo

pipe FIFO utilizzata per inviare comandi da remoto su WeeChat

irc

protocollo chat per IRC

logger

Registra i buffer su file

relay

Relay dei dati via rete (proxy IRC)

rmodifier

Cambia le stringhe del modificatore con espressioni regolari

perl

API per lo scripting in Perl

python

API per lo scripting in Python

ruby

API per lo scripting in Ruby

lua

API per lo scripting in Lua

tcl

API per lo scripting in TCL

xfer

Trasferimento file e chat diretta

4.2. Plugin Alias

Il plugin Alias consente di creare alias per i comandi (da WeeChat o altri plugin).

4.2.1. Comandi

/alias [[-completion completamento] nome_alias [comando [argomenti]]]
  crea un alias per un comando

  completamento: completamento per l'alias (opzionale, il comportamento predefinito include il comando di destinazione)
  nome_alias: nome di un alias (può iniziare o terminare con "*" per un elenco di alias)
     comando: nome comando (più comandi possono essere separati da punto e virgola)
   argomenti: argomenti per un comando

  Senza argomanto, questo comando elenca tutti gli alias definiti.

  Nota: nel comando, vengono sostituite le variabili speciali:
          $n: argomento 'n' (tra 1 e 9)
         $-m: argomenti da 1 a 'm'
         $n-: argomenti da 'n' alla fine
        $n-m: argomenti da 'n' a 'm'
          $*: tutti gli argomenti
          $~: ultimo argomento
       $nick: nick corrente
    $channel: canale corrente
     $server: server corrente

  Per rimuovere un alias, utilizzare il comando /unalias.

  Esempi:
    alias /split per dividere la finestra orizzontalmente:
      /alias split /window splith
    alias /hello per dire "ciao" su tutti i canali tranne #weechat:
      /alias hello /allchan -exclude=#weechat msg * hello
    alias /forcejoin per inviare il comando IRC "forcejoin" con il completamento di /sajoin:
      /alias -completion %%sajoin forcejoin /quote forcejoin

4.3. Plugin Aspell

Il plugin Aspell consente di verificare l’ortografia nella riga di comando. È possibile utilizzare più lingue per buffer.

4.3.1. Opzioni (aspell.conf)

  • aspell.check.commands

    • descrizione: elenco separato da virgole di comandi per cui il controllo ortografico è abilitato (il controllo ortografico è disabilitato per tutti gli altri comandi)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic")

  • aspell.check.default_dict

    • descrizione: dizionario predefinito (o elenco separato da virgole di dizionari) da utilizzare quando il buffer non ha alcun dizionario definito (vuoto per disabilitare il controllo ortografico sui buffer in cui non è stato esplicitamente abilitato)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • aspell.check.during_search

    • descrizione: controlla le parole durante la ricerca del testo nel buffer

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • aspell.check.real_time

    • descrizione: controllo ortografico in tempo reale (più lento, disabilitato per default: le parole vengono controllate solo se seguite da un delimitatore)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • aspell.check.word_min_length

    • descrizione: lunghezza minima per una parola da controllare (0 per controllarle tutte)

    • tipo: intero

    • valori: 0 .. 2147483647 (valore predefinito: 2)

  • aspell.look.color

    • descrizione: colore utilizzato per le parole non corrette

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightred)

4.3.2. Comandi

/aspell dictlist | enable lingua | disable | addword [lingua] parola
  configurazione del plugin aspell

  dictlist: mostra i dizionari installati
    enable: abilita aspell sul buffer corrente
   disable: disabilita aspell sul buffer corrente
   addword: aggiunge una parola nel dizionario personale aspell

  La riga di input che comincia con '/' non viene controllata, tranne che per alcuni comandi.

4.4. Plugin Charset

Il plugin Charset consente di decodificare o codificare dati utilizzando i set caratteri.

Esiste un set caratteri predefinito per la codifica/decodifica, e set caratteri specifici per i buffer (o gruppi di buffer).

Questo plugin è opzionale, ma raccomandato: se non attivato, WeeChat può leggere/scrivere soltanto dati UTF-8.

Il plugin Charset dovrebbe essere caricato automaticamente da WeeChat. Per essere sicuri che sia caricato, provare con:

/charset

Se non trovato, allora si deve caricare il plugin con il comando:

/plugin load charset

Se il plugin non viene trovato, allora è necessario ricompilare WeeChat con il supporto ai plugin e a Charset.

Quando viene avviato il plugin Charset, mostra i set caratteri del terminale e quello interno. Il set caratteri dipende dal proprio locale, mentre quello interno è UTF-8.

Per esempio:

set caratteri: terminale: ISO-8859-15, interno: UTF-8

4.4.1. Opzioni (charset.conf)

  • charset.default.decode

    • descrizione: set di caratteri per la decodifica globale

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "iso-8859-1")

  • charset.default.encode

    • descrizione: set di caratter per la codifica globale

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

4.4.2. Comandi

/charset [[decode | encode | set_caratteri:] | [reset]
  modifica il set di caratteri per il buffer corrente

         decode: modifica il set di caratteri per la decodifica
         encode: modifica il set di caratteri per la codifica
  set_caratteri: nuovo set di caratteri per il buffer corrente
          reset: resetta il set di caratteri per il buffer corrente

4.4.3. Impostare il set caratteri

Per impostare il set caratteri globale per la codifica e la decodifica, utilizzare il comando /set.

Per esempio:

/set charset.default.decode ISO-8859-15
/set charset.default.encode ISO-8859-15

Se il set caratteri globale per la decodifica non è impostato (ad esempio durante il primo caricamento del plugin Charset), verrà impostato automaticamente sul set caratteri del terminale (se diverso da UTF-8), oppure su ISO-8859-1.

Il valore di codifica predefinito è vuoto, perciò il testo viene inviato per default con il set caratteri interno (UTF-8).

Per impostare il set caratteri del server IRC, utilizzare il comando charset sul buffer del server. Se viene immesso solo il set caratteri, allora i valori di codifica e decodifica saranno gli stessi.

Ad esempio:

/charset ISO-8859-15

È l’equivalente di:

/charset decode ISO-8859-15
/charset encode ISO-8859-15

Per impostare il set caratteri per il canale IRC (o il privato), utilizzare gli stessi comandi per il server, ma sul buffer del canale (o quello privato).

Per visualizzare tutti i set caratteri utilizzati, utilizzare il comando seguente:

/set charset.*

4.4.4. Risoluzione problemi

Per qualunque problema con i set caratteri, per favore consultare le Domande Frequenti di WeeChat.

4.5. Plugin Fifo

È possibile controllare da remoto WeeChat, inviando comandi o del testo ad una pipe FIFO (se l’opzione "plugins.var.fifo.fifo" è abilitata, e lo è per default).

La pipe FIFO si trova in ~/.weechat/ ed è chiamata weechat_fifo_xxxx (dove xxxx è l’ID del processo (PID) dell’istanza di WeeChat in esecuzione).

La sintassi per i comandi/testo della pipe FIFO è una delle seguenti:

  plugin.buffer *testo o comando qui
  *testo o comando qui

Alcuni esempi:

  • cambiare il nick sul server IRC freenode in "nuovonick":

$ echo 'irc.server.freenode */nick nuovonick' >~/.weechat/weechat_fifo_12345
  • visualizazre del testo sul canale IRC #weechat:

$ echo 'irc.freenode.#weechat *hello!' >~/.weechat/weechat_fifo_12345
  • visualizzare del testo sul buffer attivo:

$ echo '*hello!' >~/.weechat/weechat_fifo_12345
  • inviare due comandi per disattivare/caricare gli script Perl (è necessario separarli con "\n"):

$ echo -e '*/perl unload\n*/perl autoload' >~/.weechat/weechat_fifo_12345

È possibile realizzare uno script per inviare un comando a tutte le istanze di WeeChat in esecuzione, per esempio:

#!/bin/sh
if [ $# -eq 1 ]; then
    for fifo in ~/.weechat/weechat_fifo_*
    do
        echo -e "$1" >$fifo
    done
fi

Se lo script viene chiamato "auto_weechat_command", può essere eseguito con:

$ ./auto_weechat_command 'irc.freenode.#weechat *ciao'

4.6. Plugin IRC

Il plugin IRC è realizzato per chattare tramite protocollo IRC con altre persone.

È multi-server, ed offre tutti i comandi IRC supportati inclusi la chat DCC ed il trasferimento file (tramite plugin xfer, consultare plugin Xfer).

4.6.1. Opzioni a riga di comando

È possibile fornire un URL per uno o più server IRC, come segue:

[irc][6][s]://[nick[:password]@]irc.esempio.org[/porta][//#canale1][,#canale2[...]]

Esempio per entrare in #weechat e #tizio sul server irc.freenode.net, porta predefinita (6667), con il nick caio:

$ weechat-curses irc://caio@irc.freenode.net/#weechat,#tizio

4.6.2. Opzioni (irc.conf)

  • irc.color.input_nick

    • descrizione: colore per il nick nella riga di input

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightcyan)

  • irc.color.item_away

    • descrizione: colore per l'elemento assenza

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • irc.color.item_channel_modes

    • descrizione: colore per le modalità dei canali, vicino ai nomi dei canali

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • irc.color.item_lag_counting

    • descrizione: colore per l'indicatore del lag, durante il conteggio (pong non ricevuto dal server, lag in aumento)

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • irc.color.item_lag_finished

    • descrizione: colore per l'indicatore di ritardo, quando il pong viene ricevuto dal server

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • irc.color.message_join

    • descrizione: colore per il testo nei messaggi di entrata

    • tipo: colore

    • valori: un nome colore (valore predefinito: green)

  • irc.color.message_quit

    • descrizione: colore per il testo nei messaggi di uscita/abbandono

    • tipo: colore

    • valori: un nome colore (valore predefinito: red)

  • irc.color.nick_prefix

    • descrizione: colore per il prefisso del nick (il prefisso è la stringa personalizzata visualizzata prima del nick)

    • tipo: colore

    • valori: un nome colore (valore predefinito: green)

  • irc.color.nick_prefix_halfop

    • descrizione: colore per il prefisso del nick che è halfop sul canale

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightmagenta)

  • irc.color.nick_prefix_op

    • descrizione: colore per il prefisso del nick che è operatore/amministratore/proprietario del canale

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightgreen)

  • irc.color.nick_prefix_user

    • descrizione: colore per il prefisso del nick che è utente sul canale

    • tipo: colore

    • valori: un nome colore (valore predefinito: blue)

  • irc.color.nick_prefix_voice

    • descrizione: colore per il prefisso del nick che ha il voice sul canale

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • irc.color.nick_suffix

    • descrizione: colore per il suffisso del nick (il suffisso è la stringa personalizzata visualizzata dopo il nick)

    • tipo: colore

    • valori: un nome colore (valore predefinito: green)

  • irc.color.notice

    • descrizione: colore per il testo "Notifica" nelle notifiche

    • tipo: colore

    • valori: un nome colore (valore predefinito: green)

  • irc.color.reason_quit

    • descrizione: colore per il motivo nei messaggi di uscita/abbandono

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • irc.look.color_nicks_in_server_messages

    • descrizione: utilizza i colori dei nick nei messaggi dal server

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.color_pv_nick_like_channel

    • descrizione: usa lo stesso colore del nick per canale e privato

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.display_away

    • descrizione: visualizza messaggio al cambio dello stato di assenza

    • tipo: intero

    • valori: off, local, channel (valore predefinito: local)

  • irc.look.display_ctcp_blocked

    • descrizione: visualizza messaggio CTCP anche se bloccato

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.display_ctcp_reply

    • descrizione: visualizza risposta CTCP inviata da WeeChat

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.display_ctcp_unknown

    • descrizione: visualizza messaggio CTCP anche se è CTCP sconosciuto

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.display_host_join

    • descrizione: visualizza l'host nei messaggi di entrata

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.display_host_join_local

    • descrizione: visualizza l'host nei messaggi di entrata dal client locale

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.display_host_quit

    • descrizione: visualizza host nei messaggi di uscita/abbandono

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.display_old_topic

    • descrizione: visualizza l'argomento del canale precedente quando viene cambiato

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.display_pv_away_once

    • descrizione: mostra il messaggio di assenza remota una sola volta in privato

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.display_pv_back

    • descrizione: visualizza un messaggio in privato quando l'utente è tornato (dopo l'uscita dal server)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.hide_nickserv_pwd

    • descrizione: nascondi password visualizzata da nickserv

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.highlight_tags

    • descrizione: elenco separato da liste di tag per i messaggi che potrebbero generare eventi (di solito qualsiasi messaggio da altri utenti, non quelli dal server...)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "irc_privmsg,irc_notice")

  • irc.look.item_away_message

    • descrizione: mostra il messaggio di assenza del server nell'elemento barra di away

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.item_channel_modes

    • descrizione: visualizza le modalità canale nell'elemento barra "buffer_name"

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.item_channel_modes_hide_key

    • descrizione: nasconde la chiave del canale se le modalità sono visualizzate nell'elemento barra "buffer_name" (in questo modo saranno nascosti tutti gli argomenti delle modalità del canale se la modalità +k è impostata sul canale)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • irc.look.item_display_server

    • descrizione: nome dell'elemento barra dov'è visualizzato il server IRC (per la barra di stato)

    • tipo: intero

    • valori: buffer_plugin, buffer_name (valore predefinito: buffer_plugin)

  • irc.look.item_nick_modes

    • descrizione: visualizza le modalità nick nell'elemento barra "input_prompt"

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.item_nick_prefix

    • descrizione: visualizza il prefisso del nick nell'elemento barra "input_prompt"

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.msgbuffer_fallback

    • descrizione: buffer di destinazione predefinito per le opzioni di msgbuffer quando la destinazione è privata ed il buffer privato non viene trovato

    • tipo: intero

    • valori: current, server (valore predefinito: current)

  • irc.look.new_channel_position

    • descrizione: forza la posizione del nuovo canale nell'elenco dei buffer (none = posizione predefinita (dovrebbe essere l'ultimo buffer)r, next = buffer corrente + 1, near_server = dopo l'ultimo canale/privato del server)

    • tipo: intero

    • valori: none, next, near_server (valore predefinito: none)

  • irc.look.new_pv_position

    • descrizione: forza la posizione del nuovo buffer privato nell'elenco dei buffer (none = posizione predefinita (dovrebbe essere l'ultimo buffer)r, next = buffer corrente + 1, near_server = dopo l'ultimo canale/privato del server)

    • tipo: intero

    • valori: none, next, near_server (valore predefinito: none)

  • irc.look.nick_color_force

    • descrizione: forza colore per alcuni nick: l'hash calcolato con il nick per trovare il colore non verrà usato per questi nick (il formato è: "nick1:color1;nick2:color2")

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.look.nick_color_stop_chars

    • descrizione: caratteri usati per fermare il calcolo del colore con le lettere del nick (almeno un carattere al di fuori di questa lista deve essere nella lista prima di fermarlo) (esempio: nick "|nick|away" con "|" nei caratteri restituisce il colore del nick "|nick")

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "_|[")

  • irc.look.nick_completion_smart

    • descrizione: completamento intelligente per i nick (usando prima chi ha parlato per ultimo)

    • tipo: intero

    • valori: off, speakers, speakers_highlights (valore predefinito: speakers)

  • irc.look.nick_prefix

    • descrizione: testo da visualizzare prima del nick nella finestra di chat

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.look.nick_suffix

    • descrizione: testo da visualizzare dopo il nick nella finestra di chat

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.look.notice_as_pv

    • descrizione: visualizza notifiche come messaggi privati (se automatico, utilizza il buffer privato se viene trovato)

    • tipo: intero

    • valori: auto, never, always (valore predefinito: auto)

  • irc.look.notify_tags_ison

    • descrizione: elenco separato da virgole di tag usati nei messaggi stampati dalle notifiche quando un nick entra o esce da un server (risultato del comando ison), ad esempio: "notify_highlight", "notify_message" o "notify_private"

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "notify_message")

  • irc.look.notify_tags_whois

    • descrizione: elenco separato da virgole di tag usati nei messaggi stampati dalle notifiche quando un nick cambia lo stato di assenza (risultato del comando whois), ad esempio: "notify_highligh", "notify_message" o "notify_private"

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "notify_message")

  • irc.look.part_closes_buffer

    • descrizione: chiude buffer quando viene digitato /part nel canale

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • irc.look.raw_messages

    • descrizione: numero di messaggi raw da salvare in memoria quando il buffer dei dati raw viene chiuso (i messaggi verranno visualizzati all'apertura del buffer dei dati raw)

    • tipo: intero

    • valori: 0 .. 65535 (valore predefinito: 256)

  • irc.look.server_buffer

    • descrizione: unisci i buffer dei server

    • tipo: intero

    • valori: merge_with_core, merge_without_core, independent (valore predefinito: merge_with_core)

  • irc.look.smart_filter

    • descrizione: filtra i messaggi di entrata/uscita/abbandono per un nick se inattivo per alcuni minuti sul canale (è necessario creare un filtro sul tag "irc_smart_filter")

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.smart_filter_delay

    • descrizione: ritardo per il filtraggio dei messaggi di entrata/uscita/abbandono (in minuti)

    • tipo: intero

    • valori: 1 .. 10080 (valore predefinito: 5)

  • irc.look.smart_filter_join

    • descrizione: abilita filtro smart per i messaggi "join" (entrata)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.smart_filter_quit

    • descrizione: abilita filtro smart per i messaggi "part" (uscita) e "quit (disconnessione)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.look.topic_strip_colors

    • descrizione: elimina colori nell'argomento (utilizzato solo quando viene visualizzato il titolo del buffer)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • irc.network.autoreconnect_delay_growing

    • descrizione: fattore di crescita per il ritardo della riconnessione automatica al server (1 = sempre identico, 2 = ritardo*2 per ogni tentativo, ...)

    • tipo: intero

    • valori: 1 .. 100 (valore predefinito: 2)

  • irc.network.autoreconnect_delay_max

    • descrizione: ritardo massimo per la riconnessione automatica al server (in secondi, 0 = nessun massimo)

    • tipo: intero

    • valori: 0 .. 86400 (valore predefinito: 1800)

  • irc.network.colors_receive

    • descrizione: se disabilitato, i codici colori vengono ignorati nei messaggi in entrata

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.network.colors_send

    • descrizione: consente all'utente di inviare i colori con dei codici speciali (ctrl-c + un codice ed un colore opzionale: b=grassetto, cxx.yy=colore+sfondo, u=sottolineato, r=inverso)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.network.lag_check

    • descrizione: intervallo tra due controlli per il ritardo (in secondi, 0 = nessun controllo)

    • tipo: intero

    • valori: 0 .. 604800 (valore predefinito: 60)

  • irc.network.lag_disconnect

    • descrizione: disconnetti dopo un ritardo eccessivo (in minuti, 0 = nessuna disconnessione)

    • tipo: intero

    • valori: 0 .. 10080 (valore predefinito: 0)

  • irc.network.lag_min_show

    • descrizione: ritardo minimo da visualizzare (in millisecondi)

    • tipo: intero

    • valori: 0 .. 86400000 (valore predefinito: 500)

  • irc.network.lag_refresh_interval

    • descrizione: intervallo tra due aggiornamenti per l'elemento ritardo, quando è in aumento (in secondi)

    • tipo: intero

    • valori: 1 .. 3600 (valore predefinito: 1)

  • irc.network.notify_check_ison

    • descrizione: intervallo tra due verifiche per la notifica con il comando IRC "ison" (in minuti)

    • tipo: intero

    • valori: 1 .. 10080 (valore predefinito: 1)

  • irc.network.notify_check_whois

    • descrizione: intervallo tra due verifiche per la notifica con il comando IRC "whois" (in minuti)

    • tipo: intero

    • valori: 1 .. 10080 (valore predefinito: 5)

  • irc.network.send_unknown_commands

    • descrizione: invia comandi sconosciuti al server

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • irc.server_default.addresses

    • descrizione: elenco di host/porte o IP/porte per il server (separati da virgole)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.anti_flood_prio_high

    • descrizione: anti-flood per coda ad alta priorità: numero di secondi tra due messaggi utente o comandi inviati al server IRC (0 = nessun anti-flood)

    • tipo: intero

    • valori: 0 .. 60 (valore predefinito: 2)

  • irc.server_default.anti_flood_prio_low

    • descrizione: anti-flood per coda a bassa priorità: numero di secondi tra due messaggi inviati al server IRC (messaggi come risposte CTCP automatiche) (0 = nessun anti-flood)

    • tipo: intero

    • valori: 0 .. 60 (valore predefinito: 2)

  • irc.server_default.autoconnect

    • descrizione: connette automaticamente ai server all'avvio di WeeChat

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • irc.server_default.autojoin

    • descrizione: elenco separato da virgole di canali in cui entrare quando si è connessi al server (esempio: "#canale1", #canale2, #canale3 chiave1,chiave2")

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.autoreconnect

    • descrizione: riconnette automaticamente al server alla disconnessione

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.server_default.autoreconnect_delay

    • descrizione: ritardo (in secondi) prima di effettuare una nuova connessione al server

    • tipo: intero

    • valori: 1 .. 65535 (valore predefinito: 10)

  • irc.server_default.autorejoin

    • descrizione: rientra automaticamente nei canali dopo il kick

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • irc.server_default.autorejoin_delay

    • descrizione: ritardo (in secondi) prima di rientrare automaticamente (dopo il kick)

    • tipo: intero

    • valori: 0 .. 86400 (valore predefinito: 30)

  • irc.server_default.away_check

    • descrizione: intervallo tra le due verifiche per l'assenza (in minuti, 0 = nessun check)

    • tipo: intero

    • valori: 0 .. 10080 (valore predefinito: 0)

  • irc.server_default.away_check_max_nicks

    • descrizione: non verificare l'assenza su canali con un elevato numero di nick (0 = illimitato)

    • tipo: intero

    • valori: 0 .. 1000000 (valore predefinito: 25)

  • irc.server_default.command

    • descrizione: comando(i) da eseguire quando si è connessi al server (più comandi vanno separati da ":", utilizzare ";" per un punto e virgola, le variabili speciali $nick, $canale e $server vengono sostituite dai loro valori)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.command_delay

    • descrizione: ritardo (in secondi) dopo l'esecuzione del programma (esempio: fornire il tempo per l'autenticazione)

    • tipo: intero

    • valori: 0 .. 3600 (valore predefinito: 0)

  • irc.server_default.connection_timeout

    • descrizione: timeout (in secondi) tra la connessione TCP al server ed il messaggio 001 ricevuto, se questo timeout viene raggiunto prima della ricezione del messaggio 001, WeeChat effettuerà la disconnessione

    • tipo: intero

    • valori: 1 .. 3600 (valore predefinito: 60)

  • irc.server_default.default_msg_part

    • descrizione: messaggio di uscita predefinito (in uscita dal canale) ("%v" verrà sostituito dalla versione di WeeChat)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "WeeChat %v")

  • irc.server_default.default_msg_quit

    • descrizione: messaggio di abbandono predefinito (disconnessione dal server) ("%v" verrà sostituito dalla versione di WeeChat)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "WeeChat %v")

  • irc.server_default.ipv6

    • descrizione: utilizza il protocollo IPv6 per le comunicazioni col server

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • irc.server_default.local_hostname

    • descrizione: nome host/IP locale definito per il server (opzionale, se vuoto viene utilizzato il nome host locale)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.nicks

    • descrizione: nick da utilizzare sul server (separati da virgole)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.notify

    • descrizione: elenco notifiche per il server (si consiglia di non cambiare questa opzione ma di usare il comando /notify)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.password

    • descrizione: password per il server

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.proxy

    • descrizione: proxy utilizzato per il server (opzionale)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.realname

    • descrizione: nome reale da utilizzare sul server

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.sasl_mechanism

    • descrizione: meccanismo per l'autenticazione SASL

    • tipo: intero

    • valori: plain, dh-blowfish (valore predefinito: plain)

  • irc.server_default.sasl_password

    • descrizione: password per l'autenticazione SASL

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.sasl_timeout

    • descrizione: timeout (in secondi) prima di annullare l'autenticazione SASL

    • tipo: intero

    • valori: 1 .. 3600 (valore predefinito: 15)

  • irc.server_default.sasl_username

    • descrizione: nome utente per l'autenticazione SASL

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.ssl

    • descrizione: utilizza SSL per le comunicazioni col server

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • irc.server_default.ssl_cert

    • descrizione: file del certificato ssl usato per identificare automaticamente il proprio nick ("%h" sarà sostituito dalla home di WeeChat, "~/.weechat come predefinita)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • irc.server_default.ssl_dhkey_size

    • descrizione: dimensione della chiave utilizzata durante lo Scambio Chiavi Diffie-Hellman

    • tipo: intero

    • valori: 0 .. 2147483647 (valore predefinito: 2048)

  • irc.server_default.ssl_verify

    • descrizione: verifica che la connessione ssl sia totalmente fidata

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • irc.server_default.username

    • descrizione: nome utente da utilizzare sul server

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

4.6.3. Comandi

/admin [obiettivo]
  informazioni sull'amministratore del server

  destinazione: server
/allchan [-current] [-exclude=canale,[,canale...]] comando [argomenti]
  esegue un comando su tutti i canali di tutti i server connessi

   -current: esegue il comando solo per i canali del server corrente
   -exclude: esclude alcunu canali ('*' è consentito all'inizio o alla fine del nome del canale, per escludere più canali)
    comando: comando da eseguire
  argomenti: argomenti per il comando

  Esempi:
    esegue '/me sta testando' su tutti i canali:
      /allchan me is testing
    dice 'ciao' dovunque tranne che su #weechat:
      /allchan -exclude=#weechat msg * ciao
    dice 'ciao' dovunque tranne che su #weechat e i canali che iniziano con #linux:
      /allchan -exclude=#weechat,#linux* msg * ciao
/allserv [-exclude=server[,server...]] comando [argomenti]
  esegue un comando su tutti i server connessi

   -exclude: esclude alcuni server ('*' è consentito all'inizio o alla fine del nome server, per escludere più server)
    comando: comando da eseguire
  argomenti: argomenti per il comando

  Esempli:
    cambia nick su tutti i server:
      /allserv nick nuovonick
    imposta l'assenza su tutti i server:
      /allserv away sono assente
/ban [canale] [nick [nick ...]]
  banna nick oppure host

  canale: canale per il ban
      nick: utente o host da bannare
/connect [nome_server [nome_server ...] | nome_host[/porta] [-opzione[=valore]] [-nooption] | -all | -open] [-nojoin] [-switch]
  connette ad uno o più server IRC

  nome_server: nome interno del server a cui connettersi (il server deve essere stato creato con /server add)
    nome_host: nome host (oppure IP) del server
        porta: porta per il server (6667 è la predefinita)
      opzione: imposta opzione per il server (per le opzioni bool, il valore può essere omesso)
     nooption: imposta il valore bool dell'opzione su off (per esempio: -nossl)
         -all: connette a tutti i server definiti nella configurazione
       -open: connette a tutti i server aperti ai quali non si è attualmente connessi
      -nojoin: non entrare in nessun canale (anche se l'ingresso automatico è attivo sul server)
      -switch: passa al server successivo

  Esempi:
    /connect freenode
    /connect irc.oftc.net/6667
    /connect irc6.oftc.net/6667 -ipv6
    /connect irc6.oftc.net/6697 -ipv6 -ssl
    /connect mio.server.org/6697 -ssl -password=test
    /connect -switch
/ctcp destinazione tipo [argomenti]
  invia un messaggio CTCP (Protocollo Client-A-Client)

  destinazione: nick o canale a cui inviare il CTCP
          tipo: tipo CTCP (esempi: "version", "ping", ..)
     argomenti: argomenti per il CTCP
/cycle [canale[,canale]] [messaggio]
  esce e rienta in un canale

     canale: nome canale per il ciclo
  messaggio: messaggio di uscita (mostrato agli altri utenti)
/dcc azione [nick] [file]]
  avvia DCC (file o  chat)

  azione: 'send' (invia file) o 'chat' (avvia una conversazione)
    nick: nick a cui inviare il file o con cui aprire la chat
    file: nome file (sull'host locale)

  Esempi:
    chat con "tizio":
      /dcc chat tizio
    invia file "/home/foo/bar.txt al nick "tizio":
      /dcc send tizio /home/foo/bar.txt
/dehalfop [nick [nick]]
  rimuove lo stato di half-op da uno (o più) nick
/deop [nick [nick]]
  rimuove lo stato di operatore da uno (o più) nick
/devoice [nick [nick]]
  rimuove voce da uno (o più) nick
/die
  arresta il server
/disconnect [-all | nome_server [nome_server ...]]
  disconnette da uno o più server IRC

       -all: disconnetti da tutti i server
  nome_server: nome del server da cui disconnettersi
/halfop [nick [nick]]
  concede lo stato di halfop ad uno (o più) nick
/ignore [list] | [add [re:]nick/host [server [canale]]] | [del numero|-all]
  ignora nick/host dai server o dai canali

       list: elenca tutti gli ignore
        add: aggiungi un ignore
        del: elimina un ignore
     numero: numero di ignore da eliminare (nella lista)
       -all: elimina tutti gli ignore
  nick/host: nick o host da ignorare: la sintassi è "re:regex" o "mask" (una mask è una stringa con alcuni "*" per sostituire uno o più caratteri)
     server: nome interno del server dove l'ignore è attivo
     canale: nome del canale dove l'ignore è attivo

  Esempi:
    ignora nick "tizio" su tutti gli host/canali:
      /ignore add tizio
    ignora l'host "tizio@dominio.com" sul server freenode:
      /ignore add tizio@dominio.com freenode
    ignora l'host "tizio*@*.dominio.com" su freenode/#weechat:
      /ignore add tizio*@*.dominio.com freenode #weechat
/info [obiettivo]
  ottieni informazioni sul server

  destinazione: nome server
/invite nick canale
  invita un nick su un canale

      nick: nick da invitare
  canale: canale su cui invitare
/ison [nick [nick ...]]
  verifica se un nick è collegato su IRC

  nick: nick
/join [-server server] [canale1[,canale2[,canale3]] [chiave1[,chiave2]]]
  entra in un canale

  server: invia a questo server (nome interno)
  canale: nome del canale in cui entrare
  chiave: chiave per entrare nel canale (i canali con una chiave devono essere primi nella lista)

  Esempi:
    /join #weechat
    /join #canaleprotetto,#weechat chiave
    /join -server freenode #weechat
/kick [canale] nick [commento]
  caccia forzatamente un utente da un canale

    canale: canale dove si trova l'utente
      nick: nick da cacciare
  commento: commento per il kick
/kickban [canale] nick [commento]
  caccia e banna un nick da un canale

         canale: canale in cui si trova l'utente
            nick: nick da cacciare e bannare
  commento: commento per la cacciata

  È possibile cacciare/bannare con una mask, il nick verrà estratto dalla mask e sostituito da "*".

  Esempio:
    banna "*!*@host.com" e poi caccia "tizio":
      /kickban tizio!*@host.com
/kill nick commento
  chiude connessione client-server

      nick: nick
  commento: commento per il kill
/links [[server] mask_server]
  elenca tutti i nomi server conosciuti dal server che risponde alla richiesta

            server: questo server dovrebbe rispondere alla richiesta
  mask_server: elenco dei server devono corrispondere a questa mask
/list [canale[,canale] [server] [-re regexp]]
  elenca i canali ed i loro argomenti

  canale: canale da elencare
  server: nome del server
  regexp: espressione regolare utilizzata per filtrare i risultati

  Esempi:
    elenca tutti i canali sul server (può essere molto lento su grandi network):
      /list
    elenca il canale #weechat:
      /list #weechat.*
    elenca tutti i canali che iniziano con "#weechat" (può essere molto lento su grandi network):
      /list -re #weechat.*
/lusers [mask [destinazione]]
  ottiene statistiche sulla dimensione del network IRC

          mask: server corrispondenti alla mask
  destinazione: server per redirigere la richiesta
/map
  mostra una mappa grafica della rete IRC
/me messaggio
  invia un'azione CTCP al canale corrente

  messaggio: messaggio da inviare
/mode { [canale] {[+|-]|o|p|s|i|t|n|b|v} [limit] [utente] [ban mask] } | { nick {[+|-]|i|w|s|o} }
  cambia modalità canale o utente

  modalità canale:
    canale: nome canale da modificare (quello attivo è il predefinito)
    o: concede/nega i privilegi di operatore del canale
    p: canale privato
    s: canale segreto
    i: canale a solo-invito
    t: argomento modificabile solo dall'operatore del canale
    n: nessun messaggio al canale da client esterni
    m: canale moderato
    l: imposta il limite massimo di utenti sul canale
    b: imposta un mask ban per tenere alla larga agli utenti
    e: imposta mask di eccezione
    v: concede/nega la possibilità di parlare su un canale moderato
    k: imposta una chiave per il canale (password)
  modalità utente:
    nick: nick da modificare
    i: marca un utente come invisibile
    s: marca un utente per la ricezione dei messaggi dal server
    w: l'utente riceve wallops
    o: flag operatore
/motd [obiettivo]
  riceve il "Messaggio Del Giorno"

  destinazione: nome server
/msg [-server server] destinazione[,destinazione] testo
  invia un messaggio ad un nick o a un canale

        server: invia a questo server (nome interno)
  destinazione: nick o canale (può essere una mask, '*' = canale corrente)
         testo: testo da inviare
/names [canale[,canale]]
  elenca i nick sul canale

  canale: nome canale
/nick [-all] nick
  modifica il nick corrente

   -all: imposta nuovo nick per tutti i server connessi
   nick: nuovo nick
/notice [-server server] destinazione testo
  invia messaggio di notifica all'utente

        server: invia a questo server (nome interno)
  destinazione: nick o canale
         testo: testo da inviare
/notify [add nick [server [-away]]] | [del nick|-all [server]]
  aggiunge una notifica per lo stato di presenza o assenza dei nick sui server

     add: aggiunge una notifica
    nick: nick
  server: nome interno del server (server corrente è il predefinito)
   -away: notifica quando il messaggio di assenza viene cambiato (effettuando il whois sul nick)
     del: elimina una notifica
    -all: elimina tutte le notifiche

  Senza argomenti, questo comando visualizza le notifiche per il server corrente (oppure tutti i server se il comando viene digitato sul buffer core).

  Esempi:
    notifica quando "tizio" entra/esce dal server corrente:
      /notify add tizio
    notifica quando "tizio" entra/esce dal server freenode:
      /notify add toto freenode
    notifica quando "tizio" è assente o presente sul server freenode:
      /notify add toto freenode -away
/op nick [nick]
  concede lo stato di operatore del canale al(ai) nick
/oper utente password
  ottieni i privilegi di operatore

  utente/password: utilizzata per ottenere i privilegi sul server IRC corrente
/part [canale[,canale]] [messaggio]
  esce da un canale

            canale: nome del canale da lasciare
  messaggio_uscita: messaggio di uscita (mostrato agli altri utenti)
/ping server1 [server2]
  invia ping al server

  server1: server su cui effettuare il ping
  server2: invia ping a questo server
/pong demone [demone2]
  risponde ad un messaggio ping

    demone: demone che ha risposto al messaggio di Ping
  demone2: invia messaggio a questo demone
/query [-server server] nick [testo]
  invia un messaggio privato ad un nick

  server: invia a questo server (nome interno)
    nick: nick per la conversazione privata
   testo: testo da inviare
/quote [-server server] dati
  invia dati grezzi al server senza analisi

  server: invia a questo server (nome interno)
    dati: dati raw da inviare
/reconnect [nome_server [nome_server ...] | -all [-nojoin] [switch]
  riconnette a uno (o più) server

  nome_server: nome del server a cui riconnettersi
         -all: riconnetti a tutti i server
       nojoin: non entrare in nessun canale (anche se l'ingresso automatico è abilitato sul server)
      -switch: passa al server successivo
/rehash [opzione]
  chiede al server di ricaricare il proprio file di configurazione

  opzione: opzione extra, per alcuni server
/restart
  chiede al server di riavviarsi
/sajoin nick canale[,canale]
  forza un utente ad entrare su uno o più canali

    nick: nick
  canale: nome del canale
/samode `canale modalità`
  cambia modalità sul canale, senza avere lo status di operatore

  canale: nome del canale
  modalità: modalità per il canale
/sanick nick nuovo_nick
  forza un utente ad utilizzare un altro nick

             nick: nick
  nuovo_nick: nuovo nick
/sapart nick canale[,canale]
  forza un utente a lasciare uno o più canali

    nick: nick
  canale: nome del canale
/saquit nick motivo
  forza un utente ad uscire dal server senza un motivo

      nick: nick
  motivo: motivo
/server [list [nome_server]] | [listfull [nome_server]] | [add nome_server host[/porta] [-temp | -opzione[=valore]] [-nooption] | [copy nome_server nuovo_nome_server] | [rename nome_server nuovo_nome_server] | [keep nome_server] | [del nome_server ] | [deloutq] | [jump] | [raw]
  elenca, aggiunge o rimuove server IRC

         list: elenca tutti i server (senza argomento, questa lista viene visualizzata)
     listfull: elenca tutti i server con tutte le informazioni per ogni server
          add: crea un nuovo server
  nome_server: nome server, per il solo uso interno e di visualizzazione
    nome_host: nome o indirizzo IP del server, con porta opzionale (predefinita: 6667), più indirizzi possono essere separati da virgole
         temp: crea server temporaneo (non salvato)
       option: imposta opzione per il server (per opzioni bool, il valore può essere omesso)
     nooption: imposta l'opzione bool su 'off' (per esempio: -nossl)
         copy: duplica un server
       rename: rinomina un server
         keep: salva server nel file di configurazione (solo per server temporanei)
          del: elimina un server
      deloutq: elimina i messaggi fuori coda per tutti i server (tutti i messaggi che WeeChat sta inviando)
         jump: passa al buffer del server
          raw: apri buffer con dati grezzi IRC

  Esempi:
    /server listfull
    /server add oftc irc.oftc.net/6697 -ssl
    /server add oftc6 irc6.oftc.net/6697 -ipv6 -ssl
    /server add freenode2 chat.eu.freenode.net/6667,chat.us.freenode.net/6667
    /server add freenode3 irc.freenode.net -password=miapassword
    /server copy oftc oftcbis
    /server rename oftc newoftc
    /server del freenode
    /server deloutq
/service nick distribuzione riservata tipo info riservata
  registra un nuovo servizio

  distrubuzione: visibilità del servizio
          tipo: riservato per un utilizzo futuro
/servlist [mask [tipo]]
  elenca servizi attualmente connessi al network

  mask: elenca solo i servizi che corrispondono a questa mask
    tipo: elenca solo i servizi di questo tipo
/squery servizio testo
  invia un messaggio ad un servizio

  servizio: nome del servizio
     testo: testo da inviare
/squit server commento
  disconnette collegamenti al server

    server: nome server
  commento: commento per l'uscita
/stats [query [server]]
  richiede statistiche sul server

   query: c/h/i/k/l/m/o/y/u (per info RFC1459)
  server: nome server
/summon utente [destinazione [canale]]
  invia agli utenti connessi ad un host con un server IRC in esecuzione un messaggio per invitarli ad entrare su IRC

        utente: nome utente
  destinazione: nome server
        canale: nome canale
/time [obiettivo]
  richiede l'ora locale dal server

  destinazione: richiede l'ora dal server specificato
/topic [canale] [argomento]
  legge/modifica argomento del canale

  canale: nome canale
  argomento: nuovo argomento per il canale (se l'argomento è "-delete" allora viene eliminato)
/trace [obiettivo]
  trova il percorso del server specifico

  destinazione: server
/unban [canale] nick [nick ...]
  rimuove il ban da nick o host

  canale: canale da cui rimuovere il ban
      nick: utente o host a cui rimuovere il ban
/userhost [nick [nick ...]]
  stampa una lista informativa sui nick

  nick: nick
/users [obiettivo]
  lista di utenti autenticati sul server

  destinazione: server
/version [server | nick]
  riceve informazioni di versione del nick o del server (corrente o specificato)

  server: nome server
     nick: nick
/voice [nick [nick]]
  concede il voice ad uno (o più) utenti
/wallchops [canale] testo
  invia una notifica agli operatori del canale

  canale: nome del canale
    testo: testo da inviare
/wallops testo
  invia un messaggio a tutti gli utenti attualmente connessi che hanno impostato la modalità 'w'

  testo da inviare
/who [mask ["o"]]
  genera una richiesta per ottenere una lista di informazioni

   mask: solo le informazioni corrispondenti al mask
         o: sono visualizzati solo gli operatori in base alla mask fornita
/whois [server] nick[,nick]
  richiedi informazioni su uno (o più) utenti

  server: nome server
      nick: nick (può essere una mask)
/whowas nick [,nick [,nick ...]] [count [destinazione]]
  richiede informazioni su un nick non più esistente

      nick: nick da cercare
   count: numero di risultati da visualizzare (ricerca completa se il numero è negativo)
  destinazione: la risposta dovrebbe coincidere con la mask

4.6.4. Certificati SSL

Al momento della connessione al server IRC con SSL, WeeChat verifica in maniera predefinita che la connessione sia completamente fidata.

Esistono alcune opzioni per controllare la connessione SSL:

weechat.network.gnutls_ca_file

percorso del file con il certificato delle autorità (predefinito: "%h/ssl/CAs.pem")

irc.server.xxx.ssl_cert

file del certificato SSL usato per identificare automaticamente il proprio nick ad esempio CertFP su oftc (a seguire)

irc.server.xxx.ssl_dhkey_size

dimensione della chiave usata durante lo Scambio Chiavi Diffie-Hellman (predefinita; 2048)

irc.server.xxx.ssl_verify

verifica che la connessione SSL sia totalmente fidata (opzione attivata in maniera predefinita)

Note
L’opzione "ssl_verify" è attivata per default, in questo modo la verifica è rigorosa e potrebbe fallire, anche se funziona senza problemi con versioni precedenti la 0.3.1.
Primo esempio: connessione a otfc e verifica del certificato
  • Importare certificati nella shell:

$ mkdir ~/.weechat/ssl
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/secretary/spi-cacert.crt

Nota: è possibile concatenare più certificati nel file CAs.pem.

  • In WeeChat, con il server "otfc" già creato:

/connect oftc
Secondo esempio: connessione a otfc con CertFP
  • Creare un certificato nella shell:

$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
$ cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
  • In WeeChat, con il server "otfc" già creato:

/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
/connect oftc
/msg nickserv cert add

Per maggiori informazioni consultare http://www.oftc.net/oftc/NickServ/CertFP

4.6.5. Filtro smart per i messaggi di entrata/uscita/disconnessione

Un filtro smart è disponibile per filtrare i messaggi di entrata/uscita/disconnessione quando il nick non ha detto nulla durante gli ultimi X minuti sul canale

Il filtro smart è abilitato per default, ma è necessario aggiungere un filtro per nascondere le righe sul buffer, per esempio:

/filter add irc_smart * irc_smart_filter *

È possibile creare il filtro solo per un canale o per i canali che iniziano con lo stesso nome (consultare /help filter):

/filter add irc_smart_weechat irc.freenode.#weechat irc_smart_filter *
/filter add irc_smart_weechats irc.freenode.#weechat* irc_smart_filter *

È possibile nascondere solo i messaggi di entrata o di uscita/disconnessione con le seguenti opzioni:

/set irc.look.smart_filter_join on
/set irc.look.smart_filter_quit on

È possibile impostare un ritardo (in minuti):

/set irc.look.smart_filter_delay 5

Se un nick non ha parlato durante gli ultimi 5 minuti, i suoi ingressi e/o uscite/disconnessioni verranno nascosti sul canale.

4.6.6. Risposte CTCP

È possibile personalizzare le risposte CTCP, o bloccare alcune richieste CTCP (non rispondere).

Ad esempio, per personalizzare la richiesta CTCP "VERSIONE", utilizzare il seguente comando:

/set irc.ctcp.version "Uso WeeChat $version, fico!"

Se si desidera bloccare CTCP "VERSIONE" (non rispondere ad una query), allora basta impostare una stringa vuota:

/set irc.ctcp.version ""

Anche un CTCP sconosciuto può essere personalizzato, per esempio si può rispondere "BLABLA":

/set irc.ctcp.blabla "Questa è la mia risposta a CTCP BLABLA"

È possibile personalizzare CTCP per un solo server, utilizzando il suo nome interno prima del nome CTCP:

/set irc.ctcp.freenode.version "WeeChat $version (per freenode)"

Se si desidera ripristinare la risposta CTCP standard, allora disabilitare l’opzione:

/unset irc.ctcp.version

I codici seguenti possono essere utilizzati nelle stringhe e vengono estese automaticamente da WeeChat quando si risponde alle CTCP

Codice Descrizione Valore/esempio
 $clientinfo  

elenco di CTCP supportate

 ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION
 $version     

versione di WeeChat

 0.3.0
 $compilation 

data di compilazione di WeeChat

 Sep 13 2009
 $osinfo      

informazioni sull’OS

 Linux 2.6.31 / i686
 $site        

sito di WeeChat

 http://www.weechat.org
 $download    

sito di WeeChat, pagina di download

 http://www.weechat.org/download
 $time        

data/ora correnti

 Sun Sep 13 15:48:31 2009
 $username    

nome utente sul server IRC

 nick
 $realname    

nome reale sul server IRC

 Mio nome

Se le opzioni CTCP non sono definite (comportamento predefinito), le risposte CTCP sono:

CTCP Formato risposta Esempio

CLIENTINFO

 $clientinfo                     
 ACTION DCC CLIENTINFO FINGER PING SOURCE TIME USERINFO VERSION

FINGER

 WeeChat $version                
 WeeChat 0.3.0

SOURCE

 $download                       
 http://www.weechat.org/download

TIME

 $time                           
 Sun Sep 13 15:48:31 2009

USERINFO

 $username ($realname)           
 nick (Mio nome)

VERSION

 WeeChat $version ($compilation) 
 WeeChat 0.3.0 (Sep 13 2009)

4.6.7. Buffer di destinazione per i messaggi IRC

È possibile personalizzare il buffer di destinazione per i messaggi IRC (buffer usato per visualizzare messaggi) con l’opzione irc.msgbuffer.*.

Per alcuni messaggi IRC (elenco in basso), si possono usare i seguenti valori:

current

buffer attivo (se è il buffer IRC, oppure sul buffer del server, come predefinito)

private

buffer privato per il nick, o il buffer corrente se non trovato (in base all’opzione irc.look.msgbuffer_fallback)

weechat

Il buffer "core" di WeeChat

Il buffer del server è la destinazione predefinita (quando l’opzione non è impostata).

Ecco una lista incompleta dei messaggi IRC o degli alias che è possibile personalizzare:

messaggio alias descrizione

invite

invitato su un canale

notice

notifica

wallops

wallops

221

stringa modalità utente

275

whois

whois (connessione sicura)

301

whois

whois (assente)

303

ison

305

unaway

presente

306

away

assente

307

whois

whois (nick registrato)

310

whois

whois (modalità aiuto)

311

whois

whois (utente)

312

whois

whois (server)

313

whois

whois (operatore)

314

whowas

whowas

315

who

who (fine)

317

whois

whois (inattività)

318

whois

whois (fine)

319

whois

whois (canali)

320

whois

whois (utente identificato)

321

list

list (inizio)

322

list

list (canale)

323

list

list (fine)

326

whois

whois (con privilegi di operatore)

327

whois

whois (host)

330

whois

whois (loggato come)

335

whois

whois (è un bot su)

338

whois

whois (host)

341

invito

344

reop

reop sul canale

345

reop

reop sul canale (fine)

351

versione del server

352

who

who

369

whowas

whowas (fine)

378

whois

whois (connesso da)

379

whois

whois (usa le modalità)

432

nick errato

433

nick già utilizzato

438

non autorizzato a cambiare nick

671

whois

whois (connessione sicura)

901

ora si è loggati

Anche altri comandi numerici possono essere personalizzati.

Il messaggio può essere preceduto dal nome del server per essere più precisi (ad esempio: freenode.whois).

Alcuni esempi:

  • visualizza il risultato di /whois su un buffer privato:

/set irc.msgbuffer.whois private
  • ripristina il buffer predefinito per il whois (buffer del server):

/unset irc.msgbuffer.whois
  • visualizza inviti sul buffer corrente, solo per il server "freenode":

/set irc.msgbuffer.freenode.invite current
  • visualizza messaggio "303" (ison) sul buffer "core" di WeeChat:

/set irc.msgbuffer.303 weechat

4.7. Plugin Logger

Il plugin Logger consente di salvare il contenuto dei buffer su file, con opzioni a proposito su cosa e come viene salvato.

4.7.1. Opzioni (logger.conf)

  • logger.file.auto_log

    • descrizione: salva automaticamente il contenuto dei buffer su file (a meno che un buffer disabiliti il log)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • logger.file.info_lines

    • descrizione: scrive una riga informativa nel file di log quando il log inizia o termina per un buffer

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • logger.file.mask

    • descrizione: mask del nome file predefinito per i file di log (il formato è "cartella/per/file" oppure "file", senza la prima "/" perché l'opzione "path" è utilizzata per costruire il percorso completo del file); sono ammesse le variabili del buffer locale; sono ammessi gli specificatori di data (consultare man strftime)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "$plugin.$name.weechatlog")

  • logger.file.name_lower_case

    • descrizione: utilizzare solo lettere minuscole per i nomi dei file di log

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • logger.file.path

    • descrizione: percorso per i file di log di WeeChat: "%h" all'inizio della stringa viene sostituito dalla cartella home di WeeChat (predefinita è "~/.weechat); sono ammessi gli specificatori di data (consultare man strftime)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%h/logs/")

  • logger.file.replacement_char

    • descrizione: carattere di sostituzione per i caratteri speciali nei nomi dei file salvati con la mask (come il delimitatore di cartella)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "_")

  • logger.file.time_format

    • descrizione: data e ora utilizzati nei file di log (consultare man strftime per gli specificatori di data/ora)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%Y-%m-%d %H:%M:%S")

  • logger.look.backlog

    • descrizione: numero massimo di righe da visualizzare dal file di log alla creazione di un nuovo buffer (0 = nessun backlog)

    • tipo: intero

    • valori: 0 .. 2147483647 (valore predefinito: 20)

4.7.2. Comandi

/logger [list | set livello | disable]
  configurazione del plugin logger

     list: mostra lo stato del logging per i buffer aperti
      set: imposta il livello di logging per il buffer corrente
    level: livello per i messaggi da loggare (0 = disabilitato, 1 = alcuni messaggi (più importanti) .. 9 = tutti i messaggi)
  disable: disabilita il logging sul buffer corrente (imposta livello a 0)

  Le opzioni "logger.level.*" e "logger.mask.*" possono essere utilizzate per impostare un livello o una mask per un buffer, o per i buffer che cominciano per nome.

  Livelli di log utilizzati dal plugin IRC:
    1: messaggio utente, notifica, privato
    2: cambio di nick
    3: messaggio del server
    4: entrata/uscita/abbandono
    9: tutti gli altri messaggi

  Esempi:
    imposta il livello 5 per buffer corrente:
      /logger set 5
    disabilita logging per il buffer corrente:
      /logger disable
    imposta il livello 3 per tutti i buffer IRC:
      /set logger.level.irc 3
    disabilita logging per il buffer principale di WeeChat:
      /set logger.level.core.weechat 0
    utilizza una cartella per il server IRC e un file per ogni canale al suo interno:
      /set logger.mask.irc "$server/$channel.weechatlog"

4.7.3. Livelli di log

Il logging viene effettuato con un livello per ogni buffer. Il livello predefinito è il 9 (registra tutti i messaggi visualizzati sul buffer). È possibile cambiare il livello per un buffer, oppure per un gruppo di buffer.

I livelli possibili sono da 0 a 9. Zero vuol dire "non registrare nulla" mentre 9 "registra tutto".

I plugin utilizzano livelli diversi per i messaggi visualizzati. Il plugin IRC usa i seguenti livelli:

  • livello 1: messaggio da un utente (su canale o privato)

  • livello 2: cambio nick (proprio o di qualcun altro)

  • livello 3: ogni messaggio del server (esclui entrata/uscita/disconnessione)

  • livello 4: messaggio del server entrata/uscita/disconnessione

Se viene impostato il livello 3 per un canale IRC, WeeChat registrerà tutti i messaggi, ma non quelli di entrata/uscita/disconnessione.

Alcuni esempi:

  • imposta il livello 3 per il canale IRC #weechat:

/set logger.level.irc.freenode.#weechat 3
  • set level 3 for freenode server buffer:

/set logger.level.irc.server.freenode 3
  • imposta il livello 3 per tutti i canali sul server freenode:

/set logger.level.irc.freenode 3
  • imposta il livello 2 per tutti i buffer IRC:

/set logger.level.irc 2

4.7.4. Mask per il nome file

È possibile definire un mask per il nome del file di ogni buffer, ed utilizzare le variabili buffer locali per costruire il nome del file. Per visualizzare le variabili locali per il buffer corrente:

/buffer localvar

Ad esempio, sul buffer "irc.freenode.#weechat", WeeChat cercherà un mask con il nome dell’opzione, in quest’ordine:

logger.mask.irc.freenode.#weechat
logger.mask.irc.freenode
logger.mask.irc
logger.file.mask

Ciò vuol dire che si hanno dei mask specifici per alcuni server IRC ("logger.mask.irc.freenode") o per un plugin ("logger.mask.irc").

File di log per data

Per avere file di log per data, è possibile usare specificatori data/ora nei mask (consultare man stfrtime per i formati), ad esempio:

/set logger.file.mask "%Y/%m/$plugin.$name.weechatlog"

Si avranno i seguenti file:

~/.weechat/
    |--- logs/
        |--- 2010/
            |--- 11/
            |       irc.server.freenode.weechatlog
            |       irc.freenode.#weechat.weechatlog
        |--- 2010/
            |--- 12/
            |       irc.server.freenode.weechatlog
            |       irc.freenode.#weechat.weechatlog
File di log IRC per server e canale

Se si desidera avere una cartella per il server IRC ed una per il canale al suo interno:

/set logger.mask.irc "irc/$server/$channel.weechatlog"

Si avranno i seguenti file:

~/.weechat/
    |--- logs/
        |--- irc/
            |--- freenode/
            |       freenode.weechatlog
            |       #weechat.weechatlog
            |       #mychan.weechatlog
            |--- oftc/
            |       oftc.weechatlog
            |       #chan1.weechatlog
            |       #chan2.weechatlog

4.8. Plugin Relay

Il plugin Relay viene utilizzato per inoltrare i dati via rete, facendo uso di protocolli differenti.

Al momento, è supportato solo il protocollo "irc" (proxy IRC).

4.8.1. Opzioni (relay.conf)

  • relay.color.status_active

    • descrizione: colore del testo per lo status "connesso"

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightblue)

  • relay.color.status_auth_failed

    • descrizione: colore del testo per lo status "autenticazione fallita"

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightred)

  • relay.color.status_connecting

    • descrizione: colore del testo per lo status "connessione in corso"

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • relay.color.status_disconnected

    • descrizione: colore del testo per lo status "disconnesso"

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightred)

  • relay.color.status_waiting_auth

    • descrizione: colore del testo per lo status "in attesa dell'autenticazione"

    • tipo: colore

    • valori: un nome colore (valore predefinito: brown)

  • relay.color.text

    • descrizione: colore del testo

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • relay.color.text_bg

    • descrizione: colore di sfondo

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • relay.color.text_selected

    • descrizione: colore della riga del client selezionato

    • tipo: colore

    • valori: un nome colore (valore predefinito: white)

  • relay.look.auto_open_buffer

    • descrizione: apre automaticamente il buffer relay alla connessione di un nuovo client

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • relay.look.raw_messages

    • descrizione: numero di messaggi raw da salvare in memoria quando il buffer dei dati raw viene chiuso (i messaggi verranno visualizzati all'apertura del buffer dei dati raw)

    • tipo: intero

    • valori: 0 .. 65535 (valore predefinito: 256)

  • relay.network.bind_address

    • descrizione: indirizzo associato (se vuoto, la connessione è possibile su tutte le interfacce, usare "127.0.0.1" per consentire le connessioni solo dalla macchina locale)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • relay.network.max_clients

    • descrizione: numero massimo di client connessi ad una porta

    • tipo: intero

    • valori: 1 .. 1024 (valore predefinito: 5)

  • relay.network.password

    • descrizione: password richiesta dai client per accedere a questo relay (un valore nullo corrisponde a nessuna password richiesta)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

4.8.2. Comandi

/relay [list | listfull | add protocollo.nome porta | del protocollo.nome | raw]
  controllo relay

             list: elenca i client relay (solo quelli attivi)
         listfull: elenca i client relay (dettagliato, tutti i relay)
        listrelay: elenca i relay (nome e porta)
              add: aggiungi relay per un protocollo + nome
              del: rimuovi relay per un protocollo + nome
  protocollo.nome: protocollo e nome con cui effettuare il relay
                   al momento, è supportato solo il protocollo "irc"
                   ad esempio: irc.freenode
            porta: porta utilizzata per il relay
              raw: apre il buffer con dati Relay

  Senza argomento, il comando apre i buffer con l'elenco dei client relay.

  Esempio:
    proxy irc, per il server "freenode":
      /relay add irc.freenode.net 8000

4.8.3. Proxy IRC

Il plugin Relay può funzionare come un proxy IRC: è possibile definire una porta per il server IRC ed utilizzare una password per i client.

Ad esempio:

/set relay.network.password "miapass"
/relay add irc.freenode 8000

Ora è possibile connettersi sulla porta 8000 con qualsiasi client IRC (WeeChat, xchat, irssi, ..) utilizzando la password del server "miapass".

È possibile inoltre limitare il numero di client consentiti:

/set relay.network.max_clients 1

4.9. Plugin Rmodifier

Il plugin Rmodifier consente di cambiare le stringhe del modificatore utilizzando le espressioni regolari. Si usa tipicamente per nascondere la password quando viene digitata, o quando WeeChat la salva nella cronologia dei comandi. Ad esempio, è possibile sostituire ogni carattere in questa password con "*".

4.9.1. Opzioni (rmodifier.conf)

  • rmodifier.look.hide_char

    • descrizione: carattere usato per nascondere parte di una stringa

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "*")

4.9.2. Comandi

/rmodifier [list] | [listdefault] | [add nome modifiers groups regex] | [del nome|-all [nome...]] | [default -yes]
  sostituisce le stringhe del modificatore con le espressioni regolari

         list: elenca tutti gli rmodifier
  listdefault: elenca gli rmodifier predefiniti
          add: aggiunge un rmodifier
         nome: nome rmodifier
    modifiers: elenco separato da virgole di modificatori
       groups: azione sul gruppo trovato: elenco separato da virgole di gruppi (da 1 a 9) con "*" opzionale dopo il numero per nascondere il gruppo
        regex: espressione regolare
          del: elimina rmodifier
         -all: elimina tutti gli rmodifier
      default: ripristina gli rmodifier predefiniti

  Esempi:
    nasconde ciò che viene digitato dopo il comando /password:
      /rmodifier add password input_text_display 1,2* ^(/password +)(.*)
    elimina rmodifier "password":
      /rmodifier del password
    elimina tutti gli rmodifier:
      /rmodifier del -all

4.9.3. Creazione di Rmodifier

Un rmodifier è costituito da tre elementi:

  1. uno o più "modificatori"

  2. un’espressione regolare per catturare i "gruppi"

  3. una stringa che descriva l’output facendo uso di "gruppi" catturati nelle espressioni regolari

Per un elenco di modificatori usati da WeeChat o dai plugin, consultare WeeChat Plugin API Reference, function weechat_hook_modifier.

Per ogni gruppo catturato, sono consentite le seguenti azioni:

  • mantenere il gruppo così com'è (usando un numero per gruppo)

  • sostituire tutti i caratteri nel gruppo per nascondere il contenuto (numero del gruppo + "*")

  • rimuovere il gruppo (se il gruppo non viene utilizzato nella stringa)

Esempio di rmodifier predefinito per il comando /oper:

  • modifier: history_add,input_text_display

    • history_add: chiamato quando WeeChat conserva il comando nella cronologia

    • input_text_display: chiamato quando la riga di comando è cambiata (valida solo a video, non per il contenuto della riga di comando)

  • espressione regolare: ^(/oper +\S+ +)(.*)

  • gruppi: 1,2*

Ad ogni chiamata dei modificatori "history_add" o "input_text_display", viene verificata l’espressione regolare. Se la stringa coincide, viene sostituita dai gruppi catturati, come definito nella stringa con i gruppi.

In questo esempio, il numero 1 resta così com'è, e sostituiamo tutti i caratteri del gruppo 2 con il carattere di sostituzione definito nella configurazione (opzione rmodifier.look.hide_char).

Se la riga di comando contiene: /oper nick password allora a video diventa: /oper nick ********.

4.10. Plugin per gli script

WeeChat fornisce 5 plugin per lo scripting: Perl, Python, Ruby, Lua, Tcl. Questi plugin possono caricare, eseguire e disattivare gli script per questi linguaggi.

Per maggiori informazioni su come scrivere gli script, o le API WeeChat per gli script, consultare la Guida allo Scripting di WeeChat.

È possibile trovare alcuni script qui: http://www.weechat.org/scripts

4.10.1. Comandi Perl

/perl [list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]
  elenca/attiva/disattiva script

  nome_file: file script da attivare
        nome: il nome dello script

  Senza argomenti, il comando elenca tutti gli script attivati

4.10.2. Comandi Python

/python [list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]
  elenca/attiva/disattiva script

  nome_file: file script da attivare
        nome: il nome dello script

  Senza argomenti, il comando elenca tutti gli script attivati

4.10.3. Comandi Ruby

/ruby [list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]
  elenca/attiva/disattiva script

  nome_file: file script da attivare
        nome: il nome dello script

  Senza argomenti, il comando elenca tutti gli script attivati

4.10.4. Comandi Lua

/lua [list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]
  elenca/attiva/disattiva script

  nome_file: file script da attivare
        nome: il nome dello script

  Senza argomenti, il comando elenca tutti gli script attivati

4.10.5. Comandi Tcl

/tcl [list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]
  elenca/attiva/disattiva script

  nome_file: file script da attivare
        nome: il nome dello script

  Senza argomenti, il comando elenca tutti gli script attivati

4.11. Plugin Xfer

Il plugin Xfer fornisce:

  • chat diretta (tra due host, senza server): per esempio "DCC Chat" tramite plugin IRC

  • trasferimento file, per esempio "DCC" tramite il plugin IRC

4.11.1. Opzioni (xfer.conf)

  • xfer.color.status_aborted

    • descrizione: colore del testo per lo status "annullato"

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightred)

  • xfer.color.status_active

    • descrizione: colore del testo per lo status "attivo"

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightblue)

  • xfer.color.status_connecting

    • descrizione: colore del testo per lo status "connessione in corso"

    • tipo: colore

    • valori: un nome colore (valore predefinito: yellow)

  • xfer.color.status_done

    • descrizione: colore del testo per lo status "completato"

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightgreen)

  • xfer.color.status_failed

    • descrizione: colore del testo per lo status "fallito"

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightred)

  • xfer.color.status_waiting

    • descrizione: colore del testo per lo status "in attesa"

    • tipo: colore

    • valori: un nome colore (valore predefinito: lightcyan)

  • xfer.color.text

    • descrizione: colore del testo

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • xfer.color.text_bg

    • descrizione: colore di sfondo

    • tipo: colore

    • valori: un nome colore (valore predefinito: default)

  • xfer.color.text_selected

    • descrizione: colore del testo per la riga xfer selezionata

    • tipo: colore

    • valori: un nome colore (valore predefinito: white)

  • xfer.file.auto_accept_chats

    • descrizione: accetta automaticamente le richieste di chat (usare con cautela!)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • xfer.file.auto_accept_files

    • descrizione: accetta automaticamente i file in arrivo (usare con cautela!)

    • tipo: bool

    • valori: on, off (valore predefinito: off)

  • xfer.file.auto_rename

    • descrizione: rinomina i file in ingresso se esistenti (aggiunge ".1", ".2", ...)

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • xfer.file.auto_resume

    • descrizione: riprendi automaticamente il trasferimento file se la connessione all'host viene perduta

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • xfer.file.convert_spaces

    • descrizione: converti gli spazi in underscore all'invio dei file

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • xfer.file.download_path

    • descrizione: percorso per il salvataggio dei file in arrivo ("%h" sarà sostituito dalla home di WeeChat, "~/.weechat come predefinita)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "%h/xfer")

  • xfer.file.upload_path

    • descrizione: percorso per la lettura dei file da inviare (quando non specificato dall'utente) ("%h" sarà sostituito dalla home di WeeChat, "~/.weechat come predefinita)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "~")

  • xfer.file.use_nick_in_filename

    • descrizione: usa il nick remoto come prefisso nel nome del file locale alla ricezione

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • xfer.look.auto_open_buffer

    • descrizione: apre automaticamente il buffer xfer quando un nuovo xfer viene aggiunto alla lista

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • xfer.look.progress_bar_size

    • descrizione: dimensione barra di avanzamento, in caratteri (se 0, è disabilitata)

    • tipo: intero

    • valori: 0 .. 256 (valore predefinito: 20)

  • xfer.network.blocksize

    • descrizione: dimensione blocco per l'invio dei pacchetti, in byte

    • tipo: intero

    • valori: 1024 .. 102400 (valore predefinito: 65536)

  • xfer.network.fast_send

    • descrizione: non attendere ACK all'invio del file

    • tipo: bool

    • valori: on, off (valore predefinito: on)

  • xfer.network.own_ip

    • descrizione: Indirizzo IP o DNS per l'invio di file/chat (se vuoto, verrà utilizzata l'interfaccia IP locale)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • xfer.network.port_range

    • descrizione: forza i file in uscita/chat ad utilizzare solo le porte in una data serie (utile per il NAT) (sintassi: una singola porta, es. 5000 o un range di porte, es. 5000-5015. Un valore nullo significa qualsiasi porta, consigliato utilizzare porte maggiori di 1024, perché l'uso di porte inferiori possibile solo per root)

    • tipo: stringa

    • valori: qualsiasi stringa (valore predefinito: "")

  • xfer.network.speed_limit

    • descrizione: limite di velocità per l'invio dei file, in kb per secondo (0 vuol dire senza limite)

    • tipo: intero

    • valori: 0 .. 2147483647 (valore predefinito: 0)

  • xfer.network.timeout

    • descrizione: timeout per la richiesta xfer (in secondi)

    • tipo: intero

    • valori: 5 .. 2147483647 (valore predefinito: 300)

4.11.2. Comandi

/me messaggio
  invia un'azione CTCP all'host remoto

  messaggio: messaggio da inviare
/xfer [list | listfull]
  controllo xfer

      list: lista xfer
  listfull: lista xfer (dettagliata)

  Senza argomenti, il comando apre il buffer con la lista xfer.

5. Autori

5.1. Sviluppatori

Sviluppatore principale

Sébastien Helleu (FlashCode)

5.2. Contributori

Packagers

Emmanuel Bouthenot (kolter), Julien Louis (ptitlouis), Odin

Traduzioni

Jiri Golembiovsky, soltys, Nils Görs, rettub, Frank Zacharias, Pavel Shevchuk, Elián Hanisch (m4v), Voroskoi, Marco Paolone, Ivan Sichmann Freitas

Patches

Dmitry Kobylin, Rudolf Polzer, Jim Ramsay, Pistos, Gwenn, Dominik Honnef, JD Horelick, Stefano Pigozzi, Gu1ll4um3r0m41n

6. Supporto

Prima di chieder supporto, assicurarsi di aver letto la documentazione e le FAQ fornite con WeeChat (la documentazione è questo documento, se non sono state lette tutte le righe prima di questa frase, è possibile ricominciare!).

Per ricevere supporto: