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
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
|
[[command_weechat_away]]
[command]*`away`* définir ou supprimer le statut d'absence::
----
/away [-all] [<message>]
-all: définir ou supprimer le statut d'absence sur tous les serveurs connectés
message: message pour l'absence (si pas de message donné, le statut d'absence est supprimé)
----
[[command_weechat_bar]]
[command]*`bar`* gestion des barres::
----
/bar list|listfull|listitems
add <nom> <type>[,<conditions>] <position> <taille> <séparateur> <objet1>[,<objet2>...]
default [input|title|status|nicklist]
del <nom>|-all
set <nom> <option> <valeur>
hide|show|toggle <nom>
scroll <nom> <fenêtre> <valeur_scroll>
list: lister toutes les barres
listfull: lister toutes les barres (verbeux)
listitems: lister tous les objets de barre
add: ajouter une nouvelle barre
nom: nom de la barre (doit être unique)
type: root: en dehors des fenêtres
window: dans les fenêtres, avec condition(s) optionnelle(s) (voir ci-dessous)
condition: condition(s) pour afficher cette barre (seulement pour le type "window"):
active: sur la fenêtre active
inactive: sur les fenêtres inactives
nicklist: sur les fenêtres avec liste de pseudos
autre condition: voir /help weechat.bar.xxx.conditions et /help eval
sans condition, la barre est toujours affichée
position: bottom (bas), top (haut), left (gauche) ou right (droite)
taille: taille de la barre (en caractères)
séparateur: 1 pour utiliser un séparateur (ligne), 0 ou rien signifie sans séparateur
objet1,...: objets pour cette barre (les objets peuvent être séparés par une virgule (espace entre les objets) ou "+" (objets collés))
default: créer une barre par défaut (toutes les barres par défaut si aucun nom de barre n'est donné)
del: supprimer une barre (ou toutes les barres avec -all)
set: changer la valeur d'une propriété de la barre
option: option à modifier (pour la liste des options, voir /set weechat.bar.<nombarre>.*
valeur: nouvelle valeur pour l'option
hide: cacher la barre
show: montrer une barre cachée
toggle: cacher/montrer une barre
scroll: faire défiler la barre
fenêtre: numéro de fenêtre (utilisez '*' pour la fenêtre courante ou une barre de type root)
valeur_scroll: valeur pour le défilement: 'x' ou 'y' (optionnel), suivi par '+', '-', 'b' (début) ou 'e' (fin), valeur (pour +/-), et un % optionnel (pour faire défiler par % de la largeur/hauteur, sinon la valeur est un nombre de caractères)
Exemples:
créer une barre avec l'heure, numéro + nom de tampon, et la complétion:
/bar add mabarre root bottom 1 0 [time],buffer_number+:+buffer_name,completion
cacher une barre:
/bar hide mabarre
faire défiler la liste des pseudos de 10 lignes vers le bas sur le tampon courant:
/bar scroll nicklist * y+10
faire défiler la liste des pseudos à la fin sur le tampon courant:
/bar scroll nicklist * ye
----
[[command_weechat_buffer]]
[command]*`buffer`* gestion des tampons::
----
/buffer list
clear [<nombre>|<nom>|-merged|-all]
move|merge <nombre>
swap <nombre1>|<nom1> [<nombre2>|<nom2>]
unmerge [<nombre>|-all]
renumber <nombre1> [<nombre2> [<départ>]]
close [<n1>[-<n2>]|<nom>]
notify <niveau>
localvar
set <propriété> <valeur>
get <propriété>
<nombre>|<nom>
list: lister les tampons ouverts (sans paramètre, cette liste est affichée)
clear: effacer le contenu du tampon (un numéro pour un tampon, -merged pour les tampons mélangés, -all pour tous les tampons, ou rien pour le tampon courant)
move: déplacer le tampon dans la liste (peut être relatif, par exemple -1)
swap: échanger deux tampons (échanger avec le tampon courant si un seul numéro/nom donné)
merge: mélanger le tampon courant avec un autre tampon (la zone de discussion sera un mélange des deux tampons)
(par défaut ctrl-x bascule entre les tampons mélangés)
unmerge: détacher le tampon courant des autres tampons portant le même numéro
renumber: renuméroter des tampons (fonctionne seulement si l'option weechat.look.buffer_auto_renumber est désactivée)
close: fermer le tampon (nombre/intervalle ou nom optionnel)
notify: définir le niveau de notification pour le tampon courant: ce niveau détermine si le tampon doit être ajouté à la hotlist ou pas:
none: jamais
highlight: pour les highlights seulement
message: pour les messages d'utilisateurs + highlights
all: pour tous les messages
reset: réinitialise à valeur par défaut (all)
localvar: afficher la liste des variables locales pour le tampon courant
set: modifier une propriété du tampon courant
get: afficher une propriété du tampon courant
nombre: sauter au tampon qui a ce numéro, préfixe possible:
'+': saut relatif, ajoute le numéro au courant,
'-': saut relatif, soustrait le numéro au courant,
'*': saut au numéro en utilisant l'option "jump_current_to_previous_buffer"
nom: sauter au tampon par nom (partiel)
Exemples:
effacer le tampon courant:
/buffer clear
déplacer le tampon vers le numéro 5:
/buffer move 5
échanger le tampon 1 avec le 3:
/buffer swap 1 3
échanger le tampon #weechat avec le tampon courant:
/buffer swap #weechat
mélanger avec le tampon core:
/buffer merge 1
détacher le tampon:
/buffer unmerge
fermer le tampon courant:
/buffer close
fermer les tampons 5 à 7:
/buffer close 5-7
aller sur #weechat:
/buffer #weechat
aller au tampon suivant:
/buffer +1
----
[[command_weechat_color]]
[command]*`color`* définir des alias de couleurs et afficher la palette des couleurs::
----
/color alias <couleur> <nom>
unalias <couleur>
reset
-o
alias: ajouter un alias pour une couleur
unalias: supprimer un alias pour une couleur
couleur: numéro de couleur (supérieur ou égal à 0, le max dépend du terminal, généralement 63 ou 255)
nom: nom d'alias pour la couleur (par exemple: "orange")
reset: réinitialiser toutes les paires de couleurs (requis quand il n'y a plus de paires de couleurs disponibles si la réinitialisation automatique est désactivée, voir l'option weechat.look.color_pairs_auto_reset)
-o: envoyer les infos terminal/couleurs sur le tampon courant comme entrée
Sans paramètre, cette commande affiche les couleurs dans un nouveau tampon.
Exemples:
ajouter l'alias "orange" pour la couleur 214:
/color alias 214 orange
supprimer la couleur 214:
/color unalias 214
----
[[command_weechat_command]]
[command]*`command`* lancer explicitement une commande WeeChat ou d'une extension::
----
/command <extension> <commande>
extension: nom de l'extension ('weechat' pour une commande interne WeeChat)
commande: commande à exécuter (un '/' est automatiquement ajouté s'il n'est pas trouvé au début de la commande)
----
[[command_weechat_cursor]]
[command]*`cursor`* mouvement libre du curseur sur l'écran pour exécuter des actions sur des zones spécifiques de l'écran::
----
/cursor go chat|<barre>|<x>,<y>
move up|down|left|right|area_up|area_down|area_left|area_right
stop
go: déplacer le curseur vers la zone de discussion ("chat"), une barre (en utilisant son nom) ou les coordonnées "x,y"
move: déplacer le curseur dans une direction
stop: arrêter le mode curseur
Sans paramètre, cette commande active/désactive le mode curseur.
Lorsque la souris est activée (voir /help mouse), par défaut un clic du milieu démarre le mode curseur à ce point.
Exemples:
aller dans la liste des pseudos:
/cursor go nicklist
aller aux coordonnées x=10, y=5:
/cursor go 10,5
----
[[command_weechat_debug]]
[command]*`debug`* contrôle du debug pour le cœur/les extensions::
----
/debug list
set <extension> <niveau>
dump [<extension>]
buffer|color|infolists|memory|tags|term|windows
cursor|mouse [verbose]
hdata [free]
list: lister les extensions avec leur niveau de debug
set: définir le niveau de debug pour l'extension
extension: nom de l'extension ("core" pour le cœur de WeeChat)
niveau: niveau de debug pour l'extension
dump: afficher les variables mémoire WeeChat dans le fichier log (les mêmes messages sont affichés lorsque WeeChat plante)
buffer: afficher le contenu du tampon en valeurs hexadécimales dans le fichier log
color: afficher des infos sur les paires de couleur courantes
cursor: activer/désactiver le debug pour le mode curseur
dirs: afficher les répertoires
hdata: afficher des infos sur les hdata (avec free: supprimer tous les hdata en mémoire)
hooks: afficher des infos sur les hooks
infolists: afficher des infos sur les infolists
libs: afficher des infos sur les bibliothèques externes utilisées
memory: afficher des infos sur l'utilisation de la mémoire
mouse: activer/désactiver le debug pour la souris
tags: afficher les étiquettes pour les lignes
term: afficher des infos sur le terminal
windows: afficher l'arbre des fenêtres
----
[[command_weechat_eval]]
[command]*`eval`* évaluer une expression et envoyer le résultat au tampon::
----
/eval [-n] <expression>
[-n] -c <expression1> <opérateur> <expression2>
-n: afficher le résultat sans envoyer au tampon (mode debug)
-c: évaluer comme une condition : utiliser les opérateurs et les parenthèses, retourner une valeur booléenne ("0" ou "1")
expression: expression à évaluer, les variables avec le format ${variable} sont remplacées (voir ci-dessous)
opérateur: un opérateur logique ou de comparaison :
- opérateurs logiques :
&& "et" booléen
|| "ou" booléen
- opérateurs de comparaison :
== égal
!= non égal
<= inférieur ou égal
< inférieur
>= supérieur ou égal
> supérieur
=~ correspond à l'expression régulière POSIX étendue
!~ ne correspond PAS à l'expression régulière POSIX étendue
Une expression est considérée comme "vraie" si elle est non NULL, non vide, et différente de "0".
La comparaison est faite en utilisant des entiers si les deux expressions sont des entiers valides.
Pour forcer une comparaison de chaînes, ajoutez des guillemets autour de chaque expression, par exemple :
50 > 100 ==> 0
"50" > "100" ==> 1
Des variables sont remplacées dans l'expression, en utilisant le format ${variable}, la variable pouvant être, par ordre de priorité :
1. une couleur (format: "color:xxx")
2. une info (format: "info:nom,paramètres", les paramètres sont optionnels)
3. une option (format: "fichier.section.option")
4. une variable locale du tampon
5. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
Le format du hdata peut être le suivant :
hdata.var1.var2...: démarrer avec un hdata (le pointeur doit être connu), et demander les variables l'une après l'autre (d'autres hdata peuvent être suivis)
hdata[list].var1.var2...: démarrer avec un hdata en utilisant une liste, par exemple :
${buffer[gui_buffers].full_name}: nom complet du premier tampon dans la liste chaînée des tampons
${plugin[weechat_plugins].name}: nom de la première extension dans la liste chaînée des extensions
Pour le nom du hdata et des variables, voir la "Référence API extension", fonction "weechat_hdata_get".
Exemples:
/eval -n ${info:version} ==> 0.4.3
/eval -n ${weechat.look.scroll_amount} ==> 3
/eval -n ${window} ==> 0x2549aa0
/eval -n ${window.buffer} ==> 0x2549320
/eval -n ${window.buffer.full_name} ==> core.weechat
/eval -n ${window.buffer.number} ==> 1
/eval -n -c ${window.buffer.number} > 2 ==> 0
/eval -n -c ${window.win_width} > 100 ==> 1
/eval -n -c (8 > 12) || (5 > 2) ==> 1
/eval -n -c (8 > 12) && (5 > 2) ==> 0
/eval -n -c abcd =~ ^ABC ==> 1
/eval -n -c abcd =~ (?-i)^ABC ==> 0
/eval -n -c abcd =~ (?-i)^abc ==> 1
/eval -n -c abcd !~ abc ==> 0
----
[[command_weechat_filter]]
[command]*`filter`* filtrer les messages dans les tampons, pour les cacher/afficher selon des étiquettes ou expressions régulières::
----
/filter list
enable|disable|toggle [<nom>]
add <nom> <tampon>[,<tampon>...] <étiquettes> <regex>
del <nom>|-all
list: lister tous les filtres
enable: activer les filtres (par défaut les filtres sont activés)
disable: désactiver les filtres
toggle: activer/désactiver les filtres
nom: nom de filtre
add: ajouter un filtre
del: supprimer un filtre
-all: supprimer tous les filtres
tampon: liste des tampons, séparés par des virgules, où le filtre est actif :
- il s'agit du nom complet incluant l'extension (exemple: "irc.freenode.#weechat")
- "*" signifie tous les tampons
- un nom commençant par '!' est exclu
- le nom peut commencer ou se terminer par '*' pour plusieurs tampons
étiquettes: liste d'étiquettes, séparées par des virgules, par exemple: "irc_join,irc_part,irc_quit"
- "et" logique: utilisez "+" entre les étiquettes (par exemple: "nick_toto+irc_action")
- les étiquettes peuvent commencer ou se terminer par '*'
regex: expression régulière POSIX étendue à rechercher dans la ligne
- utiliser '\t' pour séparer le préfixe du message, les caractères spéciaux comme '|' doivent être échappés: '\|'
- si l'expression régulière commence par '!' alors le résultat est inversé (utiliser '\!' pour démarrer par '!')
- deux expressions régulières sont créées: une pour le préfixe et une pour le message
- les expressions régulières sont insensibles à la casse, elles peuvent commencer par "(?-i)" pour devenir sensibles à la casse
La touche par défaut alt+'=' active/désactive le filtrage.
Les étiquettes les plus couramment utilisées:
no_filter, no_highlight, no_log, log0..log9 (niveau de log),
notify_none, notify_message, notify_private, notify_highlight,
nick_xxx (xxx est le pseudo dans le message), prefix_nick_ccc (ccc est la couleur du pseudo),
irc_xxx (xxx est un nom de commande ou nombre, voir /server raw ou /debug tags),
irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
Pour voir les étiquettes des lignes affichées: /debug tags
Exemples:
utiliser le filtre intelligent IRC sur tous les tampons:
/filter add irc_smart * irc_smart_filter *
utiliser le filtre intelligent IRC sur tous les tampons sauf ceux avec "#weechat" dans le nom:
/filter add irc_smart *,!*#weechat* irc_smart_filter *
filtrer tous les messages IRC join/part/quit:
/filter add joinquit * irc_join,irc_part,irc_quit *
filtrer les pseudos afficher en rejoignant les canaux ou avec /names:
/filter add nicks * irc_366 *
filtrer le pseudo "toto" sur le canal IRC #weechat:
/filter add toto irc.freenode.#weechat nick_toto *
filtrer les messages IRC join/action du pseudo "toto":
/filter add toto * nick_toto+irc_join,nick_toto+irc_action *
filtrer les lignes contenant "weechat sucks" sur le canal IRC #weechat:
/filter add sucks irc.freenode.#weechat * weechat sucks
----
[[command_weechat_help]]
[command]*`help`* afficher l'aide sur les commandes et les options::
----
/help -list|-listfull [<extension> [<extension>...]]
<commande>
<option>
-list: lister les commandes, par extension (sans paramètre, cette liste est affichée)
-listfull: lister les commandes avec description, par extension
extension: lister les commandes de cette extension
commande: un nom de commande
option: un nom d'option (utilisez /set pour voir la liste)
----
[[command_weechat_history]]
[command]*`history`* afficher l'historique des commandes du tampon::
----
/history clear
<valeur>
clear: effacer l'historique
valeur: nombre d'entrées dans l'historique à afficher
----
[[command_weechat_input]]
[command]*`input`* fonctions pour la ligne de commande::
----
/input <action> [<paramètres>]
liste des actions:
return: simuler la touche "entrée"
complete_next: compléter le mot avec la complétion suivante
complete_previous: compléter le mot avec la complétion précédente
search_text: chercher du texte dans le tampon
search_switch_case: basculer la casse exacte pour la recherche
search_switch_regex: basculer le type de recherche: chaîne/expression régulière
search_switch_where: basculer la recherche dans les messages/préfixes
search_previous: chercher la ligne précédente
search_next: chercher la ligne suivante
search_stop: arrêter la recherche
delete_previous_char: effacer le caractère précédent
delete_next_char: effacer le caractère suivant
delete_previous_word: effacer le mot précédent
delete_next_word: effacer le mot suivant
delete_beginning_of_line: effacer du début de la ligne jusqu'au curseur
delete_end_of_line: effacer du curseur jusqu'à la fin de la ligne
delete_line: effacer la ligne entière
clipboard_paste: coller depuis le presse-papiers
transpose_chars: inverser deux caractères
undo: défaire la dernière action de la ligne de commande
redo: refaire la dernière action de la ligne de commande
move_beginning_of_line: déplacer le curseur au début de la ligne
move_end_of_line: déplacer le curseur à la fin de la ligne
move_previous_char: déplacer le curseur sur le caractère précédent
move_next_char: déplacer le curseur sur le caractère suivant
move_previous_word: déplacer le curseur sur le mot précédent
move_next_word: déplacer le curseur sur le mot suivant
history_previous: rappeler la commande précédente dans l'historique du tampon courant
history_next: rappeler la commande suivante dans l'historique du tampon courant
history_global_previous: rappeler la commande précédente dans l'historique global
history_global_next: rappeler la commande suivante dans l'historique global
jump_smart: sauter au prochain tampon avec de l'activité
jump_last_buffer: sauter au dernier tampon
jump_last_buffer_displayed: sauter au dernier tampon affiché (avant le dernier saut vers un tampon)
jump_previously_visited_buffer: sauter au tampon visité précédemment
jump_next_visited_buffer: sauter au tampon visité après
hotlist_clear: effacer la hotlist
grab_key: capturer une touche (paramètre facultatif: délai pour la fin de la capture, par défaut 500 millisecondes)
grab_key_command: capturer une touche avec sa commande associée (paramètre facultatif: délai pour la fin de la capture, par défaut 500 millisecondes)
grab_mouse: capturer un évènement de la souris
grab_mouse_area: capturer un évènement de la souris avec la zone
set_unread: définir le marqueur de données non lues pour tous les tampons
set_unread_current_buffer: définir le marqueur de données non lues pour le tampon courant
switch_active_buffer: basculer vers le tampon mélangé suivant
switch_active_buffer_previous: basculer vers le tampon mélangé précédent
zoom_merged_buffer: zoom sur le tampon mélangé
insert: insérer du texte dans la ligne de commande
paste_start: début de collage (mode "bracketed paste")
paste_stop: fin de collage (mode "bracketed paste")
Cette commande est utilisé par les associations de touches ou les extensions.
----
[[command_weechat_key]]
[command]*`key`* associer/libérer des touches::
----
/key list|listdefault|listdiff [<contexte>]
bind <touche> [<commande> [<args>]]
bindctxt <contexte> <touche> [<commande> [<args>]]
unbind <touche>
unbindctxt <contexte> <touche>
reset <touche>
resetctxt <contexte> <touche>
resetall -yes [<contexte>]
missing [<contexte>]
list: afficher toutes les touches courantes (sans paramètre, cette liste est affichée)
listdefault: afficher les touches par défaut
listdiff: afficher les différences entre les touches courantes et celles par défaut (touches ajoutées, redéfinies ou supprimées)
contexte: nom du contexte ("default" ou "search")
bind: associer une commande à une touche ou affiche la commande associée à la touche
bindctxt: associer une commande à une touche ou affiche la commande associée à la touche pour le contexte donné
commande: commande (plusieurs commandes peuvent êtres séparées par des points-virgules)
unbind: supprimer l'association à une touche
unbindctxt: supprimer l'association à une touche pour le contexte donné
reset: réinitialiser une touche à son association par défaut
resetctxt: réinitialiser une touche à son association par défaut pour le contexte donné
resetall: restaurer les touches aux valeurs par défaut et supprimer TOUTES les touches personnelles (utiliser avec précaution !)
missing: ajouter les touches manquantes (en utilisant les touches par défaut), pratique après installation d'une nouvelle version de WeeChat
Lors de l'association d'une commande à une touche, il est recommandé d'utiliser la touche alt+k (ou Échap puis k), et puis de presser la touche à associer: cela insère le code de la touche dans la ligne de commande.
Pour le contexte "mouse" (possible aussi pour le contexte "cursor"), la touche a le format: "@zone:touche" ou "@zone1>zone2:touche" où la zone peut être :
*: n'importe quelle zone à l'écran
chat: la zone de discussion (n'importe quel tampon)
chat(xxx): la zone de discussion pour le tampon avec le nom "xxx" (nom complet incluant l'extension)
bar(*): n'importe quelle barre
bar(xxx): la barre "xxx"
item(*): n'importe quel objet de barre
item(xxx): l'objet de barre "xxx"
La touche peut commencer ou se terminer par '*' pour plusieurs évènements de la souris.
Une valeur spéciale pour la commande avec le format "hsignal:nom" peut être utilisée dans le contexte "mouse", cela enverra le signal "nom" avec la hashtable du focus comme paramètre.
Une autre valeur spéciale "-" peut être utilisée pour désactiver la touche (elle sera ignorée lors de la recherche de touches).
Exemples:
touche alt-x pour activer/désactiver la liste des pseudos:
/key bind meta-x /bar toggle nicklist
touche alt-r pour aller sur le canal IRC #weechat:
/key bind meta-r /buffer #weechat
restaure l'association par défaut pour la touche alt-r:
/key reset meta-r
touche "tab" pour arrêter la recherche dans le tampon:
/key bindctxt search ctrl-I /input search_stop
bouton du milieu de la souris sur un pseudo pour récupérer les infos sur le pseudo:
/key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
----
[[command_weechat_layout]]
[command]*`layout`* gestion des dispositions de tampons/fenêtres::
----
/layout store [<nom>] [buffers|windows]
apply [<nom>] [buffers|windows]
leave
del [<nom>] [buffers|windows]
rename <nom> <nouveau_nom>
store: stocker les tampons/fenêtres courants dans une disposition
apply: appliquer une disposition sauvegardée
leave: quitter la disposition courante (ne met à jour aucune disposition)
del: supprimer les tampons et/ou fenêtres dans une disposition sauvegardée
(si ni "buffers" ni "windows" n'est donné après le nom, la disposition est supprimée)
rename: renommer une disposition
nom: nom pour la disposition sauvegardée (par défaut "default")
buffers: sauver/appliquer seulement pour les tampons (ordre des tampons)
windows: sauver/appliquer seulement pour les fenêtres (le tampon affiché par chaque fenêtre)
Sans paramètre, cette commande affiche les dispositions sauvegardées.
----
[[command_weechat_mouse]]
[command]*`mouse`* contrôle de la souris::
----
/mouse enable|disable|toggle [<délai>]
enable: activer la souris
disable: désactiver la souris
toggle: activer/désactiver la souris
délai: délai (en secondes) après lequel l'état initial de la souris est restauré (pratique pour désactiver temporairement la souris)
L'état de la souris est sauvé dans l'option "weechat.look.mouse".
Exemples:
activer la souris:
/mouse enable
activer/désactiver la souris pendant 5 secondes:
/mouse toggle 5
----
[[command_weechat_mute]]
[command]*`mute`* exécuter une commande silencieusement::
----
/mute [-current | -buffer <nom> | -all] commande
-current: pas d'affichage sur le tampon courant
-buffer: pas d'affichage sur le tampon spécifié
nom: nom complet du tampon (exemples: "irc.server.freenode", "irc.freenode.#weechat")
-all: pas d'affichage sur TOUS les tampons
commande: commande à exécuter silencieusement (un '/' est automatiquement ajouté s'il n'est pas trouvé au début de la commande)
Si aucune cible n'est spécifiée (-current, -buffer ou -all), alors par défaut seul le tampon core WeeChat sera silencieux.
Exemples:
sauvegarde configuration:
/mute save
message au canal IRC courant:
/mute -current msg * bonjour !
message au canal #weechat:
/mute -buffer irc.freenode.#weechat msg #weechat bonjour !
----
[[command_weechat_plugin]]
[command]*`plugin`* lister/charger/décharger des extensions::
----
/plugin list|listfull [<nom>]
load <fichier> [<paramètres>]
autoload [<paramètres>]
reload [<nom> [<paramètres]]
unload [<nom>]
list: lister les extensions chargées
listfull: lister les extensions chargées (verbeux)
load: charger une extension
autoload: charger automatiquement les extensions dans un répertoire système ou utilisateur
reload: recharger une extension (si pas de nom donné, décharger toutes les extensions, puis recharger automatiquement les extensions)
unload: décharger une extension (si pas de nom donné, décharger toutes les extensions)
fichier: extension (fichier) à charger
nom: nom d'extension
paramètres: paramètres donnés à l'extension lors de son chargement
Sans paramètre, cette commande liste les extensions chargées.
----
[[command_weechat_proxy]]
[command]*`proxy`* gestion des proxies::
----
/proxy list
add <nom> <type> <adresse> <port> [<utilisateur> [<mot_de_passe>]]
del <nom>|-all
set <nom> <option> <valeur>
list: lister tous les proxies
add: ajouter un nouveau proxy
nom: nom du proxy (doit être unique)
type: http, socks4 ou socks5
adresse: IP ou nom de machine
port: port
utilisateur: nom d'utilisateur (optionnel)
mot_de_passe: mot de passe (optionnel)
del: supprimer un proxy (ou tous les proxies avec -all)
set: changer la valeur d'une propriété d'un proxy
option: option à modifier (pour la liste des options, voir /set weechat.proxy.<proxyname>.*)
valeur: nouvelle valeur pour l'option
Exemples:
créer un proxy http, tournant en local, port 8888:
/proxy add local http 127.0.0.1 8888
créer un proxy http en utilisant le protocole IPv6:
/proxy add local http ::1 8888
/proxy set local ipv6 on
créer un proxy socks5 avec un utilisateur/mot de passe:
/proxy add myproxy socks5 sample.host.org 3128 myuser mypass
supprimer un proxy:
/proxy del myproxy
----
[[command_weechat_quit]]
[command]*`quit`* quitter WeeChat::
----
/quit [-yes] [<paramètres>]
-yes: requis si l'option weechat.look.confirm_quit est activée
paramètres: texte envoyé avec le signal "quit"
(par exemple l'extension irc utilise ce texte pour envoyer le message de quit au serveur)
----
[[command_weechat_reload]]
[command]*`reload`* recharger les fichiers de configuration depuis le disque::
----
/reload [<fichier> [<fichier>...]]
fichier: fichier de configuration à recharger (sans l'extension ".conf")
Sans paramètre, tous les fichiers (WeeChat et extensions) sont rechargés.
----
[[command_weechat_repeat]]
[command]*`repeat`* exécuter une commande plusieurs fois::
----
/repeat [-interval <délai>] <nombre> <commande>
délai: délai entre l'exécution des commandes (en millisecondes)
nombre: nombre de fois que la commande sera exécutée
commande: commande à exécuter (un '/' est automatiquement ajouté s'il n'est pas trouvé au début de la commande)
Toutes les commandes sont exécutées sur le tampon où la commande a été lancée.
Exemple:
faire défiler de 2 pages vers le haut:
/repeat 2 /window page_up
----
[[command_weechat_save]]
[command]*`save`* sauvegarder les fichiers de configuration sur disque::
----
/save [<fichier> [<fichier>...]]
fichier: fichier de configuration à sauvegarder (sans l'extension ".conf")
Sans paramètre, tous les fichiers (WeeChat et extensions) sont sauvegardés.
----
[[command_weechat_secure]]
[command]*`secure`* gestion des données sécurisées (mots de passe ou données privées chiffrés dans le fichier sec.conf)::
----
/secure passphrase <phrase de chiffrement>|-delete
decrypt <phrase de chiffrement>|-discard
set <nom> <valeur>
del <nom>
passphrase: modifier la phrase de chiffrement (sans phrase de chiffrement, les données sont stockées en texte brut dans le fichier sec.conf)
-delete: supprimer la phrase de chiffrement
decrypt: déchiffrer les données toujours chiffrées
-discard: jeter toutes les données encore chiffrées
set: ajouter ou modifier une donnée sécurisée
del: supprimer une donnée sécurisée
Sans paramètre, cette commande affiche les données sécurisées dans un nouveau tampon.
Lorsqu'une phrase de chiffrement est utilisée (données chiffrées), elle est demandée au démarrage de WeeChat.
Il est possible de définir la variable d'environnement WEECHAT_PASSPHRASE pour éviter la demande (cette même variable est utilisée par WeeChat sur le /upgrade).
Les données sécurisées avec le format ${sec.data.xxx} peuvent être utilisées dans :
- le paramètre de ligne de commande "--run-command"
- les options weechat.startup.command_{before|after}_plugins
- les options de proxy: username, password
- les options de serveur irc: autojoin, command, password, sasl_{username|password}
- l'option relay.network.password
- la commande /eval.
Exemples :
définir une phrase de chiffrement :
/secure passphrase ceci est ma phrase de chiffrement
chiffrer le mot de passe freenode SASL :
/secure set freenode motdepasse
/set irc.server.freenode.sasl_password "${sec.data.freenode}"
chiffrer le mot de passe oftc pour nickserv :
/secure set oftc motdepasse
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
alias pour ghost du pseudo "pseudo" :
/alias ghost /eval /msg -server freenode nickserv ghost pseudo ${sec.data.freenode}
----
[[command_weechat_set]]
[command]*`set`* modifier des options de configuration::
----
/set [<option> [<valeur>]]
diff [<option> [<option>...]]
option: nom d'une option (peut démarrer ou se terminer par '*' pour lister plusieurs options)
valeur: nouvelle valeur pour l'option
diff: afficher seulement les options modifiées
La nouvelle valeur peut être, selon le type de l'option:
booléen: on, off ou toggle
entier: nombre, ++nombre ou --nombre
chaîne: toute chaîne ("" pour une chaîne vide)
couleur: nom de couleur, ++nombre ou --nombre
Pour tous les types, vous pouvez utiliser null pour supprimer la valeur de l'option (valeur non définie). Cela ne fonctionne qu'avec certaines options spéciales des extensions.
Exemples:
afficher les options à propos du highlight:
/set *highlight*
ajouter un mot pour le highlight:
/set weechat.look.highlight "mot"
afficher les options modifiées:
/set diff
afficher les options modifiées dans l'extension irc:
/set diff irc.*
----
[[command_weechat_unset]]
[command]*`unset`* supprimer/réinitialiser des options de configuration::
----
/unset <option>
option: nom d'une option (peut commencer ou se terminer par "*" pour réinitialiser plusieurs options, à utiliser avec prudence !)
Selon l'option, elle est réinitialisée (pour les options standards) ou supprimée (pour les options facultatives, comme les valeurs pour les serveurs).
Exemples:
réinitialiser une option:
/unset weechat.look.item_time_format
réinitialiser toutes les options de couleur:
/unset weechat.color.*
----
[[command_weechat_upgrade]]
[command]*`upgrade`* mettre à jour WeeChat sans se déconnecter des serveurs::
----
/upgrade [<chemin_vers_binaire>|-quit]
chemin_vers_binaire: chemin vers le binaire WeeChat (par défaut le binaire courant)
-dummy: ne rien faire (option utilisée pour éviter une complétion accidentelle avec "-quit")
-quit: fermer *TOUTES* les connexions, sauver la session et quitter, ce qui rend possible une restauration différée (voir ci-dessous)
Cette commande met à jour et recharge une session de WeeChat qui tourne. Le nouveau binaire WeeChat doit avoir été compilé ou installé via un gestionnaire de paquet avant de lancer cette commande.
Note: les connexions SSL sont perdues durant la mise à jour, car le rechargement de session SSL n'est pas possible actuellement avec GnuTLS. Il y a une reconnexion automatique après la mise à jour.
Le processus de mise à jour comporte 4 étapes :
1. sauvegarder la session pour le cœur et les extensions (tampons, historique, ...)
2. décharger toutes les extensions (les fichiers de configuration (*.conf) sont écrits sur disque)
3. sauvegarder la configuration WeeChat (weechat.conf)
4. exécuter le nouveau binaire WeeChat et recharger la session.
Avec l'option "-quit", le processus est légèrement différent :
1. fermer *TOUTES* les connexions
2. sauvegarder la session (fichiers *.upgrade)
3. décharger les extensions
4. sauvegarder la configuration WeeChat
5. quitter WeeChat
Et plus tard vous pouvez restaurer la session avec la commande: weechat --upgrade
IMPORTANT: vous devez restaurer la session avec exactement la même configuration (fichiers *.conf).
Il est également possible de restaurer la session WeeChat sur une autre machine si vous y copiez le contenu du répertoire "~/.weechat".
----
[[command_weechat_uptime]]
[command]*`uptime`* montrer l'uptime de WeeChat::
----
/uptime [-o | -ol]
-o: envoyer l'uptime sur le tampon courant comme entrée (chaîne en anglais)
-ol: envoyer l'uptime sur le tampon courant comme entrée (chaîne traduite)
----
[[command_weechat_version]]
[command]*`version`* afficher la version de WeeChat et la date de compilation::
----
/version [-o | -ol]
-o: envoyer la version sur le tampon courant comme entrée (chaîne en anglais)
-ol: envoyer la version sur le tampon courant comme entrée (chaîne traduite)
----
[[command_weechat_wait]]
[command]*`wait`* planifier l'exécution d'une commande dans le futur::
----
/wait <nombre>[<unité>] <commande>
nombre: temps à attendre (nombre entier)
unité: optionnelle, valeurs possibles:
ms: millisecondes
s: secondes (par défaut)
m: minutes
h: heures
commande: commande à exécuter (ou texte à envoyer au tampon si la commande ne commence pas par '/')
Note: la commande est exécutée sur le tampon où /wait a été exécuté (si le tampon n'est pas trouvé, alors la commande est exécutée sur le tampon WeeChat principal).
Exemples:
rejoindre le canal dans 10 secondes:
/wait 10 /join #test
passer absent dans 15 minutes:
/wait 15m /away -all I'm away
dire 'bonjour' dans 2 minutes:
/wait 2m bonjour
----
[[command_weechat_window]]
[command]*`window`* gestion des fenêtres::
----
/window list
-1|+1|b#|up|down|left|right [-window <numéro>]
<numéro>
splith|splitv [-window <numéro>] [<pct>]
resize [-window <numéro>] [+/-]<pct>
balance
merge [-window <numéro>] [all]
page_up|page_down [-window <numéro>]
refresh
scroll [-window <numéro>] [+/-]<valeur>[s|m|h|d|M|y]
scroll_horiz [-window <numéro>] [+/-]<valeur>[%]
scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <numéro>]
swap [-window <numéro>] [up|down|left|right]
zoom [-window <numéro>]
list: lister les fenêtres ouvertes (sans paramètre, cette liste est affichée)
-1: sauter à la fenêtre précédente
+1: sauter à la fenêtre suivante
b#: sauter à la fenêtre affichant le tampon #
up: sauter à la fenêtre au dessus
down: sauter à la fenêtre au dessous
left: sauter à la fenêtre à gauche
right: sauter à la fenêtre à droite
numéro: numéro de fenêtre (voir /window list)
splith: éclater la fenêtre en deux horizontalement
splitv: éclater la fenêtre en deux verticalement
resize: redimensionner une fenêtre, la nouvelle taille est <pct> pourcentage de la fenêtre parent
balance: équilibrer la taille de toutes les fenêtres
merge: fusionner la fenêtre avec une autre
page_up: faire défiler d'une page vers le haut
page_down: faire défiler d'une page vers le bas
refresh: redessiner l'écran
scroll: faire défiler d'un nombre de lignes (+/-N) ou avec du temps: s=secondes, m=minutes, h=heures, d=jours, M=mois, y=année
scroll_horiz: faire défiler horizontalement d'un nombre de colonnes (+/-N) ou un pourcentage de la taille de fenêtre (ce défilement est possible seulement sur les tampons avec contenu libre)
scroll_up: faire défiler de quelques lignes vers le haut
scroll_down: faire défiler de quelques lignes vers le bas
scroll_top: faire défiler jusqu'au début du tampon
scroll_bottom: faire défiler jusqu'en bas du tampon
scroll_beyond_end: faire défiler au-delà de la fin du tampon
scroll_previous_highlight: faire défiler jusqu'au highlight précédent
scroll_next_highlight: faire défiler jusqu'au highlight suivant
scroll_unread: faire défiler jusqu'au marqueur de données non lues
swap: échanger les tampons de deux fenêtres (avec une direction facultative pour la fenêtre cible)
zoom: zoomer sur la fenêtre
Pour splith et splitv, pct est un pourcentage qui représente la taille de la nouvelle fenêtre, calculée par rapport à la taille de la fenêtre courante. Par exemple 25 signifie créer une fenêtre qui a pour taille: taille_courante / 4
Exemples:
sauter à la fenêtre affichant le tampon 1:
/window b1
défilement de 2 lignes vers le haut:
/window scroll -2
défilement de 2 jours vers le haut:
/window scroll -2d
défilement jusqu'au début du jour courant:
/window scroll -d
zoom sur la fenêtre numéro 2:
/window zoom -window 2
----
|