// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
// SPDX-FileCopyrightText: 2009 Juergen Descher <jhdl@gmx.net>
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
//
// SPDX-License-Identifier: GPL-3.0-or-later

= WeeChat FAQ (häufig gestellte Fragen)
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: de
include::includes/attributes-de.adoc[]

[[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 speicherschonend und besticht durch innovative Funktionen.

Weitere Infomationen über Weechat
https://weechat.org/about/features/[features page ^↗^^].

[[compilation_install]]
== Kompilierung / Installation

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

Einige Remote-GUIs sind verfügbar, siehe
https://weechat.org/about/interfaces/[remote interfaces page ^↗^^].

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

WeeChat muss mit CMake kompiliert werden.

Bitte folgen Sie link:weechat_user.de.html#source_package[build instructions ^↗^^]
und stellen Sie sicher, dass alle erforderlichen Abhängigkeiten installiert sind.

Wenn Sie weiterhin Probleme haben, melden Sie diese bitte den Entwicklern.

[[compile_macos]]
=== Wie installiere ich WeeChat auf macOS?

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

[source,shell]
----
brew info weechat
----

WeeChat kann durch folgenden Befehl installiert werden:

[source,shell]
----
brew install weechat
----

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

Um Hilfe zu erhalten, nutze den `/help` Befehl.
Jeder Befehl besitzt einen Hilfstext, den man sich durch `/help Befehlsname` anzeigen lassen kann.
Die link:weechat_user.de.html#key_bindings[Standard Tastenbelegung ^↗^^] sowie
link:weechat_user.de.html#commands_and_options[Befehle und Optionen ^↗^^] sind im
link:weechat_user.de.html[Benutzerhandbuch ^↗^^] aufgeführt.

Neuen Anwendern wird empfohlen,
die link:weechat_quickstart.de.html[Quickstart Anleitung ^↗^^] zu lesen.

[[display]]
== Anzeige

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

Dies ist ein bekanntes Problem und kann viele Ursachen haben.
Es ist deshalb wichtig, *ALLE* der folgenden Lösungsmöglichkeiten zu prüfen:

* Überprüfe, ob WeeChat mit libncursesw verlinkt ist (Warnung: Dies ist bei den
  meisten Distributionen nötig - jedoch nicht bei allen).
  Zur Prüfung der Verlinkung `ldd /path/to/weechat` in einem Terminal ausführen.
  Den Installationspfad liefert der Befehl `whereis weechat`.
* Prüfe mit dem WeeChat-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.
  Um die Lokalisation zu reparieren, überprüfe selbige mittels `locale -a` und
  füge einen entsprechenden Wert in $LANG ein, beispielsweise `+export LANG=de_DE.UTF-8+`.
* Einstellen des globalen decode Wertes.
  Beispiel: `/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),
** und wenn Du zusätzlich screen nutzt, prüfe ob screen im UTF-8 Modus läuft
   ("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` beim Starten von
   screen).
* Überprüfe die Option
  link:weechat_user.de.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_ ^↗^^]
  (diese Option kann schwerwiegenden Darstellungsfehler verursachen, wenn man die Option aktiviert hat).

[NOTE]
Für WeeChat wird die Nutzung des UTF-8-Gebietsschemas empfohlen. Nutzt Du jedoch ISO
oder andere Schemata, bitte vergewissere Dich, dass sich *alle* deine Einstellungen
(Terminal, screen, ...) auf diese 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[https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ^↗^^].

Siehe https://github.com/weechat/weechat/issues/79[bug report ^↗^^]
für weitere Informationen.

[[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 _TERM_-Umgebungsvariablen deiner Shell hervorgerufen
werden. Bitte überprüfe dazu 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 notwendig, korrigiere den Wert der TERM-Variable wie folgt: `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_-Umgebungsvariablen deiner Shell hervorgerufen
werden. Bitte überprüfe dazu die Ausgabe von `echo $TERM` in deinem Terminal, jedoch *außerhalb von screen/tmux*. +
Ist der Wert _xterm-color_ gesetzt, können solche merkwürdigen Zeichen produziert werden.
Nutzte stattdessen _xterm_ (oder andere [von _xterm-color_ verschiedene] Argumente). +
Falls notwendig, korrigiere den Wert der TERM-Variable wie folgt: `export TERM="xxx"`.

Wird das GNOME-Terminal genutzt, sollte unter _Bearbeiten/Profileinstellungen/Kompatibilität_
die Option _"Zeichen mit unbekannter Breite"_ auf `schmal` stehen.

[[macos_display_broken]]
=== Ich habe WeeChat unter macOS 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 macOS ratsam, WeeChat mittels des Homebrew Package Managers 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 vor allem Textzeilen (aber auch andere Daten) angezeigt.

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

In jedem Fenster wird entweder ein Buffer oder ein zusammengefügter Buffer dargestellt.
Ein Buffer kann entweder versteckt sein (wird nicht durch ein Fenster angezeigt) oder
von einem oder mehreren Fenstern gleichzeitig angezeigt werden.

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

Diese Erweiterung, link:weechat_user.de.html#buflist[buflist ^↗^^],
wird standardmäßig geladen und aktiviert.

Um die maximale Breite der buflist-Spalte zu reduzieren, nutze folgende Option:

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

Um die Bar an den unteren Rand zu bewegen:

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

In der buflist kann mit Hilfe des Mausrads gescrollt werden.
Dazu muss die Maus mit kbd:[Alt+m] aktiviert werden.

Die Standardtastenbelegung zum Bewegen in der _buflist_ Bar ist folgende:
kbd:[F1] oder kbd:[Ctrl+F1]) zum Hoch-Scrollen,
kbd:[F2] oder kbd:[Ctrl+F2] zum Runter-Scrollen,
kbd:[Alt+F1] und kbd:[Alt+F2] um an den Anfang bzw. an das Ende der Liste zu springen.

[[customize_buflist]]
=== Wie kann ich die Darstellung der Bufferliste anpassen, z.B. die Farbe des aktiven Buffers?

Mit folgendem Befehl können alle Optionen der Buflist angezeigt werden:

----
/fset buflist
----

Die Hintergrundfarbe des aktiven Buffers ist standardmäßig blau. Sie können diese
Farbe folgendermaßen ändern, z.B. in "red":

----
/set buflist.format.buffer_current "${color:,red}${format_buffer}"
----

[NOTE]
Vor dem Farbnamen "red" steht ein Komma, da die Farbe als Hintergrund und nicht als Textfarbe verwendet wird. +
Es kann auch eine beliebige numerische Farbe anstelle von "Rot" verwendet werden, z. B. "237" für Dunkelgrau.

Die Buflist-Erweiterung bietet viele Optionen, zum individualisieren. Bitte lesen Sie dazu die Hilfe von jeder Option.

Es gibt zusätzlich die https://github.com/weechat/weechat/wiki/buflist[wiki page ^↗^^]
mit Beispielen für die erweiterte buflist Konfiguration.

[[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 (hervorgehobene Nachrichten), 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:

* 1 highlight (hervorgehobene) Nachricht und 8 ungelesene Nachrichten im Buffer #3
* 4 ungelesene Nachrichten im Buffer #2.

Die Farbe des Buffers/Zählers ist abhängig von der Art der Nachrichten.
Die Standardfarben sind:

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

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 mit Hilfe der Optionen  __weechat.look.hotlist_*__
verändert werden.

Siehe link:weechat_user.de.html#screen_layout[Benutzerhandbuch / Screen layout ^↗^^]
für weitere Informationen zur Hotlist.

[[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).
Ist der Wert auf "0" gesetzt, wird die Anzahl der Zeilen dynamisch verwaltet.
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 für die Nutzung einer dynamischen Anpassung der Eingabezeile(n):

----
/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.
Diese wiederum muss ein Item besitzen, welches anzeigt, in welchem Fenster man sich aktuell befindet.
Außerdem muss die aktuelle Eingabezeile gelöscht werden.

Ein 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,
sobald das Item "input_text" in keiner anderen Bar genutzt wird:

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

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

Sie können den vereinfachten Anzeigemodus verwenden (Standardtaste: kbd:[Alt+l] (`L`)), dieser
zeigt nur den Inhalt des aktuell ausgewählten Fensters an, ohne jegliche Formatierung.

Jetzt kannst Du die Block-Auswahl nutzen, insofern dein Terminal diesen Modus
unterstützt (rxvt-unicode, konsole, gnome-terminal, ... um nur einige zu nennen ).
Im Normalfall erfolgt die Markierung des Textes mittels der Tasten kbd:[Ctrl+Alt]
in Verbindung mit der Auswahl durch die Maus.

Die Nickliste kann umgeschaltet und nur bei Bedarf sichtbar gemacht werden, mit der Taste kbd:[Alt+Shift+N].

Eine weitere Möglichkeit besteht darin,
die Benutzerliste am oberen oder unteren Rand des WeeChat-Bildschirmes zu positionieren:

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

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

Dazu kann man den vereinfachten Anzeigemodus nutzen (Standardtaste: kbd:[Alt+l] (`L`)).

Um URLs einfacher zu öffnen, können alternativ folgende Optionen gesetzt werden:

* Nickliste umschalten und nur bei Bedarf darstellen, mit dem Tastenkurzbefehl kbd:[Alt+Shift+N]

* Die Benutzerliste am oberen Bildschirmbereich positionieren.

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

* Die Ausrichtung bei einem Zeilenumbruch innerhalb eines Wortes deaktivieren.

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

* Die Ausrichtung bei allen Zeilenumbrüchen deaktivieren:

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

Es kann auch die "eat_newline_glitch" Option aktiviert werden,
sodass kein neuer Zeilenumbruch hinzugefügt wird,
am Ende jeder angezeigten Zeile (es wird die URL-Auswahl nicht unterbrechen):

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

[IMPORTANT]
Bei der Nutzung dieser Option kann es zu Darstellungsfehlern kommen.
Wenn dies auftritt, 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?

Natürlich ist das möglich:

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

[[timezone]]
=== Wie kann ich die Zeitzone ändern?

Es gibt in WeeChat keine Option um die Zeitzone einzustellen. Die
Umgebungsvariable `TZ` muss auf einen entsprechenden Wert eingestellt werden.
Am Besten machen Sie dies in Ihrer Shell-Initialisierungsdatei oder in der
Befehlszeile, bevor Sie WeeChat starten:

[source,shell]
----
export TZ=Europe/Berlin
----

In WeeChat wird der neue Wert umgehend genutzt:

----
/set env TZ Europe/Berlin
----

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

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:

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

Sie können eine beliebige Farbnummer in den Optionen verwenden (optional: Sie können Farbaliase,
mit dem Befehl `/color`, erstellen.

Bitte lese link:weechat_user.de.html#colors[Benutzerhandbuch / Farben ^↗^^]
für weitere Informationen die das Farbmanagement betreffen.

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

Die Standardtastenbelegung lautet kbd:[Ctrl+s]
(der dazugehörige Befehl: `+/input search_text_here+`).
Um zu Highlight-Nachrichten zu springen:
kbd:[Alt+p] für vorherige, kbd:[Alt+n] für die nächste Nachricht.

siehe link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^^]
für weitere Informationen zu dieser Funktion.

[[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*:

* Dazu muss ein moderner xterm-kompatibler Terminal genutzt werden.
* Des Weiteren scheint es wichtig zu sein, dass die TERM Variable eines
  der folgenden Werte besitzt: _xterm_ oder _xterm-256color_.
* Sollte tmux genutzt werden, muss zusätzlich der Fokus aktiviert werden.
  Dazu die Zeile `set -g focus-events on` der Datei _.tmux.conf_ hinzufügen.
* Dies funktioniert *nicht* mit screen.

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 meta-[I /print -core focus
/key bind meta-[O /print -core unfocus
----

Um zum Beispiel Buffer als gelesen zu markieren,
wenn das Terminal den Fokus verlieren sollte:

----
/key bind meta-[O /allbuf /buffer set unread
----

[[screen_paste]]
=== Wird WeeChat in screen ausgeführt, kommt es vor, dass 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
----

[[small_terminal]]
=== Wie kann ich die Anzeige bei sehr kleinen Terminalgrößen (wie 80 x 25) optimieren, um keinen Platz zu verschwenden?

Die seitlichen Bars (buflist und nicklist) können deaktiviert werden, die Datums-
anzeige sollte nur Stunden und Minuten darstellen, die Ausrichtung von Nach-
richten sollte ebenfalls deaktiviert werden und es sollte der Nick mit einen
Präfix und Suffix vesehen werden:

----
/set buflist.look.enabled off
/bar hide nicklist
/set weechat.look.buffer_time_format "%H:%M"
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines prefix
/set weechat.look.nick_suffix ">"
/set weechat.look.nick_prefix "<"
----

Terminal 80x25, mit Standardkonfiguration:

....
┌────────────────────────────────────────────────────────────────────────────────┐
│1.local     │Welcome on WeeChat channel!                                        │
│  weechat   │16:27:16        --> | FlashCode (~flashcode@localhost)  │@FlashCode│
│2.  #weechat│                    | has joined #weechat               │ bob      │
│            │16:27:16         -- | Mode #weechat [+nt] by hades.arpa │          │
│            │16:27:16         -- | Channel #weechat: 1 nick (1 op, 0 │          │
│            │                    | voices, 0 normals)                │          │
│            │16:27:18         -- | Channel created on Sun, 22 Mar    │          │
│            │                    | 2020 16:27:16                     │          │
│            │17:02:28        --> | bob (~bob_user@localhost) has     │          │
│            │                    | joined #weechat                   │          │
│            │17:03:12 @FlashCode | hi bob, you're the first user     │          │
│            │                    | here, welcome on the WeeChat      │          │
│            │                    | support channel!                  │          │
│            │17:03:33        bob | hi FlashCode                      │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │[17:04] [2] [irc/local] 2:#weechat(+nt){2}                         │
│            │[@FlashCode(i)] █                                                  │
└────────────────────────────────────────────────────────────────────────────────┘
....

Terminal 80x25, nach obiger Anpassung:

....
┌────────────────────────────────────────────────────────────────────────────────┐
│Welcome on WeeChat channel!                                                     │
│16:27 --> FlashCode (~flashcode@localhost) has joined #weechat                  │
│16:27 -- Mode #weechat [+nt] by hades.arpa                                      │
│16:27 -- Channel #weechat: 1 nick (1 op, 0 voices, 0 normals)                   │
│16:27 -- Channel created on Sun, 22 Mar 2020 16:27:16                           │
│17:02 --> bob (~bob_user@localhost) has joined #weechat                         │
│17:03 <@FlashCode> hi bob, you're the first user here, welcome on the WeeChat   │
│      support channel!                                                          │
│17:03 <bob> hi FlashCode                                                        │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│[17:04] [2] [irc/local] 2:#weechat(+nt){2}                                      │
│[@FlashCode(i)] █                                                               │
└────────────────────────────────────────────────────────────────────────────────┘
....

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

Sollte die macOS Terminal Applikation genutzt werden, empfiehlt es sich,
die Option "Use option as meta key" in den Menü-Einstellungen zu aktivieren.
Dadurch kann man die kbd:[Option] Taste als Meta-Taste verwenden.

[[enter_key]]
=== Einige Tasten, einschließlich Enter, funktionieren nicht. Weshalb?

Wenn eine WeeChat Version < 4.0.0 mit Konfigurationsdateien ausgeführt wird,
die von einer Weechat Version ≥ 4.0.0 erstellt wurde, sind die Tastennamen ungültig und viele Tasten funktionieren überhaupt nicht mehr. +
Um dies zu reparieren, muss WeeChat beendet und alle Einträge aus dem Abschnitt `[key*]` innerhalb der weechat.conf entfernt werden.
Wenn WeeChat erneut gestartet wird, wird die Standardtastenbelegung neu erstellt.

[[key_f11]]
=== Die Taste F11 maximiert das Terminalfenster. Wie kann ich aber in der Nicklist nach oben scrollen?

Die kbd:[F11] Taste wird häufig von Terminals verwendet, um das Fenster zu maximieren. Aber
kbd:[F11]/kbd:[F12] sind ebenso die Standardtasten, in WeeChat, um in der Nickliste zu scrollen.

Man kann andere Tasten nutzen, zum Beispiel kbd:[Shift+F11] und kbd:[Shift+F12],
mit WeeChat ≥ 4.0.0:

----
/key bind shift-f11 /bar scroll nicklist * -100%
/key bind shift-f12 /bar scroll nicklist * +100%
----

Eine andere Möglichkeit besteht darin, die Maus zu aktivieren (Taste: kbd:[Alt+m]) und mit dem Mausrad zu scrollen (siehe auch Fragen zu <<mouse,mouse>>).

[[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 der Tastaturcode
der danach eingetippten Tastenkombination in die Eingabezeile eingefügt werden.

[[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
link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Standard Tastenbelegung ^↗^^].

Um zu Buffern zu wechseln die an Position ≥ 100 sind kann ein Trigger definiert
werden um dann z.B. mit einem Kurzbefehl `/123` zum Buffer #123 zu springen:

----
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----

Um einfach von einem Buffer zu einem anderen zu springen, kann man das _go.py_ Skript installieren:

----
/script install go.py
----

[[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 up /input history_global_previous
/key bind down /input history_global_next
----

Ab WeeChat ≤ 3.8 muß der rohe Schlüsselwert verwenden werden (drücken Sie kbd:[Alt+k] und dann die
entsprechende Taste um den Wert anzuzeigen):

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

[[mouse]]
== Mausunterstützung

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

Als erstes sollte man die Mausunterstützung einschalten:

----
/mouse enable
----

Falls die Maus von WeeChat nicht erkannt werden sollte, muss die TERM Variable
des Terminals überprüft werden (dies 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:

[source,shell]
----
printf '\033[?1002h'
----

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

[source,shell]
----
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.

Als Abhilfe muss man einen Terminal nutzen,
der eine Unterstützung von UTF-8 Koordinaten für die Maus bietet,
beispielsweise 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 mittels gedrückter kbd:[Shift]-Taste (Umschalttaste)
ein Text im Terminal markiert oder eingefügt werden,
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_tls_connection]]
=== Es treten Probleme bei einer Serververbindung mittels TLS auf. Was kann ich tun?

Falls macOS genutzt wird,
muss mittels Homebrew `openssl` installiert werden.
Eine CA-Datei wird mittels Zertifikaten vom Systemschlüssel geladen.

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

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

Falls Fehlermeldungen auftreten, die besagen,
dass das Zertifikat ungültig ist,
dann kann die "tls_verify" Überprüfung deaktiviert werden
(die Verbindung ist in diesem Fall weniger sicher):

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

Sollte das Zertifikat für den Server (laut CA) ungültig sein,
doch der Benutzer kennt es und vertraut dem Aussteller,
dann kann (ersatzweise) der Fingerabdruck (SHA-512, SHA-256 or SHA-1)
des Zertifikats von Hand eingetragen werden:

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

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

Man sollte versuchen, eine andere Priorität zu nutzen; Im folgenden Beispiel
muss "xxx" durch den betroffenen Servernamen ersetzt werden:

----
/set irc.server.xxx.tls_priorities "NORMAL:%COMPAT"
----

[[irc_tls_libera]]
=== Wie kann ich eine TLS gesicherte Verbindung zum libera Server herstellen?

Überprüfen Sie, ob auf Ihrem System Zertifikate installiert sind. Dies wird häufig
durch das Paket "ca-certificates" bereitgestellt.

Konfiguration des Servers, Port angeben, TLS aktivieren und Verbindung herstellen:

----
/set irc.server.libera.addresses "irc.libera.chat/6697"
/set irc.server.libera.tls on
/connect libera
----

[[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,
müssen "name", Serveradresse und das OAuth-Token durch passende Werte
ersetzt werden:

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

[[irc_sasl]]
=== Wie kann ich mich vor dem Betreten von Kanälen identifizieren?

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

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

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

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

[[edit_autojoin]]
=== Wie kann ich Kanäle zur autojoin Option hinzufügen oder entfernen?

Ab WeeChat ≥ 3.5 können Sie die Kanäle, denen Sie manuell betreten und verlassen,
automatisch aufzeichnen und die Serveroption „autojoin“ entsprechend anpassen.

Für alle Server:

----
/set irc.server_default.autojoin_dynamic on
----

Für einen einzelnen Server:

----
/set irc.server.libera.autojoin_dynamic on
----

Sie können den aktuellen Kanal auch in der Serveroption "autojoin" hinzufügen, indem
Sie den `/autojoin`-Befehl nutzen:

----
/autojoin add
----

oder einen beliebigen Kanal:

----
/autojoin add #test
----

Es existieren aber auch Skripten:

----
/script search autojoin
----

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

Der Befehl `/ignore` ist ein (clientseitiger) IRC-Befehl und beeinflusst direkt,
welche vom Server empfangenen Nachrichten im IRC-Buffer (Server und Kanäle) landen.
Durch diesen Befehl können bestimmte Nicks oder Hostnamen von bestimmten Servern
oder Kanäle ignoriert werden.
Der Befehl wird nicht auf den Inhalt eines IRC-Buffers angewandt.
Zutreffende Meldungen werden, bevor sie dem Buffer zugeführt werden,
von der "irc"-Erweiterung gelöscht. Es gibt somit keine Möglichkeit,
diese Nachrichten rückwirkend anzuzeigen, auch dann nicht,
wenn die Ignorierung wieder entfernt wird.

Der Befehl `/filter` ist im WeeChat core angesiedelt
und beeinflusst die Darstellung der Inhalte aller 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 der Filter deaktiviert wird.
Die voreingestellte Tastenkombination zum Aktivieren bzw. Deaktivieren
aller Filter ist kbd:[Alt+-].

[[filter_irc_join_part_quit]]
===  Wie kann ich join/part/quit und andere unerwünschte Nachrichten in IRC-Kanälen filtern?

siehe link:weechat_user.de.html#irc_smart_filter[User's guide / IRC smart filter ^↗^^].

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

Sie können auswählen, welche Nachrichten angezeigt werden, wenn Sie einem Kanal beitreten
Option _irc.look.display_join_message_ (siehe `+/help irc.look.display_join_message+`
Für mehr Information).

Um Nachrichten visuell zu verbergen, können diese gefiltert werden.
Dazu wird der Befehl `/filter` auf bestimmte Nachrichten-Tags angewandt.
Das Tag _irc_329_ kennzeichnet beispielsweise das Erstellungsdatum des Kanals.
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_ Kanal folgendes eingeben:

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

für ältere Versionen von Bitlbee gibt man im _&bitlbee_ Kanal 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 wird mit der Option _irc.server_default.away_check_ eingestellt,
in welchem Zeitintervall die Überprüfungen auf Abwesenheit stattfinden sollen.
Die Angabe des Wertes erfolgt in Minuten.

Mit der Option _irc.server_default.away_check_max_nicks_ kann festgelegt werden,
in welchen Kanälen eine Überprüfung stattfinden soll.
Hierbei stellt der angegebene Wert die maximale Anzahl an Nicks in einem Kanal dar,
die den Kanal gleichzeitig besuchen dürfen.

Im folgenden Beispiel wird der Abwesenheitsstatus alle fünf Minuten überprüft.
Dabei werden aber nur solche Kanäle 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
----

[[highlight_notification]]
=== Wie kann ich mich benachrichtigen lassen, falls mich jemand in einem Kanal direkt anspricht (highlight)?

Es gibt einen voreingestellten Trigger mit Namen „beep“, der ein _BEL_ an das Terminal sendet,
bei einem Highlight oder einer private Nachricht. Damit können Sie Ihr Terminal konfigurieren
(oder einen Multiplexer wie screen/tmux), um einen Befehl auszuführen oder einen Ton abzuspielen, wenn
ein _BEL_ tritt auf.

Der Trigger "beep" kann auch direkt an einen externen Befehl gekoppelt werden:

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

Wird eine ältere Version von WeeChat genutzt, können auch 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"
----

Es gibt weitere Skripten, die auch zu diesem Thema passen:

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

[[disable_highlights_for_specific_nicks]]
=== Wie kann ich Highlights (Hervorhebungen) von bestimmten Nicks deaktivieren?

Dafür sollte link:weechat_user.de.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add ^↗^^]
die Buffer-Eigenschaft genutzt werden, um das maximale Hotlist-Level für einige Nicks pro Puffer festzulegen,
oder pro Gruppe von Buffern (wie IRC-Server).

Um nun Highlights (Hervorhebungen) für bestimmte Nicks zu deaktivieren, muss
man die entsprechende Eigenschaft auf 2 setzen.

Für den aktuellen Buffer:
----
/buffer setauto hotlist_max_level_nicks_add joe:2,mike:2
----

Für alle Kanäle auf dem Server "libera":

----
/set weechat.buffer.irc.libera.*.hotlist_max_level_nicks_add joe:2,mike:2
----

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

Die Standardtastenkombination ist kbd:[Ctrl+x]. Der entsprechende Befehl lautet:
`+/buffer switch+`.

[[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?

Mit dem Befehl `/script` können Sie Skripte installieren und verwalten (siehe `/help script`
für Hilfe).

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

[[scripts_update]]
=== Der Befehl "/script update" liest die Skriptliste nicht ein, wie kann ich das beheben?

Als erstes sollte das Kapitel über TLS Verbindungen in dieser FAQ gelesen werden.

Wenn das nicht hilft, sollte die Skriptliste von Hand gelöscht werden. Dazu
folgenden Befehl in der Shell ausführen:

[source,shell]
----
rm ~/.cache/weechat/script/plugins.xml.gz
----

[NOTE]
Wenn Sie die XDG-Verzeichnisse nicht verwenden, könnte der Pfad lauten: _~/.weechat/script/plugins.xml.gz_.

Danach sollte man noch einmal versuchen die Datei herunter zu laden:

----
/script update
----

Wenn der Fehler weiterhin auftritt,
kann alternativ die automatische Updatefunktion in WeeChat deaktiviert werden.
Das bedeutet aber auch, dass die Skripten von Hand aktuell gehalten werden müssen.

* dazu in WeeChat:

----
/set script.scripts.cache_expire -1
----

* und in der Shell, mit installiertem curl:

[source,shell]
----
cd ~/.cache/weechat/script
curl -O https://weechat.org/files/plugins.xml.gz
----

Wenn Sie macOS ausführen und die heruntergeladene Datei eine Größe von 0 Byte hat,
versuchen Sie, diese Variable in Ihrer Shell-Initialisierungsdatei oder auf der
Befehlszeile zu setzen. Bevor Sie WeeChat starten:

[source,shell]
----
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
----

[[spell_dictionaries]]
=== Ich habe aspell Wörterbücher auf mein System installiert. Wie kann ich diese nutzen, ohne WeeChat neu starten zu müssen?

Du brauchst lediglich die "spell"-Erweiterung neu zu laden:

----
/plugin reload spell
----

[[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 nach folgenden Regeln genutzt werden:

* Mittels kbd:[Tab]-Taste kann man sehr einfach Namen und Werte von Optionen
  vervollständigen. (Mittels kbd:[Shift+Tab] kann eine teilweise Vervollständigung
  durchgeführt werden, was beim Namen nützlich ist.)
* Der neue Wert wird auf Plausibilitä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 Daten neu zu laden.

Solltest Du die Dateien weiterhin von Hand ändern wollen, dann solltest Du folgendes beachten:

* Wird ein ungültiger Wert eingetragen, gibt WeeChat beim Start einen Fehler aus und
  der ungültige Wert wird verworfen. (Der Standardwert für die entsprechende Option wird
  dann genutzt.)
* Wird der WeeChat-Befehl `/reload` angewandt, sollten vor dem Editieren der *.conf-Dateien die aktuellen
  Einstellungen mit Hilfe des Befehls `/save` gesichert werden. Ansonsten droht Datenverlust.

[[memory_usage]]
=== Wie kann ich erreichen, dass WeeChat weniger Speicher verbraucht?

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: Buflist,
  Fifo, Logger, Perl, Python, Ruby, Lua, Tcl, Guile, JavaScript, PHP, Spell, Xfer
  (wird für DCC benötigst), siehe `/help weechat.plugin.autoload`.
* installiere ausschließlich Skripten die Du auch nutzt
* Laden Sie keine Systemzertifikate, wenn TLS *NICHT* verwendet wird: Deaktivieren Sie diese Option:
  _weechat.network.gnutls_ca_system_.
* 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` (Taste: kbd:[Alt+Shift+N]).
* deaktiviere "buflist": `/buflist disable` (Taste: kbd:[Alt+Shift+B]).
* 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 spell.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.source ""
/set irc.ctcp.time ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----

Mit WeeChat < 4.1.0 wurden andere CTCP-Anfragen standardmäßig beantwortet und müssen ebenfalls deaktiviert werden:

----
/set irc.ctcp.finger ""
/set irc.ctcp.userinfo ""
----

Entferne und deaktiviere das automatische Ausführen der "xfer"-Erweiterung, die beispielsweise für "IRC DCC" verantwortlich ist:

----
/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).
Siehe auch link:weechat_user.de.html#secured_data[Benutzerhandbuch / sensible Daten ^↗^^].

Beispiel:

----
/secure passphrase xxxxxxxxxx
/secure set libera_username username
/secure set libera_password xxxxxxxx
/set irc.server.libera.sasl_username "${sec.data.libera_username}"
/set irc.server.libera.sasl_password "${sec.data.libera_password}"
----

[[sharing_config_files]]
=== Ich möchte meine WeeChat Konfiguration teilen. Welche Dateien kann ich weitergeben und welche sollte ich behalten?

Sie können Ihre _*.conf_ Konfigurationsdateien teilen, mit Ausnahme der Datei _sec.conf_, die Ihre mit
Ihrer Passphrase verschlüsselten Kennwörter enthält.

Einige andere Dateien enthalten möglicherweise vertrauliche Informationen wie
Kennwörter (sofern sie nicht mit dem Befehl `/secure` in _sec.conf_ gesichert werden).

Siehe link:weechat_user.de.html#files_and_directories[Benutzerhandbuch / Dateien und Verzeichnisse ^↗^^]
für weitere Informationen über Konfigurationsdateien.

[[move_to_another_device]]
=== Ich möchte mein WeeChat auf ein anderes Gerät verschieben und meine Konfiguration behalten. Was muss ich kopieren?

Überprüfen Sie zunächst die von WeeChat verwendeten Verzeichnisse mit diesem Befehl: `/debug dirs`. +
Die Verzeichnisse home/config und home/data müssen kopiert werden (alle Dateien und Unterverzeichnisse).

Falls beispielsweise XDG-Verzeichnisse verwendet werden (Standard bei WeeChat ≥ 3.2), sollten die
Verzeichnisse `$HOME/.config/weechat` und `$HOME/.local/share/weechat` lauten. +
Sollte ein einzelnes Verzeichnis verwenden werden (Standard bei WeeChat < 3.2), sollte das Verzeichnis
`$HOME/.weechat` lauuten.

[IMPORTANT]
Die WeeChat-Version auf dem Zielgerät muss größer oder gleich der Version sein des Ausganggerätes. +
Ein Downgrade der WeeChat-Konfiguration wird *NICHT UNTERSTÜTZT* und kann zu Schäden führen und ein
unbrauchbares WeeChat verursachen.

Schritte:

. Weechat beenden: `/quit` (oder `/upgrade -quit`, falls eine Sitzung fortgesetzt werden soll,
  einschließlich des Inhalts aller Buffer).
. Kopieren Sie alle Verzeichnisse, Unterverzeichnisse und Dateien auf das neue Gerät und behalten Sie die
  Namen und Berechtigungen bei.
. Optional: Kopieren Sie alle Dateien außerhalb dieser Verzeichnisse, die auf Ihre Konfiguration verweisen
  (es wird nicht empfohlen, Dateien außerhalb von WeeChat-Verzeichnissen zu verwenden).
. WeeChat auf dem neuen Gerät starten: `weechat` (oder `weechat --upgrade`, falls die Sitzung gesichert wurde).

[[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/about/support/[this page ^↗^^].

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

[source,shell]
----
$ 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):

[source,shell]
----
$ 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 Betriebssysteme portiert?

WeeChat läuft auf den meisten Linux/BSD-Distributionen, GNU/Hurd, macOS und
Windows (Cygwin und Windows Subsystem für Linux) einwandfrei.

Wir geben unser Bestes, WeeChat auf möglichst viele Plattformen zu portieren.
Deshalb ist jede Hilfe gerne gesehen, die es uns ermöglicht,
WeeChat auf noch nicht unterstützten Betriebssystemen testen zu können.
Das Gleiche gilt für Systeme, zu denen wir keinen Zugang haben.

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

Es gibt einiges zu tun - z.B. testen, programmieren, dokumentieren, ...

Bitte kontaktieren Sie uns per IRC oder Mail, siehe
https://weechat.org/about/support/[support page ^↗^^].

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

Sie können uns Geld spenden, um die Entwicklung zu unterstützen.
Details dazu, unter https://weechat.org/donate/[donation page ^↗^^].
