2353 lines
91 KiB
Plaintext
2353 lines
91 KiB
Plaintext
Guida per l'Utente di WeeChat
|
|
=============================
|
|
Sébastien Helleu <flashcode@flashtux.org>
|
|
|
|
|
|
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
|
|
|
|
|
|
[[introduction]]
|
|
Introduzione
|
|
------------
|
|
|
|
WeeChat (Wee Enhanced Environment for Chat) è un client di chat
|
|
libero, veloce e leggero, realizzato per diversi sistemi operativi.
|
|
|
|
[[features]]
|
|
Caratteristiche
|
|
~~~~~~~~~~~~~~~
|
|
|
|
Le principali caratteristiche:
|
|
|
|
* multi-protocollo (IRC, Jabber)
|
|
* connessione a server multipli (con SSL, IPv6, proxy)
|
|
* piccolo, veloce e leggero
|
|
* personalizzabile ed estensibile con plugin e script
|
|
* conforme alle RFC di IRC http://www.ietf.org/rfc/rfc1459.txt[1459],
|
|
http://www.ietf.org/rfc/rfc2810.txt[2810],
|
|
http://www.ietf.org/rfc/rfc2811.txt[2811],
|
|
http://www.ietf.org/rfc/rfc2812.txt[2812] e
|
|
http://www.ietf.org/rfc/rfc2813.txt[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/
|
|
|
|
[[pre-requisites]]
|
|
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 directory di
|
|
sistema)
|
|
* librerie ncurses
|
|
|
|
|
|
[[install]]
|
|
Installazione
|
|
-------------
|
|
|
|
[[binary_packages]]
|
|
Pacchetti binari
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
I pacchetti binari sono disponibili per molte distribuzioni, incluse:
|
|
|
|
* Debian (o qualunque distribuzione compatibile):
|
|
`apt-get install weechat-curses`
|
|
* Mandriva/RedHat (o qualunque distribuzione compatibile con RPM):
|
|
`rpm -i /path/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.
|
|
|
|
[[source_package]]
|
|
Sorgenti
|
|
~~~~~~~~
|
|
|
|
WeeChat può essere compilato con cmake oppure autotools
|
|
(tuttavia si raccomanda cmake).
|
|
|
|
[[dependencies]]
|
|
Dipendenze
|
|
^^^^^^^^^^
|
|
|
|
La seguente tabella mostra l'elenco di pacchetti richiesti o opzionali per
|
|
compilare WeeChat.
|
|
|
|
[width="100%",cols="5,^3,^3,13",options="header"]
|
|
|========================================
|
|
| Pacchetto ^(1)^ | Versione | Richiesto | Caratteristica
|
|
| cmake | | *sì* | compilazione (ancora possibile con autotools, ma si raccomanda cmake)
|
|
| libncursesw5-dev ^(2)^ | | *sì* | interfaccia ncurses
|
|
| libcurl4-gnutls-dev | | *sì* | trasferimento URL
|
|
// TRANSLATION MISSING
|
|
| zlib1g-dev | | *sì* | compression of packets in relay plugin (weechat protocol), script plugin
|
|
// TRANSLATION MISSING
|
|
| libgcrypt11-dev | | *sì* | autenticazione SASL per i server IRC che utilizzano il meccanismo DH-BLOWFISH, script plugin
|
|
// TRANSLATION MISSING
|
|
| libgnutls-dev | ≥ 2.2.0 | | connessione SSL al server IRC, support of SSL in relay plugin
|
|
| gettext | | | internazionalizzazione (traduzione dei messaggi; la lingua base è l'inglese)
|
|
| ca-certificates | | | certificati per le connessioni SSL
|
|
| libaspell-dev | | | plugin aspell
|
|
| python-dev | ≥ 2.5 ^(3)^ | | plugin python
|
|
| libperl-dev | | | plugin perl
|
|
| ruby1.8-dev | | | plugin ruby
|
|
| liblua5.1-0-dev | | | plugin lua
|
|
| tcl-dev | ≥ 8.5 | | plugin tcl
|
|
| guile-1.8-dev | | | plugin guile (scheme)
|
|
| asciidoc | ≥ 8.5.0 | | compilazione della documentazione (file HTML)
|
|
| source-highlight | | | 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). +
|
|
^(3)^ La versione raccomandata di Python è la 2.7 (tutti gli script funzionano
|
|
correttamente con la versione 2.7, ma non con le versioni ≤ 2.6 o ≥ 3.0).
|
|
|
|
[[compile_with_cmake]]
|
|
Compilazione con cmake
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
* Installazione nelle directory di sistema (richiede privilegi di 'root'):
|
|
|
|
----------------------------------------
|
|
$ mkdir build
|
|
$ cd build
|
|
$ cmake ..
|
|
$ make
|
|
% make install (come root)
|
|
----------------------------------------
|
|
|
|
* Installazione in una directory personalizzata:
|
|
|
|
----------------------------------------
|
|
$ mkdir build
|
|
$ cd build
|
|
$ cmake .. -DPREFIX=/path/della/directory
|
|
$ make
|
|
$ make install
|
|
----------------------------------------
|
|
|
|
[[compile_with_autotools]]
|
|
Compilazione con autotools
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
* Installazione nelle directory di sistema (richiede privilegi di 'root'):
|
|
|
|
----------------------------------------
|
|
$ ./configure
|
|
$ make
|
|
% make install (come root)
|
|
----------------------------------------
|
|
|
|
* Installazione in una directory personalizzata:
|
|
|
|
----------------------------------------
|
|
$ ./configure --prefix=/path/to/directory
|
|
$ make
|
|
$ make install
|
|
----------------------------------------
|
|
|
|
[[git_sources]]
|
|
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
|
|
<<source_package,sorgenti>>).
|
|
|
|
[[report_crashes]]
|
|
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
|
|
|
|
[[debug_info]]
|
|
Informazioni di debug
|
|
^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Se si compila con cmake:
|
|
|
|
----------------------------------------
|
|
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
|
|
----------------------------------------
|
|
|
|
Se compilato con gli autotools, il debug è attivato automaticamente (`--with-debug=1`).
|
|
|
|
Se è stato installato il pacchetto binario, installare il pacchetto 'weechat-gdb'.
|
|
|
|
[[core_files]]
|
|
File core
|
|
^^^^^^^^^
|
|
|
|
// TRANSLATION MISSING
|
|
To enable 'core' files, you can use option
|
|
<<option_weechat.startup.sys_rlimit,weechat.startup.sys_rlimit>>:
|
|
|
|
----------------------------------------
|
|
/set weechat.startup.sys_rlimit "core:-1"
|
|
----------------------------------------
|
|
|
|
// TRANSLATION MISSING
|
|
For WeeChat ≤ 0.3.8 or if you want to enable core files even before WeeChat
|
|
starts, you can use `ulimit` command.
|
|
|
|
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
|
|
----------------------------------------
|
|
|
|
[[gdb_backtrace]]
|
|
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 directory in cui è in esecuzione WeeChat (e
|
|
*non* la directory 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 path 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) set logging file /tmp/crash.txt
|
|
(gdb) set logging on
|
|
Copying output to /tmp/crash.txt.
|
|
(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!
|
|
|
|
[[debug_running_weechat]]
|
|
Debug di WeeChat durante l'esecuzione
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Per eseguire il debug di un'istanza di WeeChat in esecuzione (ad esempio se
|
|
WeeChat sembra sia bloccato), è possibile usare gdb con l'id del processo
|
|
(sostituire '12345' con il PID del processo weechat-curses):
|
|
|
|
----------------------------------------
|
|
gdb /usr/bin/weechat-curses 12345
|
|
----------------------------------------
|
|
|
|
Poi, come per un crash, usare il comando `bt full`:
|
|
|
|
----------------------------------------
|
|
(gdb) bt full
|
|
----------------------------------------
|
|
|
|
|
|
[[usage]]
|
|
Utilizzo
|
|
--------
|
|
|
|
[[running_weechat]]
|
|
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 directory come home per WeeChat (utilizzata per i file di
|
|
configurazione, log, plugin e script dell'utente), il valore predefinito
|
|
è ~/.weechat (nota: directory viene creata se non trovata da 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.
|
|
|
|
-r, --run-command::
|
|
Esegue un comando(i) dopo l'avvio (più comandi possono essere separati da
|
|
punto e virgola).
|
|
|
|
-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 directory:
|
|
'~/.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 <<weechat_commands,comandi di WeeChat>>).
|
|
|
|
[[screen_layout]]
|
|
Layout dello schermo
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Esempio di terminale con WeeChat:
|
|
|
|
........................................
|
|
┌─────────────────────────────────────────────────────────────────────────────────────────┐
|
|
│Benvenuti in #test, questo è un canale di test │ ◀ barra "title"
|
|
│12:52:27 --> | Flashy (flashcode@weechat.org) è entrato in #test │@Flashy│
|
|
│12:52:27 -- | Nick #test: [@Flashy @joe +weebot] │@joe │
|
|
│12:52:27 -- | Canale #test: 4 nick (2 ops, 0 halfop, 1 voce, 1 normale) │+weebot│
|
|
│12:52:27 -- | Canale creato il Tue Jan 27 06:30:17 2009 │peter │
|
|
│12:54:15 peter | ehi! │ │
|
|
│12:55:01 @joe | ciao │ │
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │ ◀ chat + barra "nicklist"
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │
|
|
│ │ │
|
|
│[12:55] [6] [irc/freenode] 3:#test(+n){4}* [Act: 4:#abc(2,5), 6] │ ◀ barra "status"
|
|
│[@Flashy] ciao peter!█ │ ◀ barra "input"
|
|
└─────────────────────────────────────────────────────────────────────────────────────────┘
|
|
........................................
|
|
|
|
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:
|
|
|
|
[width="100%",cols="^3,^3l,10",options="header"]
|
|
|========================================
|
|
| Elemento | Esempio | Descrizione
|
|
| time | [12:55] | ora
|
|
| buffer_count | [6] | 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 | nome del buffer attivo
|
|
| buffer_modes | +n | modalità canale IRC
|
|
| buffer_nicklist_count | {4} | 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 | [Att: 4:#abc(2,5), 6] | elenco dei buffer con attività (messaggi non letti) (nell'esempio, 2 notifiche e 5 messaggi non letti su #abc, un messaggio non letto sul buffer #6)
|
|
| 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:
|
|
|
|
[width="100%",cols="^3,^6l,8",options="header"]
|
|
|========================================
|
|
| Elemento | Esempio | Descrizione
|
|
| input_paste | [Incollare 7 righe ? [ctrl-Y] Sì [ctrl-N] No] | chiede all'utente se incollare le righe
|
|
| input_prompt | [@Flashy] | prompt per l'input (nick per il plugin irc)
|
|
| away | (assente) | indicatore di assenza
|
|
| input_search | [Ricerca testo] | indicatore di ricerca testo
|
|
| input_text | ciao peter! | testo in input
|
|
|========================================
|
|
|
|
[[buffers_and_windows]]
|
|
Buffer e finestre
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
Un 'buffer' è composto da un numero, un nome, delle righe visualizzate (e
|
|
altri dati).
|
|
|
|
Esempi di buffer:
|
|
|
|
* buffer core (creato by WeeChat all'avvio, non può essere chiuso)
|
|
* server irc (mostra i messaggi dal server)
|
|
* canale irc
|
|
* query irc
|
|
|
|
Una 'finestra' (o window) è un'area dello schermo in cui viene visualizzato
|
|
un buffer. È possibile dividere lo schermo in più finestre.
|
|
|
|
Ogni finestra visualizza un buffer. Un buffer può essere nascosto (non visualizzato
|
|
da una finestra) o visualizzato da una o più finestre.
|
|
|
|
Esempio di split orizzontale (`/window splith`):
|
|
|
|
........................................
|
|
┌─────────────────────────────────────────────────────────────────────────────────────────┐
|
|
│Welcome to #abc, channel about nothing! │
|
|
│12:55:12 Max | hi │@Flashy│
|
|
│12:55:20 @Flashy | hi Max! │Max │
|
|
│12:55:32 Max | how are you? │ │
|
|
│ │ │
|
|
│ │ │ ◀ window #2
|
|
│ │ │ (buffer #4)
|
|
│ │ │
|
|
│ │ │
|
|
│[12:55] [6] [irc/freenode] 4:#abc(+n){2} │
|
|
│[@Flashy] │
|
|
│─────────────────────────────────────────────────────────────────────────────────────────│
|
|
│Welcome to #test, this is a test channel │
|
|
│12:54:15 peter | hey! │@Flashy│
|
|
│12:55:01 @joe | hello │@joe │
|
|
│ │+weebot│
|
|
│ │peter │
|
|
│ │ │ ◀ window #1
|
|
│ │ │ (buffer #3)
|
|
│ │ │
|
|
│ │ │
|
|
│[12:55] [6] [irc/freenode] 3:#test(+n){4} │
|
|
│[@Flashy] hi peter!█ │
|
|
└─────────────────────────────────────────────────────────────────────────────────────────┘
|
|
........................................
|
|
|
|
Esempio di split verticale (`/window splitv`):
|
|
|
|
........................................
|
|
┌─────────────────────────────────────────────────────────────────────────────────────────┐
|
|
│Welcome to #test, this is a test channel │Welcome to #abc, channel about nothing! │
|
|
│12:54:15 peter | hey! │@Flashy│12:55:12 Max | hi │@Flashy│
|
|
│12:55:01 @joe | hello │@joe │12:55:20 @Flashy | hi Max! │Max │
|
|
│ │+weebot│12:55:32 Max | how are you? │ │
|
|
│ │peter │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│[12:55] [6] [irc/freenode] 3:#test(+n){4} │[12:55] [6] [irc/freenode] 4:#abc(+n){2} │
|
|
│[@Flashy] hi peter!█ │[@Flashy] │
|
|
└─────────────────────────────────────────────────────────────────────────────────────────┘
|
|
▲ window #1 ▲ window #2
|
|
(buffer #3) (buffer #4)
|
|
........................................
|
|
|
|
Esempio di split orizzontale + verticale:
|
|
|
|
........................................
|
|
┌─────────────────────────────────────────────────────────────────────────────────────────┐
|
|
│Welcome to #test, this is a test channel │Welcome to #def, another channel │
|
|
│12:54:15 peter | hey! │@Flashy│12:55:42 @Flashy | hello world │@Flashy│
|
|
│12:55:01 @joe | hello │@joe │12:55:56 alex | hi Flashy │alex │
|
|
│ │+weebot│ │ │
|
|
│ │peter │ │ │ ◀ window #3
|
|
│ │ │ │ │ (buffer #5)
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│ │ │[12:55] [6] [irc/freenode] 5:#def(+n){2} │
|
|
│ │ │[@Flashy] │
|
|
│ │ │────────────────────────────────────────────│
|
|
│ │ │Welcome to #abc, channel about nothing! │
|
|
│ │ │12:55:12 Max | hi │@Flashy│
|
|
│ │ │12:55:20 @Flashy | hi Max! │Max │
|
|
│ │ │12:55:32 Max | how are you? │ │
|
|
│ │ │ │ │
|
|
│ │ │ │ │ ◀ window #2
|
|
│ │ │ │ │ (buffer #4)
|
|
│ │ │ │ │
|
|
│ │ │ │ │
|
|
│[12:55] [6] [irc/freenode] 3:#test(+n){4} │ [12:55] [6] [irc/freenode] 4:#abc(+n){2} │
|
|
│[@Flashy] hi peter!█ │ [@Flashy] │
|
|
└─────────────────────────────────────────────────────────────────────────────────────────┘
|
|
▲ window #1
|
|
(buffer #3)
|
|
........................................
|
|
|
|
[[notify_levels]]
|
|
Livelli di notifica
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
Sono possibili quattro livelli per i messaggi mostrati nei buffer, dal più basso
|
|
al più alto:
|
|
|
|
* 'low': messaggio di bassa importanza (ad esempio entrata/uscita/disconnessione
|
|
di irc)
|
|
* 'message': messaggio da un utente
|
|
* 'private': messaggio in un buffer privato
|
|
* 'highlight': messaggio con notifica
|
|
|
|
Ogni buffer ha un livello di notifica, che viene usato per decidere quale
|
|
messaggio il buffer andrà ad aggiungere nella hotlist.
|
|
|
|
Il livello predefinito di notifica può essere impostato usando l'opzione
|
|
<<option_weechat.look.buffer_notify_default,weechat.look.buffer_notify_default>>,
|
|
il valore predefinito è 'all'.
|
|
|
|
[width="50%",cols="3m,10",options="header"]
|
|
|========================================
|
|
| Livello di notifica | Livello del messaggio aggiunto alla hotlist
|
|
| none | (nessuno)
|
|
| highlight | 'highlight' + 'private'
|
|
| message | 'highlight' + 'private' + 'message'
|
|
| all | 'highlight' + 'private' + 'message' + 'low'
|
|
|========================================
|
|
|
|
Il livello di notifica può essere definito per un set di buffer, ad esempio
|
|
tutti i buffer per il server irc "freenode":
|
|
|
|
----------------------------------------
|
|
/set weechat.notify.irc.freenode message
|
|
----------------------------------------
|
|
|
|
Imposta il livello di notifica 'highlight' solo sul canale '#weechat':
|
|
|
|
----------------------------------------
|
|
/set weechat.notify.irc.freenode.#weechat highlight
|
|
----------------------------------------
|
|
|
|
Il livello di notifica per un buffer può essere impostato con il comando `/buffer`:
|
|
|
|
----------------------------------------
|
|
/buffer notify highlight
|
|
----------------------------------------
|
|
|
|
[[key_bindings]]
|
|
Associazione tasti predefinita
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
// 'C-' = ctrl, 'A-' = alt, 'S-' = shift
|
|
|
|
[[key_bindings_command_line]]
|
|
Tasti per la riga di comando
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
[width="100%",cols="^.^3,.^10,.^5l",options="header"]
|
|
|========================================
|
|
| Tasti | Descrizione | Comando
|
|
| @k(←) .2+| Passa al carattere precedente nella riga di comando .2+| /input move_previous_char
|
|
| @k(C-)@k(b)
|
|
| @k(→) .2+| Passa al carattere successivo nella riga di comando .2+| /input move_next_char
|
|
| @k(C-)@k(f)
|
|
| @k(C-)@k(←) .2+| Passa alla parola precedente nella riga di comando .2+| /input move_previous_word
|
|
| @k(A-)@k(b)
|
|
| @k(C-)@k(→) .2+| Passa alla parola successiva nella riga di comando .2+| /input move_next_word
|
|
| @k(A-)@k(f)
|
|
| @k(Home) .2+| Si sposta all'inizio della riga di comando .2+| /input move_beginning_of_line
|
|
| @k(C-)@k(a)
|
|
| @k(End) .2+| Si sposta alla fine della riga di comando .2+| /input move_end_of_line
|
|
| @k(C-)@k(e)
|
|
| @k(C-)@k(c) , @k(b) | Inserisce il codice per il testo in grassetto | /input insert \x02
|
|
| @k(C-)@k(c) , @k(c) | Inserisce il codice per il testo colorato | /input insert \x03
|
|
| @k(C-)@k(c) , @k(i) | Inserisce il codice per il testo in corsivo | /input insert \x1D
|
|
| @k(C-)@k(c) , @k(o) | Inserisce il codice per il reset dei colori | /input insert \x0F
|
|
| @k(C-)@k(c) , @k(r) | Inserisce il codice per l'inversione dei colori | /input insert \x12
|
|
| @k(C-)@k(c) , @k(u) | Inserisce il codice per il testo sottolineato | /input insert \x15
|
|
| @k(Del) .2+| Elimina il carattere successivo nella riga di comando .2+| /input delete_next_char
|
|
| @k(C-)@k(d)
|
|
| @k(Backsp.) .2+| Elimina il carattere precedente nella riga di comando .2+| /input delete_previous_char
|
|
| @k(C-)@k(h)
|
|
| @k(C-)@k(k) | Elimina dal cursore fino alla fine della riga di comando (la stringa eliminata viene copiata negli appunti) | /input delete_end_of_line
|
|
| @k(C-)@k(r) | Cerca del testo nella cronologia del buffer (consultare <<key_bindings_search_context,tasti per il contesto search>>) | /input search_text
|
|
| @k(C-)@k(t) | Inverti caratteri | /input transpose_chars
|
|
| @k(C-)@k(u) | Elimina dal cursore fino all'inizio della riga di comando (la stringa eliminata viene copiata negli appunti) | /input delete_beginning_of_line
|
|
| @k(C-)@k(w) | Elimina la parola precedente nella riga di comando (la stringa eliminata viene copiata negli appunti) | /input delete_previous_word
|
|
| @k(C-)@k(y) | Incolla il contenuto degli appunti | /input clipboard_paste
|
|
| @k(C-)@k(_) | Annulla l'ultima azione sulla riga di comando | /input undo
|
|
| @k(A-)@k(_) | Ripete l'ultima azione sulla riga di comando | /input redo
|
|
| @k(Tab) | Completa comando o nick (@k(Tab) di nuovo: trova prossimo completamento) | /input complete_next
|
|
| @k(S-)@k(Tab) | Senza completamento: effettua un completamento parziale, con completamento in sospeso: completa con il completamento precedente | /input complete_previous
|
|
| @k(Invio) .3+| Esegue comando o invia messaggio (in modalità ricerca: ferma ricerca) .3+| /input return
|
|
| @k(C-)@k(j)
|
|
| @k(C-)@k(m)
|
|
| @k(↑) | Chiama comando/messaggio precedente (in modalità ricerca: cerca in alto) | /input history_previous
|
|
| @k(↓) | Chiama comando/messaggio precedente (in modalità ricerca: cerca in basso) | /input history_next
|
|
| @k(C-)@k(↑) | Chiama il comando/messaggio precedente nella cronologia globale (identico per tutti i buffer) | /input history_global_previous
|
|
| @k(C-)@k(↓) | Chiama il comando/messaggio successivo nella cronologia globale (identico per tutti i buffer) | /input history_global_next
|
|
| @k(A-)@k(d) | Elimina la parola successiva nella riga di comando (la stringa eliminata viene copiata negli appunti) | /input delete_next_word
|
|
| @k(A-)@k(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
|
|
| @k(A-)@k(r) | Elimina l'intera riga di comando | /input delete_line
|
|
| @k(A-)@k(s) | Abilita/disabilita aspell | /mute aspell toggle
|
|
|========================================
|
|
|
|
[[key_bindings_buffers_windows]]
|
|
Tasti per buffer / finestre
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
[width="100%",cols="^.^3,.^10,.^5l",options="header"]
|
|
|========================================
|
|
| Tasti | Descrizione | Comando
|
|
| @k(C-)@k(l) | Ridisegna l'intera finestra | /window refresh
|
|
| @k(C-)@k(s) , @k(C-)@k(u) | Imposta l'evidenziatore dei messaggi non letti su tutti i buffer | /input set_unread
|
|
| @k(C-)@k(x) | Passa al buffer attivo se i buffer sono collegati con lo stesso numero | /input switch_active_buffer
|
|
| @k(PgUp) | Scorre in alto di una pagina nella cronologia del buffer | /window page_up
|
|
| @k(PgDn) | Scorre di una pagina in basso nella cronologia del buffer | /window page_down
|
|
| @k(A-)@k(PgUp) | Scorre di qualche riga in alto nella cronologia del buffer | /window scroll_up
|
|
| @k(A-)@k(PgDn) | Scorre di qualche riga in basso nella cronologia del buffer | /window scroll_down
|
|
| @k(A-)@k(Home) | Scorre in cima al buffer | /window scroll_top
|
|
| @k(A-)@k(End) | Scorre alla fine del del buffer | /window scroll_bottom
|
|
| @k(A-)@k(←) .4+| Passa al buffer precedente .4+| /buffer -1
|
|
| @k(A-)@k(↑)
|
|
| @k(C-)@k(p)
|
|
| @k(F5)
|
|
| @k(A-)@k(→) .4+| Passa al buffer successivo .4+| /buffer +1
|
|
| @k(A-)@k(↓)
|
|
| @k(C-)@k(n)
|
|
| @k(F6)
|
|
| @k(F7) | Passa alla finestra precedente | /window -1
|
|
| @k(F8) | Passa alla finestra successiva | /window +1
|
|
| @k(F9) | Scorre il titolo del buffer sulla sinistra | /bar scroll title * -30%
|
|
| @k(F10) | Scorre il titolo del buffer sulla destra | /bar scroll title * +30%
|
|
| @k(F11) | Scorre di una pagina in alto nella lista nick | /bar scroll nicklist * -100%
|
|
| @k(F12) | Scorre di una pagina in basso nella lista nick | /bar scroll nicklist * +100%
|
|
| @k(A-)@k(F11) | Sposta all'inizio della lista nick | /bar scroll nicklist * b
|
|
| @k(A-)@k(F12) | Sposta alla fine della lista nick | /bar scroll nicklist * e
|
|
| @k(A-)@k(a) | Passa al buffer successivo con attività (con priorità: highligh, messagge, altro) | /input jump_smart
|
|
| @k(A-)@k(h) | Pulisce hotlist (notifica di attività su altri buffer) | /input hotlist_clear
|
|
| @k(A-)@k(j) , @k(A-)@k(l) | Passa all'ultimo buffer | /input jump_last_buffer
|
|
| @k(A-)@k(j) , @k(A-)@k(r) | Passa al buffer raw IRC | /server raw
|
|
| @k(A-)@k(j) , @k(A-)@k(s) | Passa al buffer server IRC | /server jump
|
|
| @k(A-)@k(0...9) | Passa al buffer numero (0 = 10) | /buffer *N
|
|
| @k(A-)@k(j) , @k(01...99) | Passa al buffer numero | /buffer NN
|
|
| @k(A-)@k(m) | Abilita/disabilita | /mouse toggle
|
|
| @k(A-)@k(n) | Scorre fino alla notifica successiva | /window scroll_next_highlight
|
|
| @k(A-)@k(p) | Scorre fino alla notifica precedente | /window scroll_previous_highlight
|
|
| @k(A-)@k(u) | Scorre fino alla prima riga non letta nel buffer | /window scroll_unread
|
|
| @k(A-)@k(w) , @k(A-)@k(↑) | Passa alla finestra in alto | /window up
|
|
| @k(A-)@k(w) , @k(A-)@k(↓) | Passa alla finestra in basso | /window down
|
|
| @k(A-)@k(w) , @k(A-)@k(←) | Passa alla finestra sulla sinistra | /window left
|
|
| @k(A-)@k(w) , @k(A-)@k(→) | Passa alla finestrs sulla destra | /window right
|
|
| @k(A-)@k(w) , @k(A-)@k(b) | Bilancia le dimensioni di tutte le finestre | /window balance
|
|
| @k(A-)@k(w) , @k(A-)@k(s) | Scambia i buffer di due finestra | /window swap
|
|
| @k(A-)@k(z) | Ingrandimento sulla finestra attiva (@k(A-)@k(z) di nuovo: ripristina lo stato iniziale della finestra, prima dell'ingrandimento) | /window zoom
|
|
| @k(A-)@k(<) | Passa al buffer precedente nella lista dei buffer visitati | /input jump_previously_visited_buffer
|
|
| @k(A-)@k(>) | Passa al buffer successivo nella lista dei buffer visitati | /input jump_next_visited_buffer
|
|
| @k(A-)@k(/) | Passa all'ultimo buffer mostrato (prima dell'ultimo passaggio ad un buffer) | /input jump_last_buffer_displayed
|
|
| @k(A-)@k(=) | Attiva/disattiva filtri | /filter toggle
|
|
|========================================
|
|
|
|
[[key_bindings_search_context]]
|
|
Tasti per il contesto "search"
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Questi tasti sono usati nel contesto "search" (quando viene digitato
|
|
@k(C-)@k(r) per cercare del testo nel buffer).
|
|
|
|
[width="100%",cols="^.^3,.^10,.^5l",options="header"]
|
|
|========================================
|
|
| Key | Descrizione | Comando
|
|
| @k(C-)@k(r) | Passa alla ricerca esatta | /input search_switch_case
|
|
| @k(↑) | Cerca riga precedente | /input search_previous
|
|
| @k(↓) | Cerca riga successiva | /input search_next
|
|
| @k(Invio) .3+| Ferma ricerca .3+| /input search_stop
|
|
| @k(C-)@k(j)
|
|
| @k(C-)@k(m)
|
|
|========================================
|
|
|
|
[[key_bindings_cursor_context]]
|
|
Tasti per il contesto "cursor"
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Questi tasti sono usati nel contesto "cursor" (movimento libero del cursore
|
|
sullo schermo.
|
|
|
|
[width="100%",cols="^.^3,^.^3,.^10,.^8l",options="header"]
|
|
|========================================
|
|
| Tasto | Zona | Descrizione | Comando
|
|
| @k(↑) | - | Sposta il cursore di una riga in alto | /cursor move up
|
|
| @k(↓) | - | Sposta il cursore di una riga in basso | /cursor move down
|
|
| @k(←) | - | Sposta il cursore di una colonna a sinistra | /cursor move left
|
|
| @k(→) | - | Sposta il cursore di una colonna a destra | /cursor move right
|
|
| @k(A-)@k(↑) | - | Sposta il cursore nell'area in alto | /cursor move area_up
|
|
| @k(A-)@k(↓) | - | Sposta il cursore nell'area in basso | /cursor move area_down
|
|
| @k(A-)@k(←) | - | Sposta il cursore nell'area a sinistra | /cursor move area_left
|
|
| @k(A-)@k(→) | - | Sposta il cursore nell'area a destra | /cursor move area_right
|
|
| @k(m) | chat | Cita messaggio | hsignal:chat_quote_message;/cursor stop
|
|
| @k(q) | chat | Cita prefisso + messaggio | hsignal:chat_quote_prefix_message;/cursor stop
|
|
| @k(Q) | chat | Cita ora + prefisso + messaggio | hsignal:chat_quote_time_prefix_message;/cursor stop
|
|
| @k(b) | lista nick | Ban di un nick | /window ${_window_number};/ban ${nick}
|
|
| @k(k) | lista nick | Kick di un nick | /window ${_window_number};/kick ${nick}
|
|
| @k(K) | lista nick | Kick e ban di un nick | /window ${_window_number};/kickban ${nick}
|
|
| @k(q) | lista nick | Apri query con il nick | /window ${_window_number};/query ${nick};/cursor stop
|
|
| @k(w) | lista nick | Effettua un whois sul nick | /window ${_window_number};/whois ${nick}
|
|
| @k(Enter) .3+| - .3+| Ferma la modalità cursore .3+| /cursor stop
|
|
| @k(C-)@k(j)
|
|
| @k(C-)@k(m)
|
|
|========================================
|
|
|
|
[[key_bindings_mouse_context]]
|
|
Tasti per il contesto "mouse"
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Questi tasti sono usati nel contesto "mouse", ovvero quando si verifica un
|
|
evento del mouse.
|
|
|
|
// TRANSLATION MISSING (6)
|
|
[width="100%",cols="^.^3,^.^3,^.^3,.^10,.^8l",options="header"]
|
|
|========================================
|
|
| Tasto ^(1)^ | Azione | Zona | Descrizione | Comando
|
|
| ◾◽◽ | - | chat | Passa alla finestra | /window ${_window_number}
|
|
| ◾◽◽ | sinistra | chat | Passa al buffer precedente | /window ${_window_number};/buffer +1
|
|
| ◾◽◽ | destra | chat | Passa al buffer successivo | /window ${_window_number};/buffer +1
|
|
| ◾◽◽ | sinistra (lungo) | chat | Switch to first buffer | /window ${_window_number};/buffer 1
|
|
| ◾◽◽ | destra (lungo) | chat | Passa all'ultimo buffer | /window ${_window_number};/input jump_last_buffer
|
|
| ◾◽◽ | - | chat (script buffer) | Select line in script buffer | /script go ${_chat_line_y}
|
|
| ◽◽◾ | - | chat (script buffer) | Install/remove script | /script go ${_chat_line_y};/script installremove ${script_name_with_extension}
|
|
| ⇑ | - | chat | Scorre di qualche riga in alto nella cronologia del buffer | /window scroll_up -window ${_window_number}
|
|
| ⇓ | - | chat | Scorre di qualche riga in basso nella cronologia del buffer | /window scroll_down -window ${_window_number}
|
|
| ⇑ | - | chat (script buffer) | Move 5 lines up in script buffer | /script up 5
|
|
| ⇓ | - | chat (script buffer) | Move 5 lines down in script buffer | /script down 5
|
|
| @k(C-)⇑ | - | chat | Scroll horizontally to the left | /window scroll_horiz -window ${_window_number} -10%
|
|
| @k(C-)⇓ | - | chat | Scroll horizontally to the right | /window scroll_horiz -window ${_window_number} +10%
|
|
| ◾◽◽ | su | lista nick | Scorre di una pagina in alto nella lista nick | /bar scroll nicklist ${_window_number} -100%
|
|
| ◾◽◽ | giù | lista nick | Scorre di una pagina in basso nella lista nick | /bar scroll nicklist ${_window_number} +100%
|
|
| ◾◽◽ | up (lungo) | lista nick | Sposta all'inizio della lista nick | /bar scroll nicklist ${_window_number} b
|
|
| ◾◽◽ | giù (lungo) | lista nick | Sposta alla fine della lista nick | /bar scroll nicklist ${_window_number} e
|
|
| ◾◽◽ | - | lista nick | Apre una query con un nick | /window ${_window_number};/query ${nick}
|
|
| ◽◽◾ | - | lista nick | Effettua un whois su un nick | /window ${_window_number};/whois ${nick}
|
|
| ◾◽◽ | sinistra | lista nick | Kick di un nick | /window ${_window_number};/kick ${nick}
|
|
| ◾◽◽ | sinistra (lungo) | lista nick | Kick e ban di un nick | /window ${_window_number};/kickban ${nick}
|
|
| ◽◽◾ | sinistra | lista nick | Ban di un nick | /window ${_window_number};/ban ${nick}
|
|
| ◽◽◾ | - | input | Cattura un evento del mouse e inserisce il codice nella riga di comando | /input grab_mouse_area
|
|
| ⇑ | - | ogni barra | Scorre la barra del -20% | /bar scroll ${_bar_name} ${_window_number} -20%
|
|
| ⇓ | - | ogni barra | Scorre la barra del +20% | /bar scroll ${_bar_name} ${_window_number} +20%
|
|
| ◽◾◽ | - | ovunque | Avvia la modalità cursore in questo punto | /cursor go ${_x},${_y}
|
|
|========================================
|
|
|
|
// TRANSLATION MISSING
|
|
[NOTE]
|
|
^(1)^ "⇑" and "⇓" are wheel up and down.
|
|
|
|
[[mouse]]
|
|
Supporto del mouse
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
WeeChat supporta i click e le azioni del mouse. Funziona con il terminale
|
|
locale, e da remoto via connessione ssh con o senza screen/tmux.
|
|
|
|
[[mouse_enable]]
|
|
Abilitare il mouse
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
Per abilitare il mouse all'avvio:
|
|
|
|
----------------------------------------
|
|
/set weechat.look.mouse on
|
|
----------------------------------------
|
|
|
|
Per abilitarlo subito, digitare @k(A-)@k(m) oppure eseguire il seguente comando:
|
|
|
|
----------------------------------------
|
|
/mouse enable
|
|
----------------------------------------
|
|
|
|
È possibile disabilitarlo temporaneamente, e associare il comando ad un
|
|
tasto. Ad esempio il tasto @k(A-)@k(x) per disabilitare il mouse per 10 secondi:
|
|
|
|
----------------------------------------
|
|
/key bind meta-x /mouse toggle 10
|
|
----------------------------------------
|
|
|
|
Quando il mouse è abilitato in WeeChat, è possibile usare il modificatore
|
|
@k(-S-) per selezionare o cliccare nel terminale, come se il mouse fosse
|
|
disabilitato (in alcuni terminali come iTerm, bisogna usare @k(-A-) invece di
|
|
@k(-S-)).
|
|
|
|
[NOTE]
|
|
Per qualunque problema con il mouse, consultare 'FAQ di WeeChat'.
|
|
|
|
[[mouse_bind_events]]
|
|
Associare gli eventi del mouse a comandi
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Molti eventi del mouse predefiniti sono già definiti da WeeChat (consultare
|
|
<<key_bindings_mouse_context,tasti per il contesto "mouse">>).
|
|
|
|
È possibile cambiare o aggiungere combinazioni con il comando `/key` usando il
|
|
contesto "mouse" (per la sintassi, consultare <<command_weechat_key,comando /key>>).
|
|
|
|
Il nome dell'evento consiste di un modificatore (opzionale), il nome di un
|
|
pulsante/rotellina e un'azione (opzionale). Elementi diversi sono separati da "-".
|
|
|
|
Elenco di modificatori
|
|
|
|
[width="50%",cols="3m,4",options="header"]
|
|
|========================================
|
|
| Modificatore | Descrizione
|
|
| ctrl | tasto @k(-C-)
|
|
| alt | tasto @k(-A-)
|
|
| ctrl-alt | tasto @k(-C-) e @k(-A-)
|
|
|========================================
|
|
|
|
Elenco di pulsanti/rotellina:
|
|
|
|
[width="50%",cols="3m,4",options="header"]
|
|
|========================================
|
|
| Pulsante/rotellina | Descrizione
|
|
| button1 | click sul tasto sinistro
|
|
| button2 | click sul tasto destro
|
|
| button3 | click sul tasto centrale (spesso click sulla rotellina)
|
|
| button4 ... button9 | click sui pulsanti extra
|
|
| wheelup | rotellina (su)
|
|
| wheeldown | rotellina (giù)
|
|
|========================================
|
|
|
|
Elenco di azioni (solo per i pulsanti, non la rotellina):
|
|
|
|
[width="50%",cols="3m,4",options="header"]
|
|
|========================================
|
|
| Azione | Distanza
|
|
| gesture-up | 3 ... 19
|
|
| gesture-up-long | ≥ 20
|
|
| gesture-down | 3 ... 19
|
|
| gesture-down-long | ≥ 20
|
|
| gesture-left | 3 ... 39
|
|
| gesture-left-long | ≥ 40
|
|
| gesture-right | 3 ... 39
|
|
| gesture-right-long | ≥ 40
|
|
|========================================
|
|
|
|
Esempio di eventi:
|
|
|
|
* `button1`
|
|
* `ctrl-button1`
|
|
* `button1-gesture-right`
|
|
* `alt-button2-gesture-down-long`
|
|
* `wheelup`
|
|
* `ctrl-alt-wheeldown`
|
|
* ...
|
|
|
|
[TIP]
|
|
Quando si associa un tasto nel contesto "mouse", è possibile far corrispondere
|
|
più eventi usando `*` all'inizio o alla fine del nome, ad esempio
|
|
`button1-gesture-*` corrisponderà ad ogni azione compiuta col tasto sinistro.
|
|
|
|
[TIP]
|
|
È possibile trovare il nome di un evento con il comando `/input grab_mouse`
|
|
poi eseguire l'evento col mouse. Il comando inserisce il nome dell'evento
|
|
nella riga di comando.
|
|
|
|
[[command_line]]
|
|
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.
|
|
|
|
[[command_line_syntax]]
|
|
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
|
|
----------------------------------------
|
|
|
|
[[command_line_colors]]
|
|
Codici colore
|
|
^^^^^^^^^^^^^
|
|
|
|
Per alcuni plugin come IRC, è possibile usare codici colori ed attributi,
|
|
come segue (digitare @k(C-)@k(c) poi la lettera che segue, con il valore
|
|
opzionale):
|
|
|
|
@k(C-)@k(c) , @k(b)::
|
|
testo in grassetto
|
|
|
|
@k(C-)@k(c) , @k(c) , @k(xx)::
|
|
colore del testo `xx` (consultare la lista di colori che segue)
|
|
|
|
@k(C-)@k(c) , @k(c) , @k(xx,yy)::
|
|
colore del testo `xx` e di sfondo `yy` (consultare la lista di colori
|
|
che segue)
|
|
|
|
@k(C-)@k(c) , @k(o)::
|
|
disabilita colori ed attributi
|
|
|
|
@k(C-)@k(c) , @k(r)::
|
|
video inverso (inverte il colore del testo con quello di sfondo)
|
|
|
|
@k(C-)@k(c) , @k(u)::
|
|
testo sottolineato
|
|
|
|
[NOTE]
|
|
Lo stesso codice (senza numero per @k(C-)@k(c) , @k(c)) può essere usato per
|
|
terminare l'attributo.
|
|
|
|
I codici colore per @k(C-)@k(c) , @k(c) sono:
|
|
|
|
[width="50%",cols="^1m,3,3",options="header"]
|
|
|=======================================
|
|
| 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 | gray
|
|
| 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^Cua tutti^Cu^Cc !
|
|
----------------------------------------
|
|
|
|
[NOTE]
|
|
Nel plugin irc, si possono riorganizzare i colori usando l'opzione
|
|
<<option_irc.color.mirc_remap,irc.color.mirc_remap>>.
|
|
|
|
[[colors]]
|
|
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:
|
|
|
|
[width="50%",cols="8,>2,>2",options="header"]
|
|
|========================================
|
|
| $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',...
|
|
|
|
[NOTE]
|
|
Potrebbe essere necessario installare il pacchetto "ncurses-term" per usare
|
|
questi valori nella variabile 'TERM'.
|
|
|
|
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
|
|
----------------------------------------
|
|
|
|
[[colors_basic]]
|
|
Colori base
|
|
^^^^^^^^^^^
|
|
|
|
I colori base in WeeChat sono:
|
|
|
|
[width="50%",cols="^3m,8",options="header"]
|
|
|========================================
|
|
| 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
|
|
| gray | grigio
|
|
| white | bianco
|
|
|========================================
|
|
|
|
[[colors_extended]]
|
|
Colori estesi
|
|
^^^^^^^^^^^^^
|
|
|
|
WeeChat alloca dinamicamente le coppie colore quando vengono usati i colori
|
|
sullo schermo (per mostrare buffer e barre).
|
|
|
|
In aggiunta ai colori di base, si può usare un numero per il colore compreso
|
|
tra 1 e il limite del proprio terminale.
|
|
|
|
Il comando '/color' mostra i colori attivi ed i limiti. Com @k(A-)@k(c) si può
|
|
passare temporaneamente ai colori del terminale per sceglierne uno.
|
|
|
|
Se ad esempio si desidera visualizzare l'ora in arancione nel buffer:
|
|
|
|
----------------------------------------
|
|
/set weechat.color.chat_time 214
|
|
----------------------------------------
|
|
|
|
O se si desidera uno sfondo verde scuro per la barra di stato:
|
|
|
|
----------------------------------------
|
|
/set weechat.bar.status.color_bg 22
|
|
----------------------------------------
|
|
|
|
[[colors_aliases]]
|
|
Alias
|
|
^^^^^
|
|
|
|
Si possono aggiungere degli alias ai colori con il comando '/color alias' e
|
|
usarli in ogni opzione relativa al colore.
|
|
|
|
Ad esempio:
|
|
|
|
----------------------------------------
|
|
/color alias 214 orange
|
|
/set weechat.color.chat_delimiters orange
|
|
----------------------------------------
|
|
|
|
[[colors_attributes]]
|
|
Attributi
|
|
^^^^^^^^^
|
|
|
|
Esistono alcuni attributi per i colori. Uno o più attributi vanno aggiunti prima
|
|
del nome o del numero del colore:
|
|
|
|
* `*` : testo in grassetto
|
|
* `!` : video inverso
|
|
* `_` : testo sottolineato
|
|
* `|` : mantiene attributi: non ripristina grassetto/inverso/sottolineato
|
|
al cambio di colore
|
|
|
|
Ad esempio se si vuole il proprio nick bianco e sottolineato:
|
|
|
|
----------------------------------------
|
|
/set weechat.color.chat_nick_self _white
|
|
----------------------------------------
|
|
|
|
O se si desidera l'ora nella barra di stato arancione sottolineata
|
|
e in grassetto:
|
|
|
|
----------------------------------------
|
|
/set weechat.color.status_time *_214
|
|
----------------------------------------
|
|
|
|
Per usare un attributo con il colore predefinito del terminale (-1), bisogna
|
|
usare un numero maggiore dell'ultimo colore del terminale, ad esempio il
|
|
numero massimo in WeeChat: 99999.
|
|
|
|
Esempio di grassetto con il colore di primo piano del terminale:
|
|
|
|
----------------------------------------
|
|
/set weechat.color.status_time *99999
|
|
----------------------------------------
|
|
|
|
[[weechat_options]]
|
|
Opzioni di WeeChat (weechat.conf)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
include::autogen/user/weechat_options.txt[]
|
|
|
|
[[weechat_commands]]
|
|
Comandi di WeeChat
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
include::autogen/user/weechat_commands.txt[]
|
|
|
|
|
|
[[plugins]]
|
|
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'.
|
|
|
|
[[plugins_in_weechat]]
|
|
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 caricare o scaricare 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 'python'
|
|
con il comando `/python`.
|
|
|
|
È possibile utilizzare il comando `/plugin` per caricare/scaricare un plugin,
|
|
oppure elencare tutti i plugin caricati.
|
|
Quando un plugin viene scaricato, tutti i buffer creati da questo plugin
|
|
sono chiusi automaticamente.
|
|
|
|
Esempi per caricare, scaricare oppure elencare i plugin:
|
|
|
|
----------------------------------------
|
|
/plugin load irc
|
|
/plugin unload irc
|
|
/plugin list
|
|
----------------------------------------
|
|
|
|
I plugin predefiniti sono:
|
|
|
|
[width="50%",cols="^1,5",options="header"]
|
|
|=======================================
|
|
| 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
|
|
| python | API per lo scripting in Python
|
|
| perl | API per lo scripting in Perl
|
|
| ruby | API per lo scripting in Ruby
|
|
| lua | API per lo scripting in Lua
|
|
| tcl | API per lo scripting in TCL
|
|
| guile | API per lo scripting in Guile (scheme)
|
|
| xfer | Trasferimento file e chat diretta
|
|
|=======================================
|
|
|
|
[[alias_plugin]]
|
|
Plugin Alias
|
|
~~~~~~~~~~~~
|
|
|
|
Il plugin Alias consente di creare alias per i comandi (da WeeChat o altri
|
|
plugin).
|
|
|
|
[[alias_commands]]
|
|
Comandi
|
|
^^^^^^^
|
|
|
|
include::autogen/user/alias_commands.txt[]
|
|
|
|
[[aspell_plugin]]
|
|
Plugin Aspell
|
|
~~~~~~~~~~~~~
|
|
|
|
Il plugin Aspell consente di verificare l'ortografia nella riga di comando.
|
|
È possibile utilizzare più lingue per buffer.
|
|
|
|
[[aspell_options]]
|
|
Opzioni (aspell.conf)
|
|
^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/aspell_options.txt[]
|
|
|
|
[[aspell_commands]]
|
|
Comandi
|
|
^^^^^^^
|
|
|
|
include::autogen/user/aspell_commands.txt[]
|
|
|
|
[[aspell_speller_options]]
|
|
Opzioni ortografiche
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Le opzioni ortografiche possono essere definite aggiungendo opzioni nella
|
|
sezione "opzioni" della configurazione di aspell.
|
|
|
|
Il nome dell'opzione è un parametro di configurazione per aspell. L'elenco
|
|
delle opzioni disponibili può essere trovato nel terminale col seguente comando:
|
|
|
|
----------------------------------------
|
|
$ aspell config
|
|
----------------------------------------
|
|
|
|
Ad esempio, per abilitare l'opzione "ignore-case":
|
|
|
|
----------------------------------------
|
|
/set aspell.option.ignore-case "true"
|
|
----------------------------------------
|
|
|
|
[[charset_plugin]]
|
|
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 caricato, 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
|
|
........................................
|
|
|
|
[[charset_options]]
|
|
Opzioni (charset.conf)
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/charset_options.txt[]
|
|
|
|
[[charset_commands]]
|
|
Comandi
|
|
^^^^^^^
|
|
|
|
include::autogen/user/charset_commands.txt[]
|
|
|
|
[[charset_set]]
|
|
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.*
|
|
----------------------------------------
|
|
|
|
[[charset_troubleshooting]]
|
|
Risoluzione problemi
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Per qualunque problema con i set caratteri, per favore consultare
|
|
le 'Domande Frequenti di WeeChat'.
|
|
|
|
[[fifo_plugin]]
|
|
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 scaricare/caricare gli script Python (è necessario
|
|
separarli con "\n"):
|
|
|
|
----------------------------------------
|
|
$ echo -e '*/python unload\n*/python autoload' >~/.weechat/weechat_fifo_12345
|
|
----------------------------------------
|
|
|
|
È possibile realizzare uno script per inviare un comando a tutte le istanze di
|
|
WeeChat in esecuzione, per esempio:
|
|
|
|
[source,shell]
|
|
----------------------------------------
|
|
#!/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'
|
|
----------------------------------------
|
|
|
|
[[irc_plugin]]
|
|
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 <<xfer_plugin,plugin Xfer>>).
|
|
|
|
[[irc_command_line_options]]
|
|
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][/#canale][,#canale[...]]
|
|
----------------------------------------
|
|
|
|
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
|
|
----------------------------------------
|
|
|
|
[[irc_options]]
|
|
Opzioni (irc.conf)
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/irc_options.txt[]
|
|
|
|
[[irc_commands]]
|
|
Comandi
|
|
^^^^^^^
|
|
|
|
include::autogen/user/irc_commands.txt[]
|
|
|
|
[[irc_ssl_certificates]]
|
|
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::
|
|
path 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.
|
|
|
|
[[irc_connect_oftc_with_certificate]]
|
|
Primo esempio: connessione a otfc e verifica del certificato
|
|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
* Importare certificati nella shell:
|
|
|
|
----------------------------------------
|
|
$ mkdir -p ~/.weechat/ssl
|
|
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt
|
|
----------------------------------------
|
|
|
|
Nota: è possibile concatenare più certificati nel file CAs.pem.
|
|
|
|
* In WeeChat, con il server "otfc" già creato:
|
|
|
|
----------------------------------------
|
|
/connect oftc
|
|
----------------------------------------
|
|
|
|
[[irc_connect_oftc_with_certfp]]
|
|
Secondo esempio: connessione a otfc con CertFP
|
|
++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
* Creare un certificato nella shell:
|
|
|
|
----------------------------------------
|
|
$ mkdir -p ~/.weechat/ssl
|
|
$ cd ~/.weechat/ssl
|
|
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out 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
|
|
|
|
[[irc_sasl_authentication]]
|
|
Autenticazione SASL
|
|
^^^^^^^^^^^^^^^^^^^
|
|
|
|
WeeChat supporta l'autenticazione SASL, usando tre meccanismi: "plain" (password
|
|
in chiaro), "dh-blowfish" (password cifrata)" o "external" (certificato SSL da
|
|
lato client).
|
|
|
|
Le opzioni nel server sono:
|
|
|
|
* 'sasl_mechanism': meccanismo da usare ("plain", "dh-blowfish" o "external")
|
|
* 'sasl_timeout': timeout (in secondi) per l'autenticazione
|
|
* 'sasl_username': nome utente (nick)
|
|
* 'sasl_password': password
|
|
|
|
Se si desidera usare "dh-blowfish" in tutti i server:
|
|
|
|
----------------------------------------
|
|
/set irc.server_default.sasl_mechanism dh-blowfish
|
|
----------------------------------------
|
|
|
|
[NOTE]
|
|
La libreria "gcrypt" è richiesta per compilare WeeChat al fine di usare il
|
|
meccanismo "dh-blowfish" (consultare <<dependencies,dipendenze>>).
|
|
|
|
[[irc_tor_freenode]]
|
|
Connessione a Freenode con TOR/SASL
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Oltre ad SSL, i server Freenode supportano connessioni con TOR
|
|
(https://www.torproject.org), una rete di tunnel virtuali che consente ad
|
|
utenti e gruppi di migliorare la propria privacy e la sicurezza su Internet.
|
|
|
|
Per prima cosa, assicurarsi che WeeChat sia compilato con
|
|
<<dependencies,libgcrypt11-dev>> (se compilato da sorgenti); non è
|
|
obbligatorio, ma "dh-blowfish" assicura una maggiore sicurezza rispetto al
|
|
sistema di autenticazione "plain" (in chiaro) con SASL.
|
|
|
|
Il primo passo consiste nell'installare TOR. Per Debian (e derivate):
|
|
|
|
----------------------------------------
|
|
$ sudo apt-get install tor
|
|
----------------------------------------
|
|
|
|
In WeeChat è necessario creare un proxy socks5 per il servizio TOR (nome
|
|
host/IP e porta dipendono dalla propria configurazione di TOR):
|
|
|
|
----------------------------------------
|
|
/proxy add tor socks5 127.0.0.1 9050
|
|
----------------------------------------
|
|
|
|
Ora, bisogna creare un nuovo server, ad esempio:
|
|
|
|
----------------------------------------
|
|
/server add freenode-tor p4fsi4ockecnea7l.onion
|
|
----------------------------------------
|
|
|
|
Impostare il proxy per TOR:
|
|
|
|
----------------------------------------
|
|
/set irc.server.freenode-tor.proxy "tor"
|
|
----------------------------------------
|
|
|
|
Impostare l'autenticazione SASL:
|
|
|
|
----------------------------------------
|
|
/set irc.server.freenode-tor.sasl_mechanism dh-blowfish
|
|
/set irc.server.freenode-tor.sasl_username "your_nickname"
|
|
/set irc.server.freenode-tor.sasl_password "your_password"
|
|
----------------------------------------
|
|
|
|
E alla fine, connettersi al server:
|
|
|
|
----------------------------------------
|
|
/connect freenode-tor
|
|
----------------------------------------
|
|
|
|
Per maggiori informazioni su Freenode e TOR:
|
|
http://freenode.net/irc_servers.shtml#tor
|
|
|
|
[[irc_smart_filter_join_part_quit]]
|
|
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.
|
|
|
|
[[irc_ctcp_replies]]
|
|
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
|
|
|
|
[width="100%",cols="^2l,4,8l",options="header"]
|
|
|=======================================
|
|
| 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, 13 Sep 2009 15:48:31 +0200
|
|
| $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:
|
|
|
|
[width="100%",cols="^2,4l,8l",options="header"]
|
|
|=======================================
|
|
| 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)
|
|
|=======================================
|
|
|
|
[[irc_target_buffer]]
|
|
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')
|
|
|
|
server::
|
|
buffer del server
|
|
|
|
weechat::
|
|
Il buffer "core" di WeeChat
|
|
|
|
Quando l'opzione non è impostata (default), WeeChat sceglie il buffer
|
|
appropriato, di solito quello del server o del canale.
|
|
|
|
Ecco una lista incompleta dei messaggi IRC o degli alias che è possibile
|
|
personalizzare:
|
|
|
|
[width="60%",cols="^1m,^3m,8",options="header"]
|
|
|========================================
|
|
| messaggio | alias | descrizione
|
|
| error | | errore
|
|
| invite | | invitato su un canale
|
|
| join | | ingresso nel canale
|
|
| kick | | kick
|
|
| kill | | kill
|
|
| mode | | mode
|
|
| notice | | notifica
|
|
| part | | part
|
|
| quit | | quit
|
|
| topic | | topic
|
|
| wallops | | wallops
|
|
| | ctcp | ctcp (inviato o ricevuto, in un messaggio privato o di notifica)
|
|
| 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)
|
|
| 328 | | URL del canale
|
|
| 329 | | data di creazione del canale
|
|
| 330 | whois | whois (loggato come)
|
|
| 331 | | nessun argomento per il canale
|
|
| 332 | | argomento del canale
|
|
| 333 | | informazioni sull'argomento
|
|
| 335 | whois | whois (è un bot su)
|
|
| 338 | whois | whois (host)
|
|
| 341 | | invito
|
|
| 343 | whois | whois (è opered come)
|
|
| 344 | reop | reop sul canale
|
|
| 345 | reop | reop sul canale (fine)
|
|
| 346 | invitelist | lista di inviti
|
|
| 347 | invitelist | lista di inviti (fine)
|
|
| 348 | exceptionlist | lista di eccezioni
|
|
| 349 | exceptionlist | lista di eccezioni (fine)
|
|
| 351 | | versione del server
|
|
| 352 | who | who
|
|
| 353 | names | elenco di utenti su un canale
|
|
| 366 | names | fine dell'elenco /names
|
|
| 367 | banlist | elenco dei ban
|
|
| 368 | banlist | fine della lista dei ban
|
|
| 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
|
|
----------------------------------------
|
|
|
|
[[logger_plugin]]
|
|
Plugin Logger
|
|
~~~~~~~~~~~~~
|
|
|
|
Il plugin Logger consente di salvare il contenuto dei buffer su file, con
|
|
opzioni a proposito su cosa e come viene salvato.
|
|
|
|
[[logger_options]]
|
|
Opzioni (logger.conf)
|
|
^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/logger_options.txt[]
|
|
|
|
[[logger_commands]]
|
|
Comandi
|
|
^^^^^^^
|
|
|
|
include::autogen/user/logger_commands.txt[]
|
|
|
|
[[logger_log_levels]]
|
|
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
|
|
----------------------------------------
|
|
|
|
[[logger_filenames_masks]]
|
|
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").
|
|
|
|
[[logger_files_by_date]]
|
|
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
|
|
........................................
|
|
|
|
[[logger_irc_files_by_server_channel]]
|
|
File di log IRC per server e canale
|
|
+++++++++++++++++++++++++++++++++++
|
|
|
|
Se si desidera avere una directory 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
|
|
........................................
|
|
|
|
[[relay_plugin]]
|
|
Plugin Relay
|
|
~~~~~~~~~~~~
|
|
|
|
Il plugin Relay viene utilizzato per inoltrare i dati via rete, facendo uso di
|
|
protocolli differenti:
|
|
|
|
* 'irc': proxy IRC: usato per condividere le connessioni ai server IRC con uno
|
|
o più client IRC
|
|
* 'weechat': protocollo usato dalle interfacce remote per mostrare ed interagire
|
|
con WeeChat (ad esempio QWeeChat)
|
|
|
|
[[relay_options]]
|
|
Opzioni (relay.conf)
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/relay_options.txt[]
|
|
|
|
[[relay_commands]]
|
|
Comandi
|
|
^^^^^^^
|
|
|
|
include::autogen/user/relay_commands.txt[]
|
|
|
|
[[relay_irc_proxy]]
|
|
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
|
|
----------------------------------------
|
|
|
|
[[relay_weechat_protocol]]
|
|
Protocollo WeeChat
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
Il plugin Relay può inviare dati alle interfacce remote usando il protocollo
|
|
WeeChat.
|
|
|
|
Ad esempio:
|
|
|
|
----------------------------------------
|
|
/set relay.network.password "miapass"
|
|
/relay add weechat 9000
|
|
----------------------------------------
|
|
|
|
Ora è possibile connettersi sulla porta 9000 con un'interfaccia remota
|
|
(come QWeeChat) usando la password "miapass".
|
|
|
|
[[relay_ssl]]
|
|
Relay con SSL
|
|
^^^^^^^^^^^^^
|
|
|
|
È possibile usare SSL creando un certificato e una chiave privata, e usando il
|
|
prefisso "ssl." nel nome del protocollo.
|
|
|
|
Il file predefinito per il certificato/chiave è '~/.weechat/ssl/relay.pem'
|
|
(opzione <<option_relay.network.ssl_cert_key,relay.network.ssl_cert_key>>).
|
|
|
|
È possibile creare un certificato e una chiave privata con i seguenti comandi:
|
|
|
|
----------------------------------------
|
|
$ mkdir -p ~/.weechat/ssl
|
|
$ cd ~/.weechat/ssl
|
|
$ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem
|
|
----------------------------------------
|
|
|
|
Se WeeChat è già in esecuzione, è possibile ricaricare il certificato e la
|
|
chiave privata con il comando:
|
|
|
|
----------------------------------------
|
|
/relay sslcertkey
|
|
----------------------------------------
|
|
|
|
E poi aggiungere il relay con SSL, ad esempio:
|
|
|
|
----------------------------------------
|
|
/relay add ssl.irc.freenode 8001
|
|
/relay add ssl.weechat 9001
|
|
----------------------------------------
|
|
|
|
[[rmodifier_plugin]]
|
|
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 `*`.
|
|
|
|
[[rmodifier_options]]
|
|
Opzioni (rmodifier.conf)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/rmodifier_options.txt[]
|
|
|
|
[[rmodifier_commands]]
|
|
Comandi
|
|
^^^^^^^
|
|
|
|
include::autogen/user/rmodifier_commands.txt[]
|
|
|
|
[[rmodifier_creation]]
|
|
Creazione di Rmodifier
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Un rmodifier è costituito da tre elementi:
|
|
|
|
. uno o più "modificatori"
|
|
. un'espressione regolare per catturare i "gruppi"
|
|
. 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 sullo schermo diventa:
|
|
`/oper nick ********`.
|
|
|
|
[[scripts_plugins]]
|
|
Plugin per gli script
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
WeeChat fornisce 6 plugin per lo scripting: Python, Perl, Ruby, Lua, Tcl, Guile
|
|
(scheme).
|
|
Questi plugin possono caricare, eseguire e scaricare gli script per questi
|
|
linguaggi.
|
|
|
|
// TRANSLATION MISSING
|
|
Another plugin called "script" is a scripts manager and is used to load/unload
|
|
scripts of any language, and install/remove scripts of WeeChat scripts
|
|
repository, which are visible at this URL: http://www.weechat.org/scripts
|
|
|
|
Per maggiori informazioni su come scrivere gli script, o le API WeeChat
|
|
per gli script, consultare la 'Guida allo Scripting di WeeChat'.
|
|
|
|
// TRANSLATION MISSING
|
|
[[script_options]]
|
|
Script options (script.conf)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/script_options.txt[]
|
|
|
|
[[script_commands]]
|
|
Comandi Script
|
|
^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/script_commands.txt[]
|
|
|
|
[[python_commands]]
|
|
Comandi Python
|
|
^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/python_commands.txt[]
|
|
|
|
[[perl_commands]]
|
|
Comandi Perl
|
|
^^^^^^^^^^^^
|
|
|
|
include::autogen/user/perl_commands.txt[]
|
|
|
|
[[ruby_commands]]
|
|
Comandi Ruby
|
|
^^^^^^^^^^^^
|
|
|
|
include::autogen/user/ruby_commands.txt[]
|
|
|
|
[[lua_commands]]
|
|
Comandi Lua
|
|
^^^^^^^^^^^
|
|
|
|
include::autogen/user/lua_commands.txt[]
|
|
|
|
[[tcl_commands]]
|
|
Comandi Tcl
|
|
^^^^^^^^^^^
|
|
|
|
include::autogen/user/tcl_commands.txt[]
|
|
|
|
[[guile_commands]]
|
|
Comandi Guile
|
|
^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/guile_commands.txt[]
|
|
|
|
[[xfer_plugin]]
|
|
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
|
|
|
|
[[xfer_options]]
|
|
Opzioni (xfer.conf)
|
|
^^^^^^^^^^^^^^^^^^^
|
|
|
|
include::autogen/user/xfer_options.txt[]
|
|
|
|
[[xfer_commands]]
|
|
Comandi
|
|
^^^^^^^
|
|
|
|
include::autogen/user/xfer_commands.txt[]
|
|
|
|
|
|
[[authors]]
|
|
Autori
|
|
------
|
|
|
|
[[developers]]
|
|
Sviluppatori
|
|
~~~~~~~~~~~~
|
|
|
|
Sviluppatore principale::
|
|
Sébastien Helleu (FlashCode)
|
|
|
|
[[contributors]]
|
|
Contributori
|
|
~~~~~~~~~~~~
|
|
|
|
Packager::
|
|
Emmanuel Bouthenot (kolter), Julien Louis (ptitlouis), Odin
|
|
|
|
Traduzioni::
|
|
Jiri Golembiovsky (GolemJ), soltys, Nils Görs (nils_2), rettub,
|
|
Frank Zacharias, Pavel Shevchuk, Elián Hanisch (m4v), Voroskoi,
|
|
Marco Paolone, Ivan Sichmann Freitas, Lázaro A., Ryuunosuke Ayanokouzi,
|
|
Quico Noizeux
|
|
|
|
Patch::
|
|
Dmitry Kobylin, Rudolf Polzer, Jim Ramsay, Pistos, Gwenn, Dominik Honnef,
|
|
JD Horelick, Stefano Pigozzi, Gu1ll4um3r0m41n, Kyle Fuller,
|
|
Quentin Glidic (SardemFF7), Simon Kuhnle, Mateusz Poszwa, Peter Boström,
|
|
Arvydas Sidorenko
|
|
|
|
|
|
[[support]]
|
|
Supporto
|
|
--------
|
|
|
|
Prima di chiedere 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:
|
|
|
|
* IRC: server 'irc.freenode.net', canali '#weechat' (inglese) e
|
|
'#weechat-fr' (francese)
|
|
* Forum di WeeChat: http://forums.flashtux.org/
|
|
* Mailing list:
|
|
** sottoscrizione: http://mail.nongnu.org/mailman/listinfo/weechat-support
|
|
** inviare una mail a weechat-support@nongnu.org
|
|
** archivi: http://mail.nongnu.org/archive/html/weechat-support
|