summaryrefslogtreecommitdiff
path: root/doc/de/weechat_faq.de.adoc
blob: e4342aee64c779aba00935f738249f210df35cc6 (plain)
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
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
= WeeChat FAQ (häufig gestellte Fragen)
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: de
:toc: macro
:toc-title: Inhaltsverzeichnis
:sectnums:
:docinfo1:


Diese Dokumentation bezieht sich auf die WeeChat Version ≥ 0.3.0. Es sollte aber
vorzugsweise immer die aktuell veröffentlichte Version von WeeChat genutzt werden.

Übersetzer:

* Juergen Descher <jhdl@gmx.net>, 2009
* Nils Görs <weechatter@arcor.de>, 2009-2016

toc::[]


[[general]]
== Allgemein

[[weechat_name]]
=== Woher kommt eigentlich der Name "WeeChat"?

"Wee" ist ein sich selbst nutzendes Akronym und bedeutet "Wee Enhanced Environment".
Somit lautet der vollständige Name "Wee Enhanced Environment for Chat".

"Wee" bedeutet außerdem "sehr klein" (und ja, es gibt noch eine andere Bedeutung des Wortes.
Aber diese Bedeutung trifft nicht auf WeeChat zu!)

[[why_choose_weechat]]
=== Weshalb sollte man WeeChat nutzen? - X-Chat und Irssi sind doch auch sehr gut...

WeeChat ist sehr Speicher schonend und besticht durch innovative Funktionen.

Weitere Informationen gibt es auf der folgenden Internetseite:
https://weechat.org/about/features

[[compilation_install]]
== Kompilierung / Installation

[[gui]]
=== Ich habe gehört es gibt verschiedene GUIs für WeeChat. Wie kann ich diese kompilieren bzw. nutzen?

Die verschiedenen grafischen Oberflächen findet man auf folgender Seite:
https://weechat.org/about/features

[[compile_git]]
=== Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb?

Es wird empfohlen cmake zum kompilieren von WeeChat zu nutzen.

Falls Du WeeChat mit Hilfe der autotools kompilieren solltest (dich also nicht
für cmake entscheidest), stelle sicher, dass Du die neueste Version von autoconf
und automake besitzt.

Die zweite Möglichkeit besteht darin das "Entwickler-Paket" zu installieren, denn dies
besitzt weniger Abhängigkeiten. Das Paket wird quasi täglich aus dem git Repository erstellt.
Beachte, dass dieses Paket nicht immer exakt mit dem git Repository übereinstimmen muss
und daher auch weniger brauchbar sein kann. Im Gegensatz zu der Möglichkeit, dass man selbst
das Repository klont und daraus Updates installiert.

[[compile_osx]]
=== Wie installiere ich WeeChat auf OS X?

Wir empfehlen, dass zur Installation http://brew.sh/[Homebrew] genutzt wird.
Hilfe erhält man mittels:

----
brew info weechat
----

WeeChat kann durch folgenden Befehl installiert werden:

----
brew install weechat --with-aspell --with-curl --with-python --with-perl --with-ruby --with-lua --with-guile
----

[[lost]]
=== Ich habe WeeChat gestartet, komme aber nicht mehr weiter - was kann ich tun?

Um Hilfe zu erhalten, nutze den `/help` Befehl. Eine Hilfe zu einem Befehl erhältst
Du durch die Eingabe von: `/help Befehlsname`.
Befehle sowie die Belegung der jeweiligen Tasten sind in der Dokumentation
beschrieben. (Tipp: Mit den Tasten <Bild-hoch>/<Bild-runter> kann man seitenweise
in den Buffern blättern)

Neue Benutzer sollten unbedingt die quickstart-Anleitung lesen:
https://weechat.org/doc

[[display]]
== Anzeige

[[charset]]
=== Bei einigen Zeichen fehlen die Akzente. Wie kann ich das korrigieren?

Dies ist ein bekanntes Problem. Aus diesem Grund sollten die folgenden Punkte
sorgfältig durchgelesen und *alle* aufgezeigten Lösungsmöglichkeiten überprüft
werden:

* überprüfe, ob WeeChat mit libncursesw verlinkt ist (Warnung: Dies ist bei den
  meisten Distributionen nötig - jedoch nicht bei allen): `ldd /path/to/weechat`
* prüfe mit dem Befehl `/plugin`, ob die "charset" Erweiterung geladen ist (falls
  dies nicht der Fall sein sollte benötigst Du wahrscheinlich noch das Paket "weechat-plugins")
* überprüfe die Ausgabe des `/charset` Befehls (im Server-Buffer). Du solltest
  für den Terminal _ISO-XXXXXX_ oder _UTF-8_ als Antwort erhalten. Sollte hingegen
  _ANSI_X3.4-1968_ oder ein anderer Wert angezeigt werden, ist Deine lokale
  Einstellung möglicherweise falsch.
* Einstellen des globalen decode Wertes, z.B.:
  `/set charset.default.decode "ISO-8859-15"`
* Falls Du UTF-8 lokal nutzt:
** prüfe, ob Dein Terminal überhaupt UTF-8 fähig ist (der empfohlene Terminal für UTF-8
   ist rxvt-unicode)
** Solltest Du screen nutzten, prüfe ob screen im UTF-8 Modus läuft
   ("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` zum starten von
   screen)
* überprüfe die Option _weechat.look.eat_newline_glitch_ (diese Option kann zu
  Darstellungsfehlern führen, wenn sie aktiviert ist)

[NOTE]
Für Weechat wird die Nutzung von UTF-8 locale empfohlen. Nutzt Du jedoch ISO
oder andere locale, bitte vergewissere Dich, dass *alle* Deine Einstellungen
(Terminal, screen, ...) sich auch auf ISO beziehen und *nicht* auf UTF-8.

[[unicode_chars]]
=== Einige Unicode-Zeichen werden im Terminal angezeigt aber in WeeChat nicht, warum?

Dies kann durch einen Fehler in der Funktion _wcwidth_ von libc hervorgerufen werden.
Dieser Fehler sollte durch glibc 2.22 behoben sein (vielleicht ist diese Version in der
verwendeten Distributionen noch nicht verfügbar),

Es gibt folgende Übergangslösung um das Problem mit der _wcwidth_ zu umgehen:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat

Siehe diesen Fehlermeldung für weitere Informationen:
https://github.com/weechat/weechat/issues/79

[[bars_background]]
=== Weshalb haben Bars, z.B. Titel und Status, keine Hintergrundfarbe bzw. diese endet direkt nach dem Text?

Dies kann durch einen falschen Wert in der Variablen TERM Deiner Shell verursacht
werden. Bitte überprüfe die Ausgabe von `echo $TERM` in Deinem Terminal.

Abhängig davon von wo WeeChat gestartet wird solltest Du folgenden Wert nutzen:

* läuft WeeChat auf einem lokalen oder entfernten Rechner, ohne screen oder tmux,
  ist entscheidend welcher Terminal genutzt wird: _xterm_, _xterm-256color_, _rxvt-unicode_,
  _rxvt-256color_, ...
* wird WeeChat in screen gestartet: _screen_ oder _screen-256color_,
* wird WeeChat in tmux gestartet: _tmux_, _tmux-256color_,
  _screen_ oder _screen-256color_.

Falls nötig korrigiere den Wert Deiner Variablen TERM: `export TERM="xxx"`.

[[screen_weird_chars]]
=== Wenn ich Weechat mit screen/tmux nutze habe ich merkwürdige Zeichen, wie kann ich dies beheben?

Dies kann durch einen falschen Wert in der TERM-Umgebungsvariable Deiner Shell hervorgerufen
werden. Bitte überprüfe die Ausgabe von `echo $TERM` in Deinem Terminal (*außerhalb von screen/tmux*).

Als Beispiel, _xterm-color_ könnte solche merkwürdigen Zeichen produzieren.
Nutzte stattdessen lieber _xterm_.

Falls notwendig korrigiere den Wert Deiner TERM-Variable: `export TERM="xxx"`.

[[osx_display_broken]]
=== Ich habe WeeChat unter OS X kompiliert und erhalte nur "(null)" als Textausgabe. Was läuft da schief?

Wenn Du ncursesw selber kompiliert haben solltest dann probiere einmal die Standard ncurses aus, welche
mit dem System ausgeliefert wird.

Darüber hinaus ist es unter OS X ratsam WeeChat mittels des Homebrew package manager zu installieren.

[[buffer_vs_window]]
=== Ich habe von "Buffern" und "Fenstern" gehört - Worin besteht der Unterschied?

Ein _Buffer_ besitzt einen Namen und es wird ihm eine Buffer-Nummer zugeordnet.
In einem _Buffer_ werden Textzeilen angezeigt (und noch anderen Daten).

Ein _Fenster_ ist ein Bildschirmbereich der Buffer darstellt. Es ist möglich
den Bildschirm in mehrere Fenster aufzuteilen.

Jedes Fenster stellt einen Buffer dar. Ein Buffer kann unsichtbar sein (er wird
in einem Fenster nicht angezeigt). Oder ein Buffer wird durch ein oder mehrere Fenster
angezeigt.

[[buffers_list]]
=== Wie kann ich eine Liste mit den Buffern z.B. auf der linken Seite anzeigen lassen?

Ab WeeChat ≥ 1.8 wird standardmäßig die "buflist" Erweiterung automatisch geladen und verwendet.

bei älteren Versionen kann das Skript _buffers.pl_ installiert werden:

----
/script install buffers.pl
----

To limit size of bar (replace "buflist" by "buffers" if you're using the script
_buffers.pl_):

----
/set weechat.bar.buflist.size_max 15
----

To move bar to bottom:

----
/set weechat.bar.buflist.position bottom
----

To scroll the bar: if mouse is enabled (key: kbd:[Alt+m]), you can scroll the
bar with your mouse wheel.

Default keys to scroll _buflist_ bar are kbd:[F1], kbd:[F2], kbd:[Alt+F1]
and kbd:[Alt+F2].

For script _buffers.pl_, you can define keys, similar to the existing keys to
scroll nicklist. +
For example to use kbd:[F1], kbd:[F2], kbd:[Alt+F1] and kbd:[Alt+F2]:

----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----

[NOTE]
Die Tasten "meta-OP" und "meta-OQ" können nach dem jeweils genutzten Terminal variieren. Um die
korrekten Tasten zu finden sollte man kbd:[Alt+k] und dann drücken.

[[customize_prefix]]
=== Wie kann ich die Länge eines Nicknamens begrenzen oder die Ausrichtung des Nicks im Chatbereich entfernen?

Um die Länge des Nicknamens im Chatbereich auf eine maximale Größe (z.B. 15 Zeichen) zu begrenzen:

----
/set weechat.look.prefix_align_max 15
----

um die Ausrichtung für Nicks zu entfernen:

----
/set weechat.look.prefix_align none
----

[[status_hotlist]]
=== Was bedeutet die Anzeige [H: 3(1,8), 2(4)] in der Status-Bar?

Dabei handelt es sich um die sogenannte "hotlist", eine Auflistung der
Buffer mit der Anzahl der ungelesenen Nachrichten. Die Reihenfolge ist:
highlights, private Nachrichten, Nachrichten, Nachrichten mit niedriger
Priorität (z.B. join/part). +
Die Anzahl der "ungelesen Nachrichten" ist die Anzahl der neuen Nachrichten
die man empfangen hat bzw. angezeigt werden seitdem man den Buffer
das letzte mal betreten hat.

Im Beispiel `[H: 3(1,8), 2(4)]`, handelt es sich um:

* eine highlight Nachricht und 8 ungelesene Nachrichten im Buffer #3
* 4 ungelesene Nachrichten im Buffer #2.

Die Farbe des Buffers/Zählers hängt ab um welche Art von Nachrichten es
sich handelt. Standardfarben:

* highlight: `lightmagenta` / `magenta`
* private Nachrichten: `lightgreen` / `green`
* Nachrichten: `yellow` / `brown`
* Nachrichten mit niedriger Priorität: `default` / `default` (Textfarbe des Terminal)

Diese Farben können mit den Optionen __weechat.color.status_data_*__
(Buffers) und __weechat.color.status_count_*__ (Zähler) angepasst werden. +
Weitere hotlist Eigenschaften können den Optionen  __weechat.look.hotlist_*__
verändert werden.

siehe Benutzeranleitung für weitere Informationen bezüglich der Hotlist (screen layout).

[[input_bar_size]]
=== Wie kann man eine mehrzeilige Eingabezeile einstellen?

Mit der Option _size_ kann man angeben aus wie vielen Zeilen die Eingabezeile
bestehen soll (der Standardwert für die Eingabezeile ist 1), oder man nutzt den
Wert 0 um die Anzahl der Zeilen, für die Eingabezeile, dynamisch zu verwalten.
Nutzt man zusätzlich die Option _size_max_ kann man angeben wie viele Zeilen,
für die Eingabezeile, maximal genutzt werden dürfen (0 = keine Begrenzung)

Beispiele um eine dynamische Größe zu nutzen:

----
/set weechat.bar.input.size 0
----

maximal zwei Zeilen:

----
/set weechat.bar.input.size_max 2
----

[[one_input_root_bar]]
=== Ist es möglich nur eine Eingabezeile für alle Fenster zu nutzen (auch falls diese geteilt sind)?

Ja, dazu muss eine Bar des Typs "root" erstellt werden (dies muss ein Item besitzen, welches anzeigt
in welchem Fenster man sich befindet) und die aktuelle Eingabezeile muss gelöscht werden.

Zum Beispiel:

----
/bar add rootinput root bottom 1 0 [buffer_name]+[input_prompt]+(away),[input_search],[input_paste],input_text
/bar del input
----

Falls Du doch nicht zufrieden sein solltest, dann lösche einfach die neue Bar. WeeChat erstellt
automatisch eine neue Eingabezeile sofern das Item "input_text" in keiner anderen Bar genutzt
werden sollte:

----
/bar del rootinput
----

[[terminal_copy_paste]]
=== Wie kann ich einen Text kopieren und einfügen ohne das die Nickliste (Benutzerliste) mit kopiert wird?

Ab WeeChat ≥ 1.0 kann ein einfacher Anzeigemodus genutzt werden (Standardtastenbelegung: kbd:[Alt+l]).

Hierzu kannst Du ein Terminal nutzen welches Block-Auswahl erlaubt (wie z.B. rxvt-unicode,
konsole, gnome-terminal, ...). Im Normalfall erfolgt die Markierung mittels der Tasten
kbd:[Ctrl] + kbd:[Alt] + in Verbindung mit der Auswahl durch die Maus.

Eine weitere Möglichkeit besteht darin die Benutzerliste am oberen oder unteren
Bildschirm zu positionieren:

----
/set weechat.bar.nicklist.position top
----

[[urls]]
=== Wie kann ich eine URL aufrufen die einen Zeilenumbruch besitzt?

Ab WeeChat ≥ 1.0 kann ein einfacher Anzeigemodus genutzt werden (Standardtastenbelegung: kbd:[Alt+l]).

Um URLs einfacher zu öffnen:

* die Nicklist an den oberen Bildschirmbereich positionieren:

----
/set weechat.bar.nicklist.position top
----

* die Ausrichtung bei einem Zeilenumbruch deaktivieren (WeeChat ≥ 1.7):

----
/set weechat.look.align_multiline_words off
----

* oder für alle Zeilenumbrüche:

----
/set weechat.look.align_end_of_lines time
----

Ab der WeeChat Version ≥ 0.3.6, kann die Option "eat_newline_glitch" aktiviert
werden. Damit wird das Zeichen für einen Zeilenumbruch nicht an die dargestellten
Zeilen angefügt (dies führt dazu, dass URLs beim Markieren korrekt erkannt werden):

----
/set weechat.look.eat_newline_glitch on
----

[IMPORTANT]
Bei der Nutzung dieser Option kann es zu Darstellungsfehlern kommen. Sollte dies
auftreten, sollte diese Option wieder deaktiviert werden.

Eine weitere Möglichkeit ist, ein Skript zu nutzen:

----
/script search url
----

[[change_locale_without_quit]]
=== Ich möchte die Meldungen von Weechat in einer anderen Sprache ausgeben lassen, ohne WeeChat zu beenden. Ist dies möglich?

Ja, mit WeeChat ≥ 1.0:

----
/set env LANG de_DE.UTF-8
/upgrade
----

und mit einern älteren Version von WeeChat:

----
/script install shell.py
/shell setenv LANG=de_DE.UTF-8
/upgrade
----

[[use_256_colors]]
=== Wie kann ich 256 Farben in WeeChat nutzen?

256 Farben werden ab der WeeChat Version ≥ 0.3.4 unterstützt.

Zuerst sollte überprüft werden ob die _TERM_-Umgebungsvariable korrekt hinterlegt
ist. Folgende Werte sind zu empfehlen:

* falls screen genutzt wird: _screen-256color_
* für tmux: _screen-256color_ oder _tmux-256color_
* ausserhalb screen/tmux: _xterm-256color_, _rxvt-256color_, _putty-256color_, ...

[NOTE]
Es sollte das Paket "ncurses-term" installiert werden um die Werte der _TERM_
Variable nutzen zu können.

Sollte screen genutzt werden, fügt man folgende Zeile an das Ende der Datei
_~/.screenrc_ ein:

----
term screen-256color
----

Falls die Umgebungsvariable _TERM_ einen falschen Wert haben sollte und WeeChat
schon gestartet wurde, kann man die Umgebungsvariable mit folgenden WeeChat Befehlen
anpassen (WeeChat ≥ 1.0):

----
/set env TERM screen-256color
/upgrade
----

Mit der WeeChat Version 0.3.4 muss der Befehl `/color` genutzt werden, um neue Farben zu erstellen.

Ab Version ≥ 0.3.5 kann in den Optionen für eine zu nutzende Farbe die entsprechende
Zahl der Farbe eingetragen werden (optional: mit dem Befehl `/color` kann man einen Alias für
eine Farbe definieren).

Weiterführende Informationen zum Farbmanagement erhält man in der Benutzeranleitung.

[[search_text]]
=== Wie kann ich in einem Buffer nach einem Text suchen (vergleichbar /lastlog in irssi)?

Die Standardtastenbelegung lautet kbd:[Ctrl+r] (der dazugehörige Befehl: `/input search_text_here`).
und um zu Highlight-Nachrichten zu springen: kbd:[Alt+p] / kbd:[Alt+n].

Siehe Benutzeranleitung für weitere Informationen zu dieser Funktion (Standardtastenbelegung).

[[terminal_focus]]
=== Wie kann ich Befehle ausführen, wenn der Terminal (keinen) Fokus hat?

Dazu muss ein spezieller Code an das Terminal gesendet werden um diese
Funktionalität zu aktivieren.

*Wichtig*:

* Gegenwärtig scheint diese Funktion *ausschließlich* durch _xterm_ zur Verfügung gestellt zu werden.
* Unter screen/tmux funktioniert diese Funktion *nicht*.

Um den speziellen Code während des Startvorgangs von WeeChat zu aktivieren:

----
/set weechat.startup.command_after_plugins "/print -stdout \033[?1004h\n"
----

Zusätzlich sollten noch zwei Tastenbefehle eingebunden werden (der Befehl
`/print` sollte durch einen Befehl Ihrer Wahl ersetzt werden):

----
/key bind meta2-I /print -core focus
/key bind meta2-O /print -core unfocus
----

[[screen_paste]]
=== Wird WeeChat in screen ausgeführt, kommt es vor das dem eingefügten Text in einem anderen screen Fenster ~0 und ~1 hinzugefügt wird, weshalb?

Dies wird durch die bracketed paste Option hervorgerufen, die standardmäßig aktiviert ist
und nicht korrekt von screen unterstützt wird.

Der bracketed paste Modus kann wie folgt deaktiviert werden:

----
/set weechat.look.paste_bracketed off
----

[[key_bindings]]
== Tastaturbelegung

[[meta_keys]]
=== Aus welchem Grund funktionieren manche Meta-Tasten (alt + Taste) nicht?

Wenn Du einen Terminal wie xterm oder uxterm nutzten solltest werden einige
Meta-Tasten standardmäßig nicht unterstützt.
In einem solchen Fall sollte folgende Zeile der Konfigurationsdatei _~/.Xresources_
hinzugefügt werden:

* für xterm:
----
XTerm*metaSendsEscape: true
----
* für uxterm:
----
UXTerm*metaSendsEscape: true
----

Danach muss resources neu geladen werden (`xrdb -override ~/.Xresources`) oder
man startet X neu.

[[customize_key_bindings]]
=== Wie kann ich die Tastaturbelegung anpassen?

Die Tasten werden mit dem Befehl `/key` belegt.

Mit der voreingestellten Tastenkombination kbd:[Alt+k] kann man sich den
Code der jeweiligen Taste anzeigen lassen und in die Eingabezeile einfügen.

[[jump_to_buffer_11_or_higher]]
=== Mit welcher Tastenkombination kann ich zum Buffer 11 (oder höher) wechseln?

Die Tastenkombination lautet kbd:[Alt+j] gefolgt von den zwei Ziffern des Buffers.
Zum Beispiel, kbd:[Alt+j], kbd:[1], kbd:[1] um zum Buffer 11 zu wechseln.

Es kann auch eine neue Taste eingebunden werden um zu einem Buffer zu wechseln:

----
/key bind meta-q /buffer *11
----

Eine Auflistung der Standardtastenbelegung findet man in der Benutzeranleitung.

[[global_history]]
=== Wie kann ich den globalen Verlaufsspeicher (anstelle des Buffer eigenen) mit den Up-/Down-Tasten nutzen?

Du kannst die Up-/Down-Tasten für den globalen Verlaufsspeicher belegen (als Standardtasten werden
genutzt: kbd:[Ctrl+↑] und kbd:[Ctrl+↓]).

Beispiele:

----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----

[NOTE]
Die Tasten "meta2-A" und "meta2-B" können nach dem jeweils genutzten Terminal variieren. Um die
korrekten Tasten zu finden sollte man kbd:[Alt+k] und dann drücken.

[[mouse]]
== Mausunterstützung

[[mouse_not_working]]
=== Die Mausunterstützung funktioniert nicht, was kann ich tun?

Eine Unterstützung von Mausfunktionen ist seit WeeChat ≥ 0.3.6 verfügbar.

Als erstes sollte man die Mausunterstützung einschalten:

----
/mouse enable
----

Falls die Maus von WeeChat nicht erkannt werden sollte muss die TERM Variable
der Konsole überprüft werden (die geschieht im Terminal mittels `echo $TERM`).
Entsprechend der ausgegebenen Information, wird ggf. eine Maus nicht unterstützt.

Um zu testen ob eine Mausunterstützung vom Terminal bereitgestellt wird, sollte
man folgende Zeile im Terminal eingeben:

----
$ printf '\033[?1002h'
----

Und nun klickt man mit der Maus auf das erste Zeichen im Terminal (linke obere
Ecke). Als Ergebnis sollte man folgende Zeichenkette erhalten: " !!#!!".

Um die Mausunterstützung im Terminal zu beenden:

----
$ printf '\033[?1002l'
----

[[mouse_coords]]
=== Mausunterstützung funktioniert nicht falls x/y Koordinaten größer 94 (oder 222) Pixel sind, weshalb?

Einige Terminals senden ausschließlich ISO Zeichen für die Mauskoordinaten. Deshalb ist eine
Nutzung über 94 (oder 222) Pixel hinausgehend, sowohl in den x- wie auch den y-Koordinaten, nicht gegeben.

Dann muss man einen Terminl nutzen der eine Unterstützung von UTF-8 Koordinaten für die Maus
bietet, zum Beispiel rxvt-unicode.

[[mouse_select_paste]]
=== Wie kann ich bei aktivierter Mausunterstützung im Terminal einen Text markieren oder einfügen?

Ist die Mausunterstützung aktiviert kann man mittels gedrückter kbd:[Shift]-Taste (Umschalttaste)
einen Text im Terminal markieren oder einfügen, als sei die Mausunterstützung deaktiviert.
(bei einigen Terminals muss die kbd:[Alt]-Taste anstelle der kbd:[Shift]-Taste gedrückt werden).

[[irc]]
== IRC

[[irc_ssl_connection]]
=== Es treten Probleme bei einer Serververbindung mittels SSL auf. Was kann ich tun?

Falls Mac OS X genutzt wird muss mittels Homebrew `openssl` installiert werden.
Ein CA Datei wird mittels Zertifikaten vom Systemschlüssel geladen.
Der Pfad zu den Zertifikaten kann in WeeChat eingestellt werden:

----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----

Falls Fehlermeldungen auftreten sollten die besagen, dass der gnutls Handshake
nicht geklappt hat, sollte ein kleinerer Diffie-Hellman-Schlüssel verwendet
werden (Standardgröße: 2048):

----
/set irc.server.example.ssl_dhkey_size 1024
----

Erscheint eine Fehlermeldung, dass etwas mit dem Zertifikat nicht stimmen sollte dann
kann eine "ssl_verify" Überprüfung deaktiviert werden (die Verbindung ist in diesem
Fall weniger sicher):

----
/set irc.server.example.ssl_verify off
----

Sollte das Zertifikat für den Server ungültiges sein und man kennt das entsprechende
Zertifikat, dann kann man einen Fingerabdruck festlegen (SHA-512, SHA-256 or SHA-1):

----
/set irc.server.example.ssl_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
----

[[irc_ssl_handshake_error]]
=== Bei einem Verbindungsaufbau zum Server, via SSL, erhalte ich "TLS Handshake fehlgeschlagen". Wie kann ich das beheben?

Man sollte versuchen eine andere Priorität zu nutzen (nur WeeChat ≥ 0.3.5); Im Beispiel
muss "xxx" durch den internen Servernamen ersetzt werden:

----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----

[[irc_ssl_freenode]]
=== Wie kann ich eine SSL gesicherte Verbindung zum freenode Server herstellen?

Die Option _weechat.network.gnutls_ca_file_ sollte auf die Zertifikationsdatei zeigen:

----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----

Hinweis: Falls man homebrew openssl unter OS X installiert hat, empfiehlt sich:

----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----

[NOTE]
Überprüfe, ob die Zertifikationsdatei auf Deinem System installiert wurde (üblicherweise wird
diese Datei durch das Paket "ca-certificates" bereitgestellt)

Konfiguration des Servers, Port, SSL und dann einen Connect durchführen:

----
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
/connect freenode
----

[[irc_oauth]]
=== Wie stellt man eine Verbindung zu einem Server her, der "oauth" verlangt?

Einige Server, wie z.B. _twitch_, verlangen oauth für eine Verbindung.

Bei oauth handelt es sich lediglich um ein Passwort in dem Format "oauth:XXXX".

Um einen solchen Server hinzuzufügen und sich mit diesem zu Verbinden (ersetze "name"
und Adresse durch passende Werte):

----
/server add name irc.server.org -password=oauth:XXXX
/connect name
----

[[irc_sasl]]
=== Wie kann ich mich, vor dem Betreten von Channels, identifizieren?

Sollte der Server SASL unterstützen, ist es ratsam auf diese Funktion zurückzugreifen
und sich nicht mittels "nickserv" zu authentifizieren. Zum Beispiel:

----
/set irc.server.freenode.sasl_username "meinNick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----

Unterstützt der Server keine SASL Authentifizierung, kann eine Verzögerung aktiviert
werden um sich, vor dem Betreten von Channels, bei "nickserv" zu identifizieren:

----
/set irc.server.freenode.command_delay 5
----

[[ignore_vs_filter]]
=== Was ist der Unterschied zwischen dem Befehl /ignore und /filter?

Der Befehl `/ignore` ist ein IRC-Befehl und beeinflusst somit nur die IRC-Buffer
(Server und Channel).
Durch den Befehl kann man bestimmte Nicks oder Hostnamen von Usern eines Servers oder
von Channels ignorieren (Der Befehl wird nicht auf den Inhalt der Meldung angewandt).
Zutreffende Meldungen werden, bevor sie angezeigt werden, von der IRC-Erweiterung gelöscht
(Du wirst sie niemals zu Gesicht bekommen).

Der Befehl `/filter` ist ein Kern-Befehl (A.d.Ü.: wird in WeeChat ausgeführt und
nicht an den Server gesendet) und beeinflusst somit jeden Buffer.
Dieser Befehl eröffnet die Möglichkeit bestimmte Zeilen in Buffern, mittels Tags und
regulären Ausdrücken nach Präfix und Zeileninhalt zu filtern.
Die Zeilen werden dabei nicht gelöscht, lediglich die Darstellung im Buffer wird unterdrückt.
Die gefilterten Zeilen können zu jeder Zeit dargestellt werden indem man den Filter deaktiviert
(Voreinstellung zum aktivieren/deaktivieren der Filter: kbd:[Alt+=]).

[[filter_irc_join_part_quit]]
=== Wie kann ich join/part/quit Meldungen in den IRC Channels filtern (A.d.ü.: unterdrücken)?

Zum einen mit dem Smart-Filer (join/part/quit Meldungen werden von Usern angezeigt die kürzlich
noch etwas geschrieben haben):

----
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
----

zum anderen mit einer globalen Filterung (*alle* join/part/quit Nachrichten werden unterdrückt):

----
/filter add joinquit * irc_join,irc_part,irc_quit *
----

[NOTE]
Für weitere Hilfe: `/help filter` und `/help irc.look.smart_filter`

[[filter_irc_join_channel_messages]]
=== Wie kann ich Server-Nachrichten filtern wenn ich einen IRC Channel betrete?

Ab WeeChat ≥ 0.4.1 kann man auswählen welche Server Nachrichten beim Betreten
eines Channels angezeigt und welche verborgen werden sollen. Dazu nutzt man
die Option _irc.look.display_join_message_ (für weitere Informationen, siehe
`/help irc.look.display_join_message`).

Um Nachrichten visuell zu verbergen können diese gefiltert werden, mittels
ihrem Tag (zum Beispiel _irc_329_, ist für das Erstellungsdatum des Channels).
Siehe `/help filter` um weitere Informationen über die Filterfunktion zu
erhalten.

[[filter_voice_messages]]
=== Wie kann ich voice Nachrichten filtern (z.B. auf Bitlbee Servern)?

Voice Nachrichten zu filtern ist nicht einfach da der Voice-Modus mit anderen
Modi in einer IRC Nachricht kombiniert werden kann.

Möchte man Voice-Nachrichten z.B. bei Bitlbee unterdrücken, da diese dazu genutzt
werden um den Abwesenheitsstatus anderer User anzuzeigen (und man nicht von diesen
Mitteilungen überflutet werden möchte), kann man WeeChat anweisen abwesende Nicks
in einer anderen Farbe darzustellen.

Nutzt man Bitlbee ≥ 3, sollte man im _&bitlbee_ Channel folgendes eingeben:

----
channel set show_users online,away
----

für ältere Versionen von Bitlbee gibt man im _&bitlbee_ Channel ein:

----
set away_devoice false
----

Um sich in WeeChat anzeigen zu lassen welche Nicks abwesend sind siehe:
<<color_away_nicks,abwesende Nicks>>.

Wenn man wirklich Voice-Nachrichten filtern möchte kann folgender Befehl angewandt
werden. Allerdings ist diese Lösung nicht perfekt, da bei mehren Modi als erstes
der Voice Modus aufgeführt sein muss):

----
/filter add hidevoices * irc_mode (\+|\-)v
----

[[color_away_nicks]]
=== Wie kann ich Nicks in der Benutzerliste anzeigen lassen die abwesend sind?

Dazu weist man der Option _irc.server_default.away_check_ ein Zeitintervall
zu, in welchen Abständen eine Überprüfung stattfinden soll. Die Angabe des
Wertes erfolgt in Minuten.

Mittels der Option _irc.server_default.away_check_max_nicks_ kann festgelegt
werden in welchen Channels eine Überprüfung stattfinden soll. Hierbei stellt
der angegebene Wert die maximale Anzahl an Nicks in einem Channel dar die den
Channel gleichzeitig besuchen dürfen.

Im folgenden Beispiel wird der Abwesenheitsstatus alle fünf Minuten überprüft.
Dabei werden aber nur solche Channels berücksichtigt die nicht mehr als 25
Teilnehmer haben:

----
/set irc.server_default.away_check 5
/set irc.server_default.away_check_max_nicks 25
----

[NOTE]
Für Weechat ≤ 0.3.3, lauten die Optionen _irc.network.away_check_ und
_irc.network.away_check_max_nicks_.

[[highlight_notification]]
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Channel highlighted

Seit WeeChat ≥ 1.0 gibt es standardmäßig einen Trigger, "beep", der an das Terminal
ein _BEL_ Signal schickt, sobald man eine highlight oder private Nachricht erhält.
Nun muss man lediglich im Terminalprogramm (oder einem Multiplexer wie screen/tmux)
einstellen welcher Befehl ausgeführt werden soll, sobald das Terminal das _BEL_
Signal erhält.

Oder man führt im Trigger "beep" direkt einen Befehl aus:

----
/set trigger.trigger.beep.command "/print -beep;/exec -bg /Pfad/zum/Befehl Argumente"
----

Nutzt man eine ältere Version von WeeChat, können z.B. die Skripten _beep.pl_ oder _launcher.pl_
genutzt werden.

Beim _launcher.pl_ Skript müssen noch die Befehle angepasst werden:

----
/set plugins.var.perl.launcher.signal.weechat_highlight "/Pfad/zum/Befehl Argumente"
----

andere Skripten die auch zu diesem Thema passen:

----
/script search notify
----

[[irc_target_buffer]]
=== Wie kann ich bei zusammengefügten Buffern den Zielbuffer ändern (z.B. bei einem Server-Buffer)?

Die Standardtastenkombination lautet kbd:[Ctrl+x] (der dazugehörige Befehl: `/input switch_active_buffer`).

[[plugins_scripts]]
== Erweiterungen / Skripten

[[openbsd_plugins]]
=== Ich benutze OpenBSD aber WeeChat lädt keine Erweiterungen - weshalb?

Unter OpenBSD enden die Dateinamen von Erweiterungen mit ".so.0.0" (".so" bei Linux).

Um dies zu beheben muss folgendes konfiguriert werden:

----
/set weechat.plugin.extension ".so.0.0"
/plugin autoload
----

[[install_scripts]]
=== Wie kann ich Skripten installieren? Sind Skripten kompatibel mit anderen IRC Clients?

Zum installieren und verwalten von Skripten kann der Befehl `/script` genutzt werden
(siehe `/help script` für eine Hilfe).

Die Skripten für WeeChat sind mit anderer IRC-Clients nicht kompatibel und vice versa.

[[settings]]
== Einstellungen

[[editing_config_files]]
=== Kann ich die Konfigurationsdateien (*.conf) händisch verändern?

Das ist möglich, wird aber *NICHT* empfohlen.

Der interne WeeChat Befehl `/set` sollte genutzt werden:

* da die TAB Vervollständigung unterstützt wird
* der neue Wert wird auf Legalität geprüft und bei einem Fehler eine entsprechende Meldung ausgegeben
* der neue Wert wird umgehend genutzt. Es ist nicht notwendig WeeChat neu zu starten oder irgendwelche Daten neu zu laden

Solltest Du die Dateien weiter händisch ändern wollen, dann solltest Du vorsichtig sein:

* wird ein ungültiger Wert eingetragen, gibt WeeChat einen Fehler beim Start aus und
  der ungültigen Wert wird verworfen (der Standardwert, für die entsprechende Option, wird
  dann genutzt)
* sollte WeeChat laufen und man nutzt den `/reload` Befehl aber Einstellungen wurden nicht
  vorher mit `/save` gesichert, ist ein Datenverlust unvermeidbar

[[memory_usage]]
=== Wie kann ich WeeChat dazu bringen weniger Speicher zu verbrauchen?

Damit WeeChat weniger Speicher benötigt, solltest Du folgende Tipps umsetzen:

* nutze die aktuelle Version (man kann davon ausgehen das eine aktuelle Version
  weniger Speicherlecks besitzt, als eine vorherige Version)
* lade keine Erweiterungen die Du nicht benötigst. Zum Beispiel: ASpell, Buflist,
  Fifo, Logger, Perl, Python, Ruby, Lua, Tcl, Guile, Javascript, Xfer (wird für
  DCC benötigst)
* installiere ausschließlich Skripten die Du auch nutzt
* falls man SSL *NICHT* nutzt, sollte kein Zertifikat geladen werden. In diesem
  Fall, einfach den Eintrag in folgender Option leer lassen:
  _weechat.network.gnutls_ca_file_
* der Wert der Option _weechat.history.max_buffer_lines_number_ sollte möglichst
  niedrig eingestellt werden oder die Option _weechat.history.max_buffer_lines_minutes_
  verwendet werden.
* nutze einen kleineren Wert für die Option _weechat.history.max_commands_

[[cpu_usage]]
=== Wie kann ich WeeChat dazu bewegen die CPU weniger zu beanspruchen?

Man sollte sich die Tipps zum <<memory_usage,Speicherverbrauch>> ansehen
und zusätzlich diese Tipps beherzigen:

* "nicklist"-Bar sollte versteckt werden: `/bar hide nicklist`
* die Sekundenanzeigen in der Statusbar sollte deaktiviert werden:
  `/set weechat.look.item_time_format "%H:%M"` (dies ist die Standardeinstellung)
* die Echtzeit Rechtschreibkorrektur sollte deaktiviert werden (falls sie aktiviert wurde):
  `/set aspell.check.real_time off`
* die Umgebungsvariable _TZ_ sollte gesetzt sein (zum Beispiel: `export TZ="Europe/Berlin"`). Dadurch wird
  verhindert, dass auf die Datei _/etc/localtime_ häufig zugegriffen wird.

[[security]]
=== Ich bin ein bisschen Paranoid was Sicherheit betrifft. Welche Einstellungen kann ich vornehmen um noch mehr Privatsphäre zu erlangen?

Deaktiviere IRC part und quit Nachrichten:

----
/set irc.server_default.msg_part ""
/set irc.server_default.msg_quit ""
----

Deaktiviere die automatische Antwort für alle CTCP Anfragen:

----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----

Entferne und deaktiviere das automatische Ausführen der "xfer"-Erweiterung (für IRC DCC verantwortlich):

----
/plugin unload xfer
/set weechat.plugin.autoload "*,!xfer"
----

Definiere eine Passphrase und nutze ausschließlich geschützte Daten wann immer
es möglich ist, wie z.B. bei Passwörtern: siehe `/help secure` und nutze `/help`
bei der entsprechenden Option (falls man geschützte Daten nutzen kann, wird es
im Hilfstext erwähnt).

Beispiel:

----
/secure passphrase xxxxxxxxxx
/secure set freenode_username username
/secure set freenode_password xxxxxxxx
/set irc.server.freenode.sasl_username "${sec.data.freenode_username}"
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"
----

[[development]]
== Entwicklung

[[bug_task_patch]]
=== Was kann ich machen falls ich einen Fehler gefunden habe, mich nach neuen Funktionen erkundigen, oder Patches einsenden möchte?

siehe: https://weechat.org/dev/support

[[gdb_error_threads]]
=== Wenn man WeeChat in gdb startet, kann ein Thread-Fehler auftreten. Was beudeutet das?

Falls man WeeChat in gdb ausführt, kann folgende Fehlermeldung erscheinen:

----
$ gdb /Pfad/zu/weechat
(gdb) run
[Thread debugging using libthread_db enabled]
Cannot find new threads: generic error
----

Um diesen Fehler zu beheben sollte man gdb wie folgt aufrufen (der Pfad zu
libpthread und WeeChat muss natürlich an das eigene System angepasst werden):

----
$ LD_PRELOAD=/lib/libpthread.so.0 gdb /Pfad/zu/weechat
(gdb) run
----

[[supported_os]]
=== Auf welchen Plattformen läuft WeeChat und wird es noch auf andere Betriebssystemen portiert?

Eine vollständige Liste der Portierungen findest Du unter: https://weechat.org/download

Wir geben unser Bestes um WeeChat auf möglichst viele Plattformen zu portieren.
Aber um WeeChat auf fremden Betriebssystemen zu testen, zu denen wir keinen Zugang haben,
ist Hilfe gerne gesehen.

[[help_developers]]
=== Ich möchte den Entwicklern von WeeChat helfen. Was kann ich tun?

Es gibt einiges zu tun z.B. testen, programmieren, Dokumentation, ...

Bitte kontaktiere uns via IRC oder email, wirf einen Blick auf die Support-Seite:
https://weechat.org/dev/support

[[donate]]
=== Kann ich Geld oder anderes an die WeeChat Entwickler spenden?

Du kannst uns Geld zur Unterstützung der weiteren Entwicklung spenden.
Details hierzu gibt es auf: https://weechat.org/about/donate