WeeChat FAQ (häufig gestellte Fragen) ===================================== Sébastien Helleu [NOTE] 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. [[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 dieses 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: http://weechat.org/about/features [[compilation_install]] Kompilierung / Installation --------------------------- [[gui]] Ich habe gehört es gibt mehrere GUIs für WeeChat. Wie kann ich diese kompilieren bzw. nutzen? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Folgende GUIs sind verfügbar: * http://weechat.org/download/devel[QWeeChat] (Qt) * https://github.com/ubergeek42/weechat-android[weechat-android] (Android) * https://github.com/the-kenny/weechat.el[weechat.el] (Emacs) * https://github.com/eirikb/weecloud[weecloud] (Web) [[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. [[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 aufgeführt. (Tipp: Mit den Tasten / kann man seitenweise in den Buffern blättern) Neue Benutzer sollten unbedingt die 'quickstart'-Anleitung lesen (siehe Dokumentation auf der Internetseite). [[display]] Anzeige ------- [[charset]] Teilweise fehlen den Zeichen 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-curses mit libncursesw verlinkt ist (Warnung: Dies ist bei den meisten Distributionen nötig - jedoch nicht bei allen): `ldd /path/to/weechat-curses` * 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 'ISO-XXXXXX' oder 'UTF-8' für den Terminal Zeichensatz als Antwort erhalten. Falls 'ANSI_X3.4-1968' oder einen anderer Wert angezeigt werden sollte, 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. [[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 haben: * falls WeeChat lokal oder auf einem entfernten Rechner läuft, je nach benutztem Terminal: 'xterm', 'xterm-256color', 'rxvt-unicode', 'rxvt-256color', ... * falls WeeChat unter screen läuft, sollte der Wert 'screen' oder 'screen-256color' lauten. 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-Variable 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? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Nutze dazu das Skript 'buffers.pl'. Um die Größe der Bar zu limitieren: ---------------------------------------- /set weechat.bar.buffers.size_max 15 ---------------------------------------- Um die Bar nach oben zu verschieben: ---------------------------------------- /set weechat.bar.buffers.position bottom ---------------------------------------- [[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 ---------------------------------------- [[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 mit eingefügt wird? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 @k(C-)@k(A-) in Verbindung mit der Auswahl durch die Maus. Eine weitere Möglichkeit besteht darin die Nickliste nach oben oder unten zu verschieben: ---------------------------------------- /set weechat.bar.nicklist.position top ---------------------------------------- [[urls]] Wie kann ich eine URL aufrufen die einen Zeilenumbruch besitzt? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ WeeChat stellt standardmäßig die Uhrzeit als auch einen Präfix in jeder Zeile dar. Optional können zusätzlich auch Bars im Chatfenster dargestellt werden. Man kann die Nickliste z.B. am oberen Rand darstellen lassen und die Ausrichtung der Nicknamen entfernen: ---------------------------------------- /set weechat.bar.nicklist.position top /set weechat.look.prefix_align none /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: http://weechat.org/scripts/stable/tag/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, dazu kannst Du das Python-Skript 'shell.py' verwenden (erhältlich auf der Internetseite). Nach dem Laden des Skripts führe folgende Befehle aus: ---------------------------------------- /shell setenv LANG=de_DE.UTF-8 /upgrade ---------------------------------------- Hierdurch erhält man für das Terminal deutsche, UTF-8 kodierte Meldungen. Benutzer von ISO-Kodierungen können folgendes eingeben: `/shell setenv LANG=de_DE`. [[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' * screen wird nicht genutzt: '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 ---------------------------------------- Enthält die 'TERM'-Umgebungsvariable einen falschen Wert und WeeChat wird bereits ausgeführt, keine Panik! Mit dem Skript 'shell.py' kann eine Änderung der Umgebungsvariable durchgeführt werden, ohne das WeeChat neu gestartet werden muss: ---------------------------------------- /shell setenv 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 @k(C-)@k(r) (der dazugehörige Befehl: `/input search_text`). und um zu Highlight-Nachrichten zu springen: @k(A-)@k(p)/@k(n). Siehe Benutzeranleitung für weitere Informationen zu dieser Funktion (Standardtastenbelegung). [[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 @k(A-)@k(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 @k(A-)@k(j) gefolgt von den zwei Ziffern des Buffers. Zum Beispiel, @k(A-)@k(j), @k(1), @k(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: @k(C-)@k(↑) and @k(C-)@k(↓)). 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 @k(A-)@k(k) und dann (Up- oder die Down-Taste) 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 Pixel sind, weshalb? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Einige Terminals senden ausschließlich ISO Zeichen für die Mauskoordinaten. Deshalb ist eine Nutzung über 94 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 @k(-S-)-Taste (Umschalttaste) einen Text im Terminal markieren oder einfügen, als sei die Mausunterstützung deaktiviert. (bei einigen Terminals muss die @k(-A-)-Taste anstelle der @k(-S-)-Taste gedrückt werden). [[irc]] IRC --- [[irc_ssl_connection]] Es treten Probleme bei einer Serververbindung mittels SSL auf. Was kann ich tun? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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.freenode.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.freenode.ssl_verify off ---------------------------------------- [[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" ---------------------------------------- [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, dhkey_size und dann einen Connect durchführen: ---------------------------------------- /set irc.server.freenode.addresses "chat.freenode.net/7000" /set irc.server.freenode.ssl on /set irc.server.freenode.ssl_dhkey_size 1024 /connect freenode ---------------------------------------- [[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_default.sasl_mechanism dh-blowfish /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: @k(A-)@k(=)). [[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 Nachrichten filtern wenn ich einen IRC Channel betrete? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ab WeeChat ≥ 0.4.1 ist es möglich Nachrichten zu deaktivieren. Dazu nutzt man die Option: 'irc.look.display_join_message'. Zum Beispiel: Um die Auflistung aller Namen im Channel zu unterdrücken (IRC Nachricht '366'): ---------------------------------------- /set irc.look.display_join_message "329,332,333" ---------------------------------------- [NOTE] Für Hilfe: `/help irc.look.display_join_message` Eine andere Möglichkeit ist das Filtern von Nachrichten, nach Tags: * 'irc_366': Auflistung der Namen die sich im Channel befinden * 'irc_332,irc_333': Channel Topic/Datum * 'irc_329': Wann der Channel erstellt wurde Die Tags von anderen Server-Mitteilungen werden IRC RAW-Buffer ausgegeben (`/server raw`). Beispiele: * filtert die Auflistung der Namen die sich im Channel befinden: ---------------------------------------- /filter add irc_join_names * irc_366 * ---------------------------------------- * filtert das Topic (und das Datum) des Channels: ---------------------------------------- /filter add irc_join_topic_date * irc_332,irc_333 * ---------------------------------------- [[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: <>. 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 Nickliste 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 darüber informieren lassen falls mich jemand in einem Channel highlighted ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dazu kann man ein Skript nutzen wie z.B. 'beep.pl' oder 'launcher.pl'. Beim Skript 'launcher.pl' 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: http://weechat.org/scripts/stable/tag/notify/ [[irc_target_buffer]] Wie kann ich bei zusammengefügten Buffern den Zielbuffer ändern (z.B. bei einem Server-Buffer)? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Die Standardtastenkombination lautet @k(C-)@k(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 ---------------------------------------- [[load_scripts]] Wie kann ich Perl/Python/Ruby/Lua/Tcl Skripten laden und sind Skripten von anderen IRC-Clients kompatibel? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Die Skripten für WeeChat sind mit anderer IRC-Clients nicht kompatibel und vice versa. Um Skripten zu laden nutze den Befehl für die jeweilige Skriptsprache: `/perl`, `/python`, `/ruby`, `/lua` und `/tcl` Anmerkung: * Voreingestellter Pfad der Skripten: '~/.weechat//' * Skripten die sich im Verzeichnis '~/.weechat//autoload/' befinden werden beim Start von WeeChat automatisch geladen. * Eine 'tcl' Erweiterung ist ab Version ≥ 0.3.0 verfügbar. [[settings]] Einstellungen ------------- [[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, Fifo, Logger, Perl, Python, Ruby, Lua, Tcl, Guile, 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' [[development]] Entwicklung ----------- [[bug_task_patch]] Was kann ich machen falls ich einen Fehler gefunden habe, nach neuen Funktionen fragen oder Patches einsenden möchte? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Es gibt drei Möglichkeiten: . Du kannst zu uns in den IRC kommen: 'irc.freenode.net', channel '#weechat' . Du kannst die Internetseite savannah nutzen: * Einen Fehler melden: https://savannah.nongnu.org/bugs/?group=weechat * Einen Verbesserungsvorschlag machen: https://savannah.nongnu.org/task/?group=weechat * Einen Patch einsenden: https://savannah.nongnu.org/patch/?group=weechat . Du kannst den Entwicklern mailen, entsprechende Mail-Adressen auf der Supportseite: http://weechat.org/dev/support (Um emails an die "support" Mailing-Liste zu schicken, kannst Du diese abonnieren) [[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-curses (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-curses (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: http://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, schaue auf die Support-Seite: http://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: http://weechat.org/about/donate