1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
|
• *`/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 [plugin] | buffer | windows | term]`::
........................................
attiva debug per core/plugin
set: imposta il livello di log per il plugin
plugin: nome del plugin ("core" per il core di WeeChat)
livello: livello di debug per il plugin (0 = disabilita debug)
dump: salva il dump della memoria nel file di log di Weechat (lo stesso dump viene salvato quando WeeChat va in crash)
buffer: esegue il dump del contenuto con valori esadecimali nel file di log
windows: visualizza l'albero delle finestre
term: visualizza informazioni sul terminale e i colori disponibili
........................................
• *`/filter`* `[list] | [enable|disable|toggle [nome]] | [add nome plugin.buffer tag regex] | [del nome|-all]`::
........................................
filtra messaggi nei buffer, per nascondere/mostrare in base a tag o regexp
list: elenca tutti i filtri
enable: abilita filtri (i filtri sono abilitati di default)
disable: disabilita filtri
toggle: abilita/disabilita filtri
nome: nome del filtro
add: aggiunge un filtro
del: elimina un filtro
-all: elimina tutti i filtri
plugin.buffer: plugin e buffer in cui il filtro è attivo ("*" per tutti i buffer)
tag: elenco di tag separati da virgole, per esempio: "irc_join,irc_part,irc_quit"
regex: espressione regolare da cercare nella riga
- utilizzare ' ' per separare il prefisso dal messaggio, caratteri speciali come "|" devono essere preceduti dal carattere escape: '\|')
- se l'espressione regolare inizia con '!', il risultato corrispondente viene invertito (usare '\!' per iniziare con '!')
nota: vengono create due espressioni regolari: una per il prefisso e l'altra per il messaggio
Il tasto predefinito alt+'=' abilita/disabilita il filtro.
Tag utilizzati di frequente:
no_filter, no_highlight, 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.
Il processo di aggiornamento è diviso in 4 fasi:
1. salvataggio della sessione in file per il core e i plugin (buffer, cronologia, ..)
2. disattivazione di tutti i plugin (salvataggio delle configurazioni .conf)
3. salvataggio della configurazione di WeeChat (weechat.conf)
4. esecuzione del nuovo binario di WeeChat.
........................................
• *`/uptime`* `[-o | -ol]`::
........................................
mostra l'uptime di WeeChat
-o: invia l'uptime al buffer corrente come input (stringa in inglese)
-ol: invia l'uptime al buffer corrente come input (stringa tradotta)
........................................
• *`/version`* `[-o | -ol]`::
........................................
mostra la versione e la data di compilazione di WeeChat
-o: invia la versione al buffer corrente come input (stringa inglese)
-ol: invia la versione al buffer corrente come input (stringa tradotta)
........................................
• *`/wait`* `numero[unità] comando`::
........................................
pianifica l'esecuzione di un comando
numero: tempo di attesa (numero intero)
unità: valori opzionali sono:
ms: millisecondi
s: secondi (predefinito)
m: minuti
h: ore
comando: comando da eseguire (o testo da inviare al buffer se il comando non inizia con '/')
Nota: il comando è eseguito sui buffer dove /wait è stato eseguito (se il buffer non viene trovato (per esempio se è stato chiuso prima dell'esecuzione), allora il comando verrà eseguito sul buffer core di WeeChat)
Esempi:
entra nel canale tra 10 secondi:
/wait 10 /join #test
imposta assenza tra 15 minuti:
/wait 15m /away -all Sono assente
scrive ciao tra 2 minuti:
/wait 2m ciao
........................................
• *`/window`* `[list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv [pct] | resize pct | merge [all] | page_up | page_down | refresh | scroll | scroll_up | scroll_down | scroll_top | scroll_bottom | scroll_previous_highlight | scroll_next_highlight | zoom]`::
........................................
gestione finestre
list: elenca le finestre aperte (senza argomento, questa lista viene visualizzata)
-1: salta alla finestra precedente
+1: salta alla finestra successiva
b#: salta alla finestra successiva che visualizza il buffer numero #
up: passa alla finestra superiore a quella corrente
down: passa alla finestra inferiore a quella attiva
left: passa alla finestra a sinistra
right: passa alla finestra a destra
splith: divide la finestra attiva orizzontalmente
splitv: divide la finestra attiva verticalmente
resize: ridimensiona finestra, la nuova dimensione è <pct> percentuale della finestra genitore
merge: unisce la finestra con un'altra (all = mantiente una sola finestra)
page_up: scorre di una pagina in alto
page_down: scorre di una pagina in basso
refresh: aggiorna lo schermo
scroll: scorre di un numero di righe (+/-N) o in base al tempo: s=secondi, m=minuti, h=ore, d=giorni, M=mesi, y=anni
scroll_up: scorre di alcune righe in alto
scroll_down: scorre di alcune righe in basso
scroll_top: scorre fino all'inizio del buffer
scroll_bottom: scorre fino alla fine del buffer buffer
scroll_previous_highlight: passa all'evento precedente
scroll_next_highlight: passa all'evento successivo
zoom: ingrandimento sulla finestra
Per splith e splitv, pct è una percentuale che rappresenta la dimensione della nuova finestra, calcolata con la finestra attiva come riferimento per la dimensione. Per esempio 25 vuol dire creare una finestra di dimensione = dimensione_attuale / 4
Esempi:
salta alla finestra che visualizza il buffer #1:
/window b1
scorre di due righe in alto:
/window scroll -2
scorre all'indietro di due giorni:
/window scroll -2d
scorre all'inizio del giorno attuale:
/window scroll -d
........................................
|