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:

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

1.2. Requisiti

Per poter installare WeeChat, è necessario:

2. Installazione

2.1. Pacchetti binari

I pacchetti binari sono disponibili per molte distribuzioni, incluse:

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

no

plugin tcl

asciidoc (>= 8.2)

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

$ mkdir build
$ cd build
$ cmake ..
$ make
% make install    (come root)
$ mkdir build
$ cd build
$ cmake .. -DPREFIX=/percorso/della/cartella
$ make
$ make install

2.2.3. Compilazione con autotools

$ ./configure
$ make
% make install    (come root)
$ ./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:

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

-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

Visualizza l’aiuto

-k, --keys

Visualizza i tasti predefiniti di WeeChat

-l, --license

Visualizza la licenza di WeeChat

-p, --no-plugin

Disabilita il caricamento automatico dei plugin

-s, --no-script

Disabilita il caricamento automatico dei script

-v, --version

Visualizza 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:

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)
/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

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

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. Colori

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)

3.5.1. I colori per l’interfaccia Curses

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.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
/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 | 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 '!')

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

  Tag utilizzati di frequente:
    no_filter, no_highlight, log0..log9 (livello di log),
    notify_message, notify_private, notify_highlight,
    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.
/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

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

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)

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)

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:

$ echo 'irc.server.freenode */nick nuovonick' >~/.weechat/weechat_fifo_12345
$ echo 'irc.freenode.#weechat *hello!' >~/.weechat/weechat_fifo_12345
$ echo '*hello!' >~/.weechat/weechat_fifo_12345
$ 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)

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 [-all [-nojoin] | -open [-nojoin] | nome_server [nome_server ...] [-nojoin] | nome_host[/porta] [-opzione[=valore]] [-nooption]
  connette ad uno o più server IRC

         -all: connette a tutti i server definiti nella configurazione
       -open: connette a tutti i server aperti ai quali non si è attualmente connessi
  nome_server: nome interno del server a cui connettersi (il server deve essere stato creato con /server add)
      -nojoin: non entrare in nessun canale (anche se l'ingresso automatico è attivo sul server)
    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)

  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
/ctcp destinatario tipo [argomenti]
  invia un messaggio CTCP (Protocollo Client-A-Client)

  destinatario: 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 [canale1[,canale2[,canale3]] [chiave1[,chiave2]]]
  entra in un canale

  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
/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] [destinatario[,destinatario] testo
  invia un messaggio ad un nick o a un canale

        server: invia a questo server (nome interno)
  destinatario: 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] nick testo
  invia messaggio di notifica all'utente

  server: invia a questo server (nome interno)
    nick: utente a cui inviare la notifica
   testo: testo da inviare
/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 grezzi da inviare
/reconnect [-all [-nojoin] | nome_server [nome_server ...] [-nojoin]]
  riconnette a uno (o più) server

         -all: riconnetti a tutti i server
  nome_server: nome del server a cui riconnettersi
       nojoin: non entrare in nessun canale (anche se l'ingresso automatico è abilitato sul server)
/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
$ 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.

/connect oftc
Secondo esempio: connessione a otfc con CertFP
$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
$ cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
/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:

/set irc.msgbuffer.whois private
/unset irc.msgbuffer.whois
/set irc.msgbuffer.freenode.invite current
/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)

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.

  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"

  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

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:

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

Alcuni esempi:

/set logger.level.irc.freenode.#weechat 3
/set logger.level.irc.server.freenode 3
/set logger.level.irc.freenode 3
/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

Per esempio, se si vuole una cartella per server IRC e un file per 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
            |       #miocanale.weechatlog
            |--- oftc/
            |       oftc.weechatlog
            |       #canale1.weechatlog
            |       #canale2.weechatlog

4.8. 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.8.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 caricati

4.8.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 caricati

4.8.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 caricati

4.8.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 caricati

4.8.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 caricati

4.9. Plugin Xfer

Il plugin Xfer fornisce:

4.9.1. Opzioni (xfer.conf)

4.9.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

Sébastien Helleu (FlashCode)

sviluppatore principale

5.2. Contributori

Emmanuel Bouthenot (kolter)

packager debian

Ptitlouis

packager debian precedente

Jiri Golembiovsky

traduzione in ceco, patch

soltys

traduzione in polacco

Nils Görs
rettub
Frank Zacharias

traduzione in tedesco

Pavel Shevchuk

traduzione in russo

m4v

traduzione in spagnolo

Voroskoi

traduzione in ungherese

Marco Paolone

traduzione in italiano

Dmitry Kobylin

plugin tcl

Rudolf Polzer
Jim Ramsay
Pistos
Gwenn
Dominik Honnef

patch

Odin

SuSE RPM

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: