WeeChat 0.2.7-dev - User guide

Schneller, leichter und erweiterbarer IRC Client

Sébastien Helleu

Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.

Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, <http://www.gnu.org/licenses/>.

2007-09-17 15:36:34

Zusammenfassung

Dieses Dokument beschreibt den WeeChat IRC client, es ist ein Teil von WeeChat.

Deutsche version: Frank Zacharias

Die aktuellste Version ist auf dieser Seite zu finden: http://weechat.flashtux.org/doc.php


Inhaltsverzeichnis

1. Einführung
Beschreibung
Vorraussetzungen
2. Installation
Binäre Pakete
Quellcode-Pakete
GIT Quellen
3. Nutzung
Starten von WeeChat
Tastenkombinationen
Kommandozeile
WeeChat / IRC Kommandos
WeeChat Kommandos
Funktionen
IRC Kommandos
Konfigurationsdatei
Remote-Schnittstelle (FIFO pipe)
4. Plugins
Plugins in WeeChat
Ein Plugin schreiben
API Funktionen
Übersetzen eines Plugins
Laden des Plugins in WeeChat
Plugin Beispiel
Zeichensatz Plugin
Einstellungen
FAQ
Skript-Plugins
Laden / Entfernen von Skripten
Syntax in den Skriptsprachen
WeeChat / Skript-API
5. Autoren / Support
Autoren
Beitragende
Support bekommen

Kapitel 1. Einführung

Inhaltsverzeichnis

Beschreibung
Vorraussetzungen

Dieses Kapitel beschreibt WeeChat und die Vorraussetzungen für die Installation.

Beschreibung

WeeChat (Wee Enhanced Environment for Chat) ist ein freier IRC Client, schnell und klein, entwickelt für viele Betriebssysteme.

Hauptmerkmale:

  • Mehrere Server gleichzeitig nutzbar (mit SSL, IPv6, Proxy)

  • viele unterschiedliche User-Interfaces: Curses, wxWidgets, Gtk und Qt

  • klein, schnell and leichtgewichtig

  • änderbar und erweiterbar mit Plugins und Skripten

  • entsprechend den folgenden RFCs 1459, 2810, 2811, 2812 und 2813

  • Viele Plattformen (GNU/Linux, *BSD, MacOS X, Windows and other)

  • 100% GPL, freie Software

WeeChat Homepage: http://weechat.flashtux.org

Vorraussetzungen

Um WeeChat zu installieren, werden gebraucht:

  • ein laufendes GNU/Linux (Compiler für Quellcode-Pakete)

  • root-Rechte für die Installation

  • dem User-Interface entsprechend, eine der folgenden Bibliotheken:

    • Curses: ncurses Bibliothek

    • Gtk: *** noch nicht implementiert ***

    • WxWidgets: *** noch nicht implementiert ***

    • Qt: *** noch nicht implementiert ***

Kapitel 2. Installation

Dieses Kapitel erklärt die Installation von WeeChat.

Binäre Pakete

Binäre Pakete sind für die folgenden Distributionen verfügbar:

  • Debian (oder Debian-kompatible): apt-get install weechat

  • Mandriva/RedHat (oder jede RPM-kompatible Distribution): rpm -i /chemin/weechat-x.y.z-1.i386.rpm

  • Gentoo: emerge weechat

FÜr andere Distributionen: sehen sie in die Dokumentation für Installationsanweisungen.

Quellcode-Pakete

Alles was sie tun müssen, ist in einer Konsole oder einem Terminal aufzurufen:

$ ./configure
$ make

Dann root werden und WeeChat installieren:

$ su
(root-Passwort eingeben)
# make install

GIT Quellen

Warnung: GIT Quellen sind für fortgeschrittene Anwender, das Übersetzen könnte fehlschlagen oder das Ergebnis nicht stabil sein. Sie wurden gewarnt!

Um die GIT Quellen zu bekommen, sind folgende Kommandos nötig:

$ git-clone git://git.sv.gnu.org/weechat.git

Ausführen des folgenden Skripts: ./autogen.sh

Dann folgen sie den Anweisungen zu den Quellpaketen (siehe „Quellcode-Pakete“)

Kapitel 3. Nutzung

Dieses Kapitel erklärt, wie Weechat zu starten ist, die zu verwendenden Tastenkombinationen, interne und IRC-Kommandos, die Konfigurationsdatei und die FIFO für die remote-Bedienung.

Starten von WeeChat

Argumente der Kommandozeile:

Parameter Beschreibung
-a, --no-connect Schaltet das auto-connect ab
-c, --config Zeigt eine Hilfe zu den Konfigurationsmöglichkeiten (Liste der Optionen)
-d, --dir <path> Setzt den Pfad für das Verzeichnis, dass Weechat benutzen soll (relevant für die Konfigurationsdateien, Logs, Plugins und Skripte). Der Standardwert "~/.weechat". Bitte beachten Sie: dieses Verzeichnis wird automatisch erzeugt, wenn es noch nicht exitiert.
-f, --key-functions Zeigt die intern verwendeten Funktionen von WeeChat für bestimmte Tastenkombinationen an
-h, --help Zeigt eine zusammenfassende Hilfe an.
-i, --irc-commands Zeigt die IRC-Kommandos an
-k, --keys Zeigt die Standard-Tastenkombinationen an
-l, --license Zeigt die Lizenz an
-p, --no-plugin Schaltet das automatische Laden der Plugins ab
-v, --version Zeigt die Programmversion an
-w, --weechat-commands Zeigt die Weechat-eigenen Kommandos an

Es ist auch möglich URLs für einen oder mehrere IRC-Server anzugeben, so wie:

irc[6][s]://[nick[:passwort]@]irc.example.org[:port][/channel][,channel[...]

Beispiel um die Channels #weechat and #toto zu betreten "irc.freenode.net" server, default port (6667), mit dem Nicknamen "nono":

$ weechat-curses irc://nono@irc.freenode.net/#weechat,#toto

Um WeeChat zu starten, ist eins der folgenden Kommandos abzusetzen:

  • für Curses GUI: weechat-curses

  • für Gtk GUI: weechat-gtk

  • für wxWidgets GUI: weechat-wxwidgets

  • für Qt GUI: weechat-qt

Wenn Sie Weechat zum ersten Mal starten, wird eine Konfigurationsdatei erzeugt, deren Optionen besitzen Standardwerte. Diese Datei ist: "~/.weechat/weechat.rc"

Sie können diese Datei entsprechend ihren Bedürfnissen editieren, um Weechat anzupassen (NUR wenn Weechat nicht läuft) oder Parameter zu beeinflussen mit "/set" Kommando in WeeChat (siehe „WeeChat Kommandos“)

Tastenkombinationen

Tastenkombination Wirkung
Links / Strg + B Gehe zum vorherigen Zeichen in der Kommandozeile
Rechts / Strg + F Gehe zum nächsten Zeichen in der Kommandozeile
Strg + Links Gehe zum vorherigen Wort in der Kommandozeile
Strg + Rechts Gehe zum nächsten Wort in der Kommandozeile
Pos1 / Strg + A Gehe zum Anfang der Kommandozeile
Strg + C dann B Insert code for bold text.
Strg + C dann C Insert code for colored text.
Strg + C dann O Insert code for color reset.
Strg + C dann R Insert code for reverse color.
Strg + C dann U Insert code for underlined text.
Ende / Strg + E Gehe zum Ende der Kommandozeile
Strg + K Lösche vom Cursor bis zum Ende der Kommandozeile
Strg + L Fenster neu aufbauen
Strg + R Suche nach Text im Pufferverlauf (zwei Mal: suche nach dem genauen Text)
Strg + S dann Strg + U Set unread marker on all buffers
Strg + T Zeichen transponieren
Strg + U Lösche vom Cursor bis zum Aanfang der Kommandozeile
Strg + W Lösche das vorhergehende Wort in der Kommandozeile
Strg + Y Inhalt der Zwischenablage einfügen
Rückschritt / Strg + H Lösche das vorhergehende Zeichen in der Kommandozeile
Entfernen / Strg + D Lösche das nächste Zeichen in der Kommandozeile
Tabulator / Shift + Tabulator Vervollständige ein Kommando oder Nick (wiederhole: finde nächste Vervollständigung)
Jedes Zeichen Setze das Zeichen beim Cursor in die Kommandozeile ein
Eingabe / Strg + J / Strg + M Führe ein Kommando aus oder sende eine Nachricht (im Suchmodus: Suche anhalten)
Hoch / Runter Rufe das letzte Kommando/die letzte Nachricht wieder auf (im Suchmodus: suche rückwärts/vorwärts)
Strg + Hoch / Strg + Runter Rufe das letzte Kommando/die letzte Nachricht des globalen Buffers wieder auf (für alle Buffer)
Seite hoch / Seite runter Eine Seite hoch / runter im Verlauf des Buffers
Alt + Seite hoch / Alt + Seite runter Ein paar Zeilen hoch / runter im Verlauf des Buffers
Alt + Pos1 / Alt + Ende Gehe zum Anfang / Ende des Puffers
F5 / Alt + Links Gehe zum vorherigen Puffer
F6 / Alt + Rechts Gehe zum nächsten Puffer
F7 Schalte in das vorherige Fenster
F8 Schalte in das nächste Fenster
F9 / F10 Blättere in der Topic
F11 / F12 Blättere in der Nicklist
Alt + F11 / Alt + F12 Gehe zum Anfang / Ende der Nicklist
Alt + A Schalte in den nächsten Puffer mit Aktivität (mit der Priorität: highlight, message, other)
Alt + B Gehe zum vorherigen Wort in der Kommandozeile
Alt + D Lösche das nächste Wort in der Kommandozeile
Alt + F Gehe zum nächsten Wort in der Kommandozeile
Alt + H Lösche den Inhalt der Hotlist (Aktivitätsanzeige für andere Puffer)
Alt + I Entferne den letzten Hinweis in der Infobar
Alt + J dann Alt + D Zeige den DCC-Puffer
Alt + J dann Alt + L Schalte zum letzten Puffer
Alt + J then Alt + P Switch to buffer previously displayed
Alt + J dann Alt + R Schalte in den reinen IRC-Daten Puffer
Alt + J dann Alt + S Schalte in den Server-Puffer
Alt + J dann Alt + X Schalte in den ersten Channel des nächsten Servers (oder in den Server-Puffer wenn keine Channel offen ist)
Alt + Zahl (0-9) Schalte in den Puffer mit der Nummer (0 = 10)
Alt + J dann eine Zahl (01-99) Schalte in den Puffer mit der Nummer
Alt + K Setze den Keycode der nächsten Taste in der Kommandozeile ein
Alt + N Blättere zum nächsten Highlight
Alt + P Blättere zum vorigen Highlight
Alt + R Lösche die komplette Kommandozeile
Alt + S Schalte zwischen den Servern im Server-Puffer hin und her (wenn "look_one_server_buffer" angeschaltet ist)
Alt + U Blättere zur ersten ungelesenen Zeile im Puffer
Alt + W dann Alt + Pfeil Schalte zum Fenster in der entsprechenden Richtung

Kommandozeile

Die WeeChat Kommandozeile (am Ende des Fensters) lässt sie Nachrichten an einen Channel senden oder WeeChat- bzw. IRC-Kommandos ausführen (siehe „WeeChat / IRC Kommandos“).

Kommandos beginnen mit einem "/", gefolgt vom Namen des Kommandos. Um zum Beispiel einen privaten Chat mit "toto" zu beginnen:

/query toto

Nachrichten an einen Channel sind jeder Text, der nicht mit einem "/" begint. Um zum Beispiel den Text "hello" an den gegenwärtigen Channel zu senden:

hello

Dennoch ist es möglich, eine Nachricht auch mit einem "/" zu beginnen, einfach ein weiteres "/" voranstellen. Um zum Beispiel den Text "/query toto" an den gegenwärtigen Channel zu senden:

//query toto

Wenn die Option IRC-Farben ("irc_colors_send") senden angeschaltet ist, können sie Farbcodierung und Attribute wiefolgt verwenden (press Ctrl-C then following letter, with optional value):

Code Beschreibung
^Cb Fett (bold)
^Ccxx Textfarbe "xx" (color) (siehe Farbtabelle)
^Ccxx,yy Textfarbe "xx" und Hintergrund "yy" (siehe Farbtabelle)
^Co Schalte Farben und Attribute ab
^Cr umgedrehte Farben (tausche Textfarbe mit Hintergrundfarbe)
^Cu Unterstreiche Text

Hinweis: Der gleiche Farbcode (ohne die Nummer) kann zum Ausschalten des Attributes verwendet werden.

Farbcodes für ^Cc:

Code Farbe
00 weiss
01 schwarz
02 dunkles Blau
03 dunkles Grün
04 helles Rot
05 dunkles Rot
06 Magenta
07 Orange
08 Gelb
09 helles Grün
10 Cyan
11 helles Cyan
12 helles Blau
13 helles Magenta
14 Grau
15 helles Grau (Weiss)

Beispiel: Anzeige von "hello everybody!" mit "hello" fett in hellem Blau, und "everybody" unterstrichen in hellem Rot:

^Cc12^Cbhello^Cb^Cc04^Cu everybody^Cu^Cc!

WeeChat / IRC Kommandos

Dieses Kapitel listet alle WeeChat- und IRC-Kommandos auf.

WeeChat Kommandos

alias [Aliasname [Befehl [Argumente]]]

einen Alias für einen Befehl anlegen

Aliasname: Name des Alias
   Befehl: Befehlsname (WeeChat- oder IRC-Befehl ohne führenden '/', mehrere Befehle können durch Semikola getrennt werden)
Argumente: Argumente für den Befehl

wird durch alle Argumente ersetzt.

Die Variablen $nick, $channel and $server werden durch den aktuellen Nick/Channel oder Server ersetzt.

buffer [Aktion [Argumente] | Nummer | [[Server] [Channel]]]

Puffer verwalten

 action: action to do:
   move: move buffer in the list (may be relative, for example -1)
  close: close buffer (optional arg is part message, for a channel)
   list: list open buffers (no parameter implies this list)
 notify: set notify level for buffer (0=never, 1=highlight, 2=1+msg, 3=2+join/part)
         (when executed on server buffer, this sets default notify level for whole server)
 scroll: scroll in history (may be relative, and may end by a letter: s=sec, m=min, h=hour, d=day, M=month, y=year); if there is only letter, then scroll to beginning of this item

 number: jump to buffer by number
server,
channel: jump to buffer by server and/or channel name

Examples:
        move buffer: /buffer move 5
       close buffer: /buffer close this is part msg
         set notify: /buffer notify 2
    scroll 1 day up: /buffer scroll 1d  ==  /buffer scroll -1d  ==  /buffer scroll -24h
scroll to beginning
        of this day: /buffer scroll d
 scroll 15 min down: /buffer scroll +15m
  scroll 20 msgs up: /buffer scroll -20
   jump to #weechat: /buffer #weechat

builtin Befehl

starte eingebauten WeeChat/IRC-Befehl (ohne Plugin-Handler oder Aliase)

Befehl: auszuführender Befehl (falls nicht vorhanden wird automatisch ein '/' vorangestellt)


clear [-all | number [number ...]]

Fenster leeren

  -all: lösche alle Puffer
Nummer: lösche den Puffer mit der angegebenen Nummer

connect [-all [-nojoin] | servername [servername ...] [-nojoin] | hostname [-port port] [-ipv6] [-ssl]]

mit Server verbinden

      -all: connect to all servers
servername: internal server name to connect
   -nojoin: do not join any channel (even if autojoin is enabled on server)
  hostname: hostname to connect, creating temporary server
      port: port for server (integer, default is 6667)
      ipv6: use IPv6 protocol
       ssl: use SSL protocol

disconnect [-all | Servername [Servername ...]]

Serververbindung(en) trennen

      -all: Trenne von allen Servern
servername: Servername, von dem getrennt werden soll

dcc Aktion [Nickname [Datei]]

DCC (Filetransfer oder Chat) starten oder Chat beenden

  Aktion: 'send' (Datei) oder 'chat' oder 'close' (Chat)
Nickname: Empfänger der Datei bzw. Chatpartner
    Datei: zu versendende (lokal vorliegende) Datei

debug dump | buffer | windows

Debugging-Nachricht ausgeben

   dump: save memory dump in WeeChat log file (same dump is written when WeeChat crashes)
 buffer: dump buffer content with hexadecimal values in log file
windows: display windows tree

help [Befehl]

Hilfe zu Befehlen abfragen

Befehl: Name eines WeeChat- oder IRC-Befehls

history [clear | Anzahl]

zeigt Befehlsverlauf des Puffers

clear: Löscht Verlauf
Anzahl: zeigt die gewünschte Anzahl an Verlaufseinträgen

ignore [Maske [[Typ | Befehl] [Channel [Server]]]]

IRC-Nachrichten und/oder Hosts ignorieren

  Nummer: Nummer des zu entfernenden Eintrags (siehe Liste)
   Maske: Nickname oder Hostmaske, die ignoriert werden soll
     Typ: Typ der Nachrichten, die ignoriert werden sollen (action, ctcp, dcc, pv)
Befehl: IRC-Befehl
 Channel: Channel, in dem ignoriert werden soll
  Server: Server, auf dem ignoriert werden soll

Bei jedem Argument steht '*' für 'alle'.
Ohne Argumente listet /ignore alle definierten /ignore-Regeln auf.

key [Taste [Funktion/Befehl]] [unbind Taste] [functions] [call Funktion ["Argumente"]] [reset -yes]

belegen/freigeben von Tasten

      Taste: diese Taste anzeigen oder mit einer internen Funktion oder einem Befehl, beginnend mit "/", belegen
   unbind: Tastenbelegung aufheben
functions: interne Funktionen für Tastenbelegungen auflisten
     call: rufe eine Funktion über ihren Namen auf (mit optionalen Argumenten)
    reset: Standardbelegung wiederherstellen und entferne ALLE eigenen Belegungen (Vorsicht!)

plugin [list [Name]] | [listfull [Name]] | [load Dateiname] | [autoload] | [reload [Name]] | [unload [Name]]

auflisten/laden/entladen von Plugins

    list: geladene Plugins auflisten
listfull: geladene Plugins mit Details für jedes Plugin auflisten
    load: lade ein Plugin
autoload: lade automatisch alle Plugins im System- oder Benutzerverzeichnis
  reload: lade ein Plugin erneut (wenn kein Name vorgegeben ist, werden alle Plugins entladen und autolade die Plugins)
  unload: entlade eines oder alle Plugins

Ohne Argument, listet /plugin alle geladenen Plugins auf.

reconnect [-all [-nojoin] | servername [servername ...] [-nojoin]]

mit einem Server oder mehreren Servern neu verbinden

      -all: reconnect to all servers
servername: server name to reconnect
   -nojoin: do not join any channel (even if autojoin is enabled on server)

save [Datei]

Konfiguration abspeichern

Datei: Name der zu speichernden Konfigurationsdatei

server [list [servername]] | [listfull [servername]] | [add servername hostname [-port port] [-temp] [-auto | -noauto] [-ipv6] [-ssl] [-pwd password] [-nicks nick1 nick2 nick3] [-username username] [-realname realname] [-command command] [-autojoin channel[,channel]] ] | [copy servername newservername] | [rename servername newservername] | [keep servername] | [del servername]

Auflisten, Hinzufügen oder Entfernen von Servern

      list: list servers (no parameter implies this list)
  listfull: list servers with detailed info for each server
       add: create a new server
servername: server name, for internal and display use
  hostname: name or IP address of server
      port: port for server (integer, default is 6667)
      temp: create temporary server (not saved in config file)
      auto: automatically connect to server when WeeChat starts
    noauto: do not connect to server when WeeChat starts (default)
      ipv6: use IPv6 protocol
       ssl: use SSL protocol
  password: password for server
     nick1: first nick for server
     nick2: alternate nick for server
     nick3: second alternate nick for server
  username: user name
  realname: real name of user
      copy: duplicate a server
    rename: rename a server
      keep: keep server in config file (for temporary servers only)
       del: delete a server
   deloutq: delete messages out queue for all servers (all messages WeeChat is currently sending)

set [Option [ = Wert]]

Konfigurationsparameter setzen

Option: Name einer Option (wenn der Name vorhanden ist, aber kein Wert, dann wird eine Hilfe zur Option ausgegeben
 Wert: Wert der Option

Option kann Servername.server_xxx lauten, wobei "Servername" der interne Servername ist und "xxx" eine Option für diesen Server.

setp [Option [ = Wert]]

Konfigurationsparameter für Plugin setzen

Option: Name einer Plugin-Option
 Wert: Wert für Option

Option wird wie folgt formatiert: Plugin.Option, z.B. perl.myscript.item1

unalias Aliasname

einen Alias entfernen

Aliasname: Name des zu löschenden Aliases

unignore [Nummer | [Maske [[Typ | Befehl] [Channel [Server]]]]

/ignore-Regel entfernen

  Nummer: Nummer des zu entfernenden Eintrags (siehe Liste)
   Maske: Nickname oder Hostmaske, die ignoriert werden soll
     Typ: Typ der Nachrichten, die ignoriert werden sollen (action, ctcp, dcc, pv)
Befehl: IRC-Befehl
 Channel: Channel, in dem ignoriert werden soll
  Server: Server, auf dem ignoriert werden soll

Bei jedem Argument steht '*' für 'alle'.
Ohne Argumente listet /unignore alle definierten /ignore-Regeln auf.

upgrade [path_to_binary]

aktualisiert WeeChat ohne die Verbindung zum Server zu trennen

path_to_binary: path to WeeChat binary (default is current binary)

This command run again a WeeChat binary, so it should have been compiled or installed with a package manager before running this command.

uptime [-o]

zeigt die Uptime von Weechat an

-o: sendet die Weechat-Uptime als IRC-Nachricht in den aktuellen Channel

window [list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv [pct] | resize pct | merge [all]]

Fenster verwalten

  list: listet die geöffneten Fenster (Default, kann auch weggelassen werden)
    -1: springt zum vorherigen Fenster
    +1: springt zum nächsten Fenster
    b#: springt zum nächsten Fenster, dass Puffer Nummer # anzeigt
    up: wechselt zum Fenster über dem aktuellen
  down: wechselt zum Fenster unter dem aktuellen
  left: wechselt zum linken Fenster
 right: wechselt zum rechten Fenster
splith: teilt das aktuelle Fenster horizontal
splitv: teilt das aktuelle Fenster vertikal
resize: verändert die Größe des aktuellen Fensters, die neue Größe ist <pct> Prozent des Elternfensters groß
 merge: vereinigt Fenster miteinander (all = alle Fenster vereinigen)

Bei splith und splitv gibt pct die neue Größe des Fensters im verhältnis zur aktuellen Größe an. Zum Beispiel würde 25 bedeuten, dass das neue Fenster nur noch ein Viertel der Größe des alten Fensters hätte.

Funktionen

Funktion Beschreibung
return Zeile terminieren
tab Wort vervollständigen
tab_previous finde letzte Wortvervollständigung
backspace vorheriges Zeichen löschen
delete nächstes Zeichen löschen
delete_end_line bis zum Zeilenende löschen
delete_beginning_line bis zum Zeilenanfang löschen
delete_line ganze Zeile löschen
delete_previous_word vorheriges Wort löschen
delete_next_word nächstes Wort löschen
clipboard_paste einfügen
transpose_chars Zeichen vertauschen
home zum Zeilenanfang gehen
end zum Zeilenende gehen
left ein Zeichen nach links gehen
previous_word ein Wort nach links gehen
right ein Zeichen nach rechts gehen
next_word ein Wort nach rechts gehen
up vorherigen Befehl aus dem Verlauf abfragen
up_global vorherigen Befehl aus dem globalen Verlauf abfragen
down nächsten Befehl aus dem Verlauf abfragen
down_global nächsten Befehl aus dem globalen Verlauf abfragen
page_up eine Seite hochscrollen
page_down eine Seite herunterscrollen
scroll_up einige Zeilen hochscrollen
scroll_down einige Zeilen herunterscrollen
scroll_top nach ganz oben scrollen
scroll_bottom nach ganz unten scrollen
scroll_topic_left Topic nach links scrollen
scroll_topic_right Topic nach rechts scrollen
nick_beginning zum Anfang der Nicklist gehen
nick_end zum Ende der Nicklist gehen
nick_page_up Nickliste eine Seite hochscrollen
nick_page_down Nickliste eine Seite herunterscrollen
jump_smart zu nächstem aktiven Puffer springen
jump_dcc zum DCC-Puffer springen
jump_raw_data gehe zum IRC-Rohdaten-Puffer
jump_last_buffer zum letzten Puffer springen
jump_previous_buffer jump to previous buffer
jump_server zum Serverpuffer springen
jump_next_server zum nächsten Server springen
switch_server wechsel den aktiven Server im Server-Puffer
scroll_previous_highlight scrolle zur vorherigen hervorhebung im Puffer
scroll_next_highlight scrolle zur nächsten Hervorhebung im Puffer
scroll_unread scrolle zur ersten, ungelesenen Zeile im Puffer
set_unread set unread marker on all buffers
hotlist_clear Hotlist leeren
infobar_clear Infobar leeren
refresh Bild neu aufbauen
grab_key Tastencode ermitteln und einfügen
insert füge eine Zeichenkette in der Befehlszeile ein
search_text suche Text im Pufferverlauf

IRC Kommandos

admin [Ziel]

Information über den Server-Administrator abfragen

Ziel: Server

ame Nachricht

Nachricht an alle Channels aller verbundenen Server schicken

zu sendende Nachricht

amsg Text

Nachricht an alle Channels aller verbundener Server schicken

Text: zu sendender Text

away [-all] [Nachricht]

Abwesenheitsnachricht ein/ausschalten

   -all: Abwesenheitszustand auf allen Servern ändern
Nachricht: Abwesenheitsnachricht (bzw. keine, um den Abwesenheitszustand zu deaktivieren)

ban [Channel] [Nickname [Nickname ...]]

Nicknames oder Hosts sperren/verbannen

 Channel: Channel für die Sperre
Nickname: zu sperrender User oder Host

ctcp Empfänger Typ [Argumente]

CTCP-Nachricht verschicken

 Empfänger: User, an den die CTCP-Nachricht geschickt werden soll
     Typ: Typ der CTCP-Nachricht (z.B. "version", "ping", ..)
Argumente: Argumente für CTCP

cycle [Channel[,Channel]] [Abschiedsnachricht]

einen Channel verlassen und wieder betreten

     Channel: zu verlassender Channel
Abschiedsnachricht: Abschiedsnachricht (die den anderen Usern angezeigt wird)

dehalfop Nickname [Nickname]

Halb-Operatorstatus aberkennen

deop Nickname [Nickname]

Operatorstatus aberkennen

devoice Nickname [Nickname]

Voice wegnehmen

die

Server herunterfahren

halfop Nickname [Nickname]

Halb-Operatorstatus verleihen

info [Ziel]

Information über den Server abfragen

Ziel: Servername

invite Nickname Channel

jemanden in einen Channel einladen

Nickname: Chatname des Einzuladenden
Channel: Channel, in den er eingeladen werden soll

ison Nickname [Nickname ...]

überprüfen, ob jemand zur Zeit im IRC ist

Nickname: Nickname

join Channel[,Channel] [Passwort[,Passwort]]

einen Channel betreten

Channel: zu betretender Channel
    Passwort: Channelpasswort (+k-Mode)

kick [Channel] Nickname [Kommentar]

einen User aus einem Channel herauskicken

Channel: Channel des Benutzers
Nickname: Nickname des Benutzers
Kommentar: Begründung für den Kick

kickban [Channel] Nickname [Kommentar]

kickt und verbannt jemanden von einem Channel

Channel: Channel des Benutzers
Nickname: Nickname des Benutzers
Kommentar: Begründung für den Kickban

kill Nickname Kommentar

Jemanden vom Server werfen

Nickname: Chatname
Kommentar: Begründung

links [[Server] Servermaske]

Alle dem antwortenden Server bekannten Servernamen auflisten

     Server: dieser Server soll die Anfrage beantworten
Servermaske: die aufzulistenden Server sollen diesem Muster entsprechen

list [Channel[,Channel] [Server]]

Channels mit ihren Topics auflisten

Channel: aufzulistender Channel (reguläre Ausdrücke sind möglich)
Server: Servername

lusers [Maske [Ziel]]

Statistik über die Größe dieses IRC-Netzwerks abfragen

  Maske: Nur Server, die diesem Muster entsprechen
Ziel: Server, der die Anfrage weiterleiten soll

me Nachricht

eine CTCP ACTION an den aktuellen Channel senden

zu sendende Nachricht

mode { Channel {[+|-]|o|p|s|i|t|n|b|v} [Limit] [User] [Bannmaske] } | {Nickname {[+|-]|i|w|s|o} }

Channel- oder Usermode ändern

Channelmodi:
  Channel: zu ändernder Channel
  o: gib/nimm Operatorstatus
  p: privater Channel
  s: geheimer Channel
  i: geschlossener Channel (Zutritt nur mit Einladung)
  t: nur Operatoren dürfen das Topic setzen
  n: keine Channelnachrichten von außerhalb des Channels
  m: moderierter Channel (schreiben nur mit Voice)
  l: maximale Anzahl an Usern im Channel festlegen
  b: Bannmaske für zu sperrende User (in nick!ident@host-Form)
  e: lege Ausnahmemaske fest
  v: gib/nimm Voice (d.h. Schreibrecht bei moderierten Channels)
  k: Channelkey/Channelpasswort festlegen
Usermodi:
  Nickname: zu ändernder Nickname
  i: User als unsichtbar kennzeichnen
  s: User empfängt Server-Nachrichten
  w: User empfängt WALLOPS
  o: User ist Channeloperator

motd [Ziel]

die "Nachricht von heute" abfragen

Ziel: Servername

msg Empfänger[,Empfänger] Text

Nachricht an Nick/Channel verschicken

Empfänger: Nick/Channel (darf eine Maske sein, '*' = aktueller Channel)
Text: zu sendender Text

names [Channel[,Channel]]

Nicknames in Channels auflisten

Channel: Channelname

nick [-all] Nickname

aktuellen Nickname wechseln

    -all: Nickname auf allen verbundenen Servern ändern
Nickname: neuer Nickname

notice Nickname Text

NOTICE an einen User verschicken

Nickname: Empfänger der Nachricht
    Text: zu sendender Text

op Nickname [Nickname]

Channeloperatorstatus verleihen

oper Benutzername Passwort

Serveroperatorprivilegien anfordern

Benutzername/Passwort: Account im IRC-Server

part [Channel[,Channel]] [Abschiedsnachricht]

einen Channel verlassen

     Channel: zu verlassender Channel
Abschiedsnachricht: Abschiedsnachricht, die den anderen Usern angezeigt wird

ping Server1 [Server2]

Server anpingen

Server1: Anzupingender Server
Server2: Ping an diesen Server weiterleiten

pong Daemon [Daemon2]

auf Ping antworten

 Daemon: Daemon, der auf die Ping-Nachricht geantwortet hat
Daemon2: Nachricht an diesen Daemon weiterleiten

query Nickname [Text]

private Nachricht an jemanden schicken

Nickname: Nickname für privaten Chat
    Text: zu sendender Text

quit [Abschiedsnachricht]

alle Verbindungen trennen und Programm beenden

Abschiednachricht: anderen Usern zu zeigende Nachricht

quote Daten

Daten direkt an Server senden (siehe RFC 2812)

Daten: zu sendende Rohdaten

rehash

den Server dazu bringen, seine Konfigurationsdatei neu zu laden

restart

den Server dazu bringen, sich selbst neu zu starten

service Nickname reserviert Distribution Typ reserviert Info

einen neuen Service eintragen

Distribution: Sichtbarkeit des Services
        Typ: für spätere Verwendung reserviert

servlist [Maske [Typ]]

zur Zeit verbundene Services auflisten

Maske: nur zutreffende Services auflisten
Typ: nur Services von diesem Typ auflisten

squery Service Text

Nachricht an einen Service senden

Service: Name des Service
Text: zu sendender Text

squit Server Kommentar

Serververbindungen trennen

Server: Servername
Kommentar: Trennungsgrund

stats [Anfrage [Server]]

Serverstatistik abfragen

 Anfrage: c/h/i/k/l/m/o/y/u (siehe RFC1459)
Server: zu befragender Server

summon User [Ziel [Channel]]

Nutzer, die auf dem IRC-Server arbeiten, darum bitten, auf den IRC-Server zu kommen

   User: Benutzername
Ziel: Servername
Channel: Channelname

time [Ziel]

Ortszeit des Servers abfragen

Ziel: der zu fragende Server

topic [Channel] [Topic]

Channeltopic abfragen/setzen

Channel: Channelname
Topic: neues Topic (oder "-delete" zum Entfernen des Topics)

trace [Ziel]

Route zum angegebenen Server ermitteln

Ziel: Server

unban [Channel] nickname [nickname ...]

Bann aufheben

 Channel: Channel, in dem der Bann aufzuheben ist
Nickname: User, für den der Bann aufzuheben ist

userhost Nickname [Nickname ...]

liste von Nickname-Informationen ermitteln

Nickname: Nickname

users [Ziel]

auf dem Server eingeloggte User auflisten

Ziel: Server

version [Server | Nickname]

Versionsinformationen von Nickname oder Server ermitteln

  Server: Servername
Nickname: Nickname

voice Nickname [Nickname]

Voice vergeben

wallops Text

Nachricht an alle User schicken, die den 'w'-Mode gesetzt haben

zu sendender Text

who [Maske ["o"]]

erweiterte Nicknameliste

Maske: nur Information über betreffende Nicknames abfragen
   o: nur Operatoren ausgeben, die dem Filter entsprechen

whois [Server] Nickname[,Nickname]

Information über User abfragen

  Server: Servername
Nickname: Nickname (oder eine Maske)

whowas Nickname [,Nickname [,Nickname ...]] [Anzahl [Ziel]]

Information über die Vergangenheit eines Nicknames erfragen

Nickname: abzufragende Nicknames
   Anzahl: maximale Anzahl an Antworten (negative Zahl für eine vollständige Liste)
  Ziel: zu suchende Hostmaske

Konfigurationsdatei

Liste der Optionen für die Konfigurationsdatei:

Option Typ Wert Default Beschreibung
look_save_on_exit Boolean   'on' Konfiguration beim Verlassen abspeichern
look_set_title Boolean   'on' Fenstertitel setzen (oder Terminaltitel im Curses-GUI) mit Name und Version
look_startup_logo Boolean   'on' WeeChat-Logo beim Start anzeigen
look_startup_version Boolean   'on' WeeChat-Version beim Start anzeigen
look_weechat_slogan Zeichenfolge eine beliebige Zeichenfolge 'the geekest IRC client!' WeeChat-Slogan (wenn leer, wird keiner benutzt)
look_one_server_buffer Boolean eine beliebige Zeichenfolge 'off' Benutze den gleichen Puffer für alle Server
look_open_near_server Boolean eine beliebige Zeichenfolge 'off' öffne neue Channels oder private Nachrichten neben dem Server-Puffer
look_scroll_amount Ganzzahl zwischen 1 und 2147483647 3 Anzahl der zu scrollenden Zeilen bei Bild-Hoch- und Bild-Runter-Taste
look_buffer_timestamp Zeichenfolge eine beliebige Zeichenfolge '[%H:%M:%S]' Timestamp für Puffer
look_color_nicks_number Ganzzahl zwischen 1 und 10 10 Anzahl der für Nicknames zu benutzenden Farben
look_color_actions Boolean zwischen 1 und 10 'on' Actions mit verschiedenen Farbe anzeigen
look_nicklist Boolean zwischen 1 und 10 'on' Nicklisten-Fenster in Channelfenstern anzeigen
look_nicklist_position Zeichenfolge 'left', 'right', 'top', 'bottom' 'right' Nicklisten-Position (top, left, right (Standard), bottom)
look_nicklist_min_size Ganzzahl zwischen 0 und 100 0 Minimale Größe der Nicklist (Breite oder Höhe, je nach look_nicklist_position (0: kein Minimum)
look_nicklist_max_size Ganzzahl zwischen 0 und 100 0 Max size for nicklist (width or height, depending on look_nicklist_position (0 = no max size; if min = max and > 0, then size is fixed))
look_nicklist_separator Boolean zwischen 0 und 100 'on' Trennzeichen zwischen Chatfenster und Nickliste
look_no_nickname Zeichenfolge eine beliebige Zeichenfolge '-cmd-' Text, der statt Nickname erscheinen soll, wenn keine Verbindung besteht
look_nickmode Boolean eine beliebige Zeichenfolge 'on' Nickmode (@%+) vorm Nickname anzeigen
look_nickmode_empty Boolean eine beliebige Zeichenfolge 'off' Leerzeichen anzeigen wenn Nickmode nicht @%+ ist
look_nick_prefix Zeichenfolge eine beliebige Zeichenfolge '' Text, der im Chatfenster vor dem Nickname erscheinen soll
look_nick_suffix Zeichenfolge eine beliebige Zeichenfolge ' |' Text, der im Chatfenster nach dem Nickname erscheinen soll
look_align_nick Zeichenfolge 'none', 'left', 'right' 'right' Ausrichtung des Nicknamens (feste Größe bei Nicks im Chatfenster (none, left, right))
look_align_other Boolean 'none', 'left', 'right' 'on' Ausrichtung für andere Nachrichten, die nicht mit einem Nicknamen beginnen
look_align_size Ganzzahl zwischen 8 und 64 14 Größe zum Ausrichten von Nicknamen und anderen Nachrichten
look_align_size_max Ganzzahl zwischen 8 und 64 20 Maximale Größe zum Ausrichten von Nicknamen und anderen Nachrichten (sollte >= look_align_size sein)
look_align_text_offset Ganzzahl zwischen -1 und 64 -1 Offset for aligning lines of messages (except first lines), default is -1 (align after nick), a null or positive value is offset after beginning of line
look_nick_completor Zeichenfolge eine beliebige Zeichenfolge ':' Nach Nickvervollständigung anzufügende Zeichenfolge
look_nick_completion_ignore Zeichenfolge eine beliebige Zeichenfolge '[]-^' Zeichen, die bei der Nickvervollständigung ignoriert werden
look_nick_completion_smart Boolean eine beliebige Zeichenfolge 'on' Intelligente vervollständigung der Nicknamen (vervollständigt zuerst mit dem letzten Nick, der einen angesprochen hat)
look_nick_complete_first Boolean eine beliebige Zeichenfolge 'off' Nur mit dem ersten, passenden Nicknamen vervollständigen
look_infobar Boolean eine beliebige Zeichenfolge 'on' Infoleiste aktivieren
look_infobar_timestamp Zeichenfolge eine beliebige Zeichenfolge '%B, %A %d %Y' Timestamp in der Infobar
look_infobar_seconds Boolean eine beliebige Zeichenfolge 'on' Sekunden in der Infobar-Zeit anzeigen
look_infobar_delay_highlight Ganzzahl zwischen 0 und 2147483647 7 Anzeigezeit in Sekunden für Highlight-Messages in der Infobar (0: gar nicht erst anzeigen)
look_hotlist_names_count Ganzzahl zwischen 0 und 32 3 Maximale Anzahl an Namen in der Hotlist (0 = keine Namen, nur Puffernummern)
look_hotlist_names_level Ganzzahl zwischen 1 und 15 12 Level für Namensanzeige in der Hotlist (Kombination von: 1=join/part, 2=Nachricht, 4=Query, 8=Highlight, z.B. 12=Query+Highlight)
look_hotlist_names_length Ganzzahl zwischen 0 und 32 0 Maximale Länge der Namen in der Hotlist (0: kein Limit)
look_hotlist_sort Zeichenfolge 'group_time_asc', 'group_time_desc', 'group_number_asc', 'group_number_desc', 'number_asc', 'number_desc' 'group_time_asc' Hotlist sort type (group_time_asc (default), group_time_desc, group_number_asc, group_number_desc, number_asc, number_desc)
look_day_change Boolean 'group_time_asc', 'group_time_desc', 'group_number_asc', 'group_number_desc', 'number_asc', 'number_desc' 'on' Spezielle Nachricht anzeigen, wenn ein neuer Tag beginnt
look_day_change_timestamp Zeichenfolge eine beliebige Zeichenfolge '%a, %d %b %Y' Zeitstempel für das Datum, das beim Tageswechsel angezeigt wird
look_read_marker Zeichenfolge eine beliebige Zeichenfolge ' ' Markiere die erste, ungelesene Zeile bei Server- und Channel-Puffern
look_input_format Zeichenfolge eine beliebige Zeichenfolge '[%n(%m)] ' Format der Eingabezeile ('%c' wird durch den Channel- oder Servernamen ersetzt, '%n' durch den Nicknamen und '%m' durch die Nick-Modi)
look_paste_max_lines Ganzzahl zwischen 0 und 2147483647 3 Max number of lines for paste without asking user (0 = disable this feature)
col_real_white Boolean zwischen 0 und 2147483647 'off' Wenn gesetzt, benutze echtes Weiß, als Voreinstellung jedoch für Terminals mit weißem Hintergrund deaktiviert (solltest du niemals einen weißen Hintergrund benutzen, solltest du diese Option aktivieren um ein echtes Weiß anstelle der voreingestellten Terminal Vordergrundfarbe zu bekommen)
col_separator Farbe Curses- oder Gtk-Farben 'blue' Farbe der Fenster-Separatoren im Chatfenster (bei geteiltem Bildschirm)
col_title Farbe Curses- oder Gtk-Farben 'default' Textfarbe der Titelleiste
col_title_more Farbe Curses- oder Gtk-Farben 'lightmagenta' Farbe des '+' beim Scrolling des Topics
col_title_bg Farbe Curses- oder Gtk-Farben 'blue' Hintergrundfarbe der Titelleiste
col_chat Farbe Curses- oder Gtk-Farben 'default' Farbe vom Chat-Text
col_chat_time Farbe Curses- oder Gtk-Farben 'default' Farbe der Zeit im Chatfenster
col_chat_time_sep Farbe Curses- oder Gtk-Farben 'brown' Farbe für den Zeit-Separator im Chatfenster
col_chat_prefix1 Farbe Curses- oder Gtk-Farben 'lightcyan' Farbe des 1. und 3. Präfixzeichens
col_chat_prefix2 Farbe Curses- oder Gtk-Farben 'white' Farbe des 2. Präfixzeichens
col_chat_server Farbe Curses- oder Gtk-Farben 'brown' Farbe des Servernamens
col_chat_join Farbe Curses- oder Gtk-Farben 'lightgreen' Farbe des join-Pfeiles (Präfix)
col_chat_part Farbe Curses- oder Gtk-Farben 'lightred' Farbe des quit-Pfeiles (Präfix)
col_chat_nick Farbe Curses- oder Gtk-Farben 'lightcyan' Farbe der Nicknames in ACTIONs im Chatfenster
col_chat_host Farbe Curses- oder Gtk-Farben 'cyan' Farbe der Hostnames im Chatfenster
col_chat_channel Farbe Curses- oder Gtk-Farben 'white' Farbe der Channelnamen in ACTIONs im Chatfenster
col_chat_dark Farbe Curses- oder Gtk-Farben 'green' Farbe der dunklen Separatoren im Chatfenster
col_chat_highlight Farbe Curses- oder Gtk-Farben 'yellow' Farbe der hervorgehobenen Nicknames im Chatfenster
col_chat_bg Farbe Curses- oder Gtk-Farben 'default' Hintergrund des Chatfensters
col_chat_read_marker Farbe Curses- oder Gtk-Farben 'yellow' Farbe der Ungelesenenmarkierung
col_chat_read_marker_bg Farbe Curses- oder Gtk-Farben 'magenta' Hintergrundfarbe der Ungelesenenmarkierung
col_status Farbe Curses- oder Gtk-Farben 'default' Farbe der Statuszeile
col_status_delimiters Farbe Curses- oder Gtk-Farben 'cyan' Farbe der Statuszeilen-Separatoren
col_status_channel Farbe Curses- oder Gtk-Farben 'white' Farbe des aktuellen Channels in der Statuszeile
col_status_data_msg Farbe Curses- oder Gtk-Farben 'yellow' Farbe eines Fensters mit neuen Messages in der Statuszeile
col_status_private Farbe Curses- oder Gtk-Farben 'lightmagenta' Farbe eines Fensters mit Privatnachrichten in der Statuszeile
col_status_highlight Farbe Curses- oder Gtk-Farben 'lightred' Farbe eines Fensters mit Highlights in der Statuszeile
col_status_data_other Farbe Curses- oder Gtk-Farben 'default' Farbe eines Fensters mit neuen Daten (nicht Nachrichten in der Statuszeile)
col_status_more Farbe Curses- oder Gtk-Farben 'white' Farbe eines Fensters mit neuen Daten in der Statuszeile
col_status_bg Farbe Curses- oder Gtk-Farben 'blue' Hintergrund des Statusfensters
col_infobar Farbe Curses- oder Gtk-Farben 'black' Farbe des Infobar-Textes
col_infobar_delimiters Farbe Curses- oder Gtk-Farben 'blue' Farbe der Infobar-Trennzeichen
col_infobar_highlight Farbe Curses- oder Gtk-Farben 'white' Farbe der Infobar-Highlight-Notifikation
col_infobar_bg Farbe Curses- oder Gtk-Farben 'cyan' Hintergrund des Infobar-Fensters
col_input Farbe Curses- oder Gtk-Farben 'default' Farbe der Eingabezeile
col_input_server Farbe Curses- oder Gtk-Farben 'brown' Farbe des Eingabetextes (Servername)
col_input_channel Farbe Curses- oder Gtk-Farben 'white' Farbe des Channelnamens in der Eingabezeile
col_input_nick Farbe Curses- oder Gtk-Farben 'lightcyan' Farbe des Nicknames in der Eingabezeile
col_input_delimiters Farbe Curses- oder Gtk-Farben 'cyan' Farbe des Trennzeichens in der Eingabezeile
col_input_text_not_found Farbe Curses- oder Gtk-Farben 'red' Farbe für den Text nicht gefunden
col_input_actions Farbe Curses- oder Gtk-Farben 'lightgreen' Color for actions in input window
col_input_bg Farbe Curses- oder Gtk-Farben 'default' Hintergrundfarbe der Eingabezeile
col_nick Farbe Curses- oder Gtk-Farben 'default' Farbe von Nicknames
col_nick_away Farbe Curses- oder Gtk-Farben 'cyan' Farbe von abwesenden Nicknames
col_nick_chanowner Farbe Curses- oder Gtk-Farben 'lightgreen' Farbe des Channel-Owner-Symbols von unrealircd
col_nick_chanadmin Farbe Curses- oder Gtk-Farben 'lightgreen' Farbe des Channel-Admin-Symbols von unrealircd
col_nick_op Farbe Curses- oder Gtk-Farben 'lightgreen' Farbe des Operator-Symbols
col_nick_halfop Farbe Curses- oder Gtk-Farben 'lightmagenta' Farbe des Halb-Operator-Symbols
col_nick_voice Farbe Curses- oder Gtk-Farben 'yellow' Farbe des Voice-Symbols
col_nick_user Farbe Curses- oder Gtk-Farben 'blue' Color for user symbol
col_nick_more Farbe Curses- oder Gtk-Farben 'lightmagenta' Farbe des '+' beim Scrolling von Nicknames
col_nick_sep Farbe Curses- oder Gtk-Farben 'blue' Farbe der Nicknamefenster-Trennlinie
col_nick_self Farbe Curses- oder Gtk-Farben 'white' Farbe des eigenen Nicknames
col_nick_color1 Farbe Curses- oder Gtk-Farben 'cyan' Farbe von Nicknames
col_nick_color2 Farbe Curses- oder Gtk-Farben 'magenta' Farbe von Nicknames
col_nick_color3 Farbe Curses- oder Gtk-Farben 'green' Farbe von Nicknames
col_nick_color4 Farbe Curses- oder Gtk-Farben 'brown' Farbe von Nicknames
col_nick_color5 Farbe Curses- oder Gtk-Farben 'lightblue' Farbe von Nicknames
col_nick_color6 Farbe Curses- oder Gtk-Farben 'default' Farbe von Nicknames
col_nick_color7 Farbe Curses- oder Gtk-Farben 'lightcyan' Farbe von Nicknames
col_nick_color8 Farbe Curses- oder Gtk-Farben 'lightmagenta' Farbe von Nicknames
col_nick_color9 Farbe Curses- oder Gtk-Farben 'lightgreen' Farbe von Nicknames
col_nick_color10 Farbe Curses- oder Gtk-Farben 'blue' Farbe von Nicknames
col_nick_private Farbe Curses- oder Gtk-Farben 'default' Farbe des anderen Nicknames in Query-Fenstern
col_nick_bg Farbe Curses- oder Gtk-Farben 'default' Hintergrundfarbe der Nicknames
col_chat_dcc_selected Farbe Curses- oder Gtk-Farben 'white' Farbe des ausgewählten DCCs im Chatfenster
col_dcc_waiting Farbe Curses- oder Gtk-Farben 'lightcyan' Farbe des DCC-Status 'warten'
col_dcc_connecting Farbe Curses- oder Gtk-Farben 'yellow' Farbe des DCC-Status 'verbinden'
col_dcc_active Farbe Curses- oder Gtk-Farben 'lightblue' Farbe des DCC-Status 'aktiv'
col_dcc_done Farbe Curses- oder Gtk-Farben 'lightgreen' Farbe des DCC-Status 'fertig'
col_dcc_failed Farbe Curses- oder Gtk-Farben 'lightred' Farbe des DCC-Status 'fehlgeschlagen'
col_dcc_aborted Farbe Curses- oder Gtk-Farben 'lightred' Farbe des DCC-Status 'abgebrochen'
history_max_lines Ganzzahl zwischen 0 und 2147483647 4096 Maximale Anzahl der Zeilen im Verlauf eines Server-, Channel- oder Queryfensters (0: kein Limit)
history_max_commands Ganzzahl zwischen 0 und 2147483647 100 Maximale Anzahl an Befehlen im Verlauf (0: kein Limit)
history_display_default Ganzzahl zwischen 0 und 2147483647 5 Maximale Anzahl der angezeigten Befehle im Verlauf (0: unbegrenzt)
log_auto_server Boolean zwischen 0 und 2147483647 'off' Automatisches Logging von Servermessages
log_auto_channel Boolean zwischen 0 und 2147483647 'off' Automatisches Logging von Channels
log_auto_private Boolean zwischen 0 und 2147483647 'off' Automatisches Logging von Queries
log_plugin_msg Boolean zwischen 0 und 2147483647 'off' Nachrichten von Skripten loggen
log_path Zeichenfolge eine beliebige Zeichenfolge '%h/logs/' Pfad für die WeeChat-Log-Dateien ('%h' wird durch WeeChat-Basisverzeichnis ersetztz, Voreinstellung ist ~/.weechat)
log_timestamp Zeichenfolge eine beliebige Zeichenfolge '%Y %b %d %H:%M:%S' Timestamp der Logdateien (siehe man strftime für die Syntax der Datum/Uhrzeit-Angaben)
log_hide_nickserv_pwd Boolean eine beliebige Zeichenfolge 'on' Von NickServ angezeigte Passwörter verstecken
irc_display_away Zeichenfolge 'off', 'local', 'channel' 'off' Bei Abwesenheit und Rückkehr eine Nachricht anzeigen
irc_show_away_once Boolean 'off', 'local', 'channel' 'on' In privaten Unterhaltungen nur einmalig eine Abwesenheitsnachricht anzeigen
irc_default_msg_part Zeichenfolge eine beliebige Zeichenfolge 'WeeChat %v' Standardnachricht beim Verlasseb eines Channels ('%v' wird durch die WeeChat-Version ersetzt)
irc_default_msg_quit Zeichenfolge eine beliebige Zeichenfolge 'WeeChat %v' Standardnachricht beim Beenden ('%v' wird durch die WeeChat-Version ersetzt)
irc_notice_as_pv Boolean eine beliebige Zeichenfolge 'off' NOTICEs als Queries anzeigen
irc_away_check Ganzzahl zwischen 0 und 2147483647 0 Intervall zwischen zwei Away-Checks (in Minuten, 0 = nie überprüfen)
irc_away_check_max_nicks Ganzzahl zwischen 0 und 2147483647 0 überprüfe Abwesenheitsnachrichten nur in Channels mit maximal dieser Anzahl an Nicknamen (0 = unbegrenzt)
irc_lag_check Ganzzahl zwischen 30 und 2147483647 60 Intervall zwischen zwei Lag-Messungen in Sekunden
irc_lag_min_show Ganzzahl zwischen 0 und 2147483647 1 Mindest-Lag, der angezeigt werden soll, in Sekunden
irc_lag_disconnect Ganzzahl zwischen 0 und 2147483647 5 Maximal-Lag bis zum Trennen der Verbindung (in Minuten - 0: nie trennen)
irc_anti_flood Ganzzahl zwischen 0 und 5 2 Anti-flood: # Sekunden zwischen zwei Benutzernachrichten (0 = kein anti-flood)
irc_fifo_pipe Boolean zwischen 0 und 5 'off' Einen FIFO zur Fernsteuerung des Clients von anderen Prozessen öffnen
irc_highlight Zeichenfolge eine beliebige Zeichenfolge '' Durch Kommata getrennte Liste der hervorzuhebenden Wörter (Groß-/Kleinschreibung wird nicht beachtet, die Wörter können mit "*" als Joker beginnen oder enden)
irc_colors_receive Boolean eine beliebige Zeichenfolge 'on' Wenn der Schalter deaktiviert ist, werden die Farben von eingehenden Nachrichten entfernt
irc_colors_send Boolean eine beliebige Zeichenfolge 'on' Allow user to send colors with special codes (^Cb=bold, ^Ccxx=color, ^Ccxx,yy=color+background, ^Cu=underline, ^Cr=reverse)
irc_send_unknown_commands Boolean eine beliebige Zeichenfolge 'off' Sende unbekannte Befehle an den IRC-Server
dcc_auto_accept_files Boolean eine beliebige Zeichenfolge 'off' DCC-Dateiübertragungen automatisch annehmen
dcc_auto_accept_chats Boolean eine beliebige Zeichenfolge 'off' DCC-CHats automatisch annehmen (Vorsicht!)
dcc_timeout Ganzzahl zwischen 5 und 2147483647 300 DCC-Timeout in Sekunden
dcc_blocksize Ganzzahl zwischen 1024 und 102400 65536 Blockgröße für DCCs
dcc_fast_send Boolean zwischen 1024 und 102400 'on' Warte beim Veschicken von Dateien nicht auf das ACK-Signal
dcc_port_range Zeichenfolge eine beliebige Zeichenfolge '' Beschränkt ausgehenden DCC auf die ausschließliche Benutzung von Ports in einem vorgegebenen Bereich (hilfreich bei NAT) (Syntax: ein einzelner Port, z.B. 5000, oder eine Port-Bereich, z.B. 5000-5015,wenn kein Bereich angegeben ist, ist jeder Port möglich)
dcc_own_ip Zeichenfolge eine beliebige Zeichenfolge '' IP- oder DNS-Adresse für ausgehenden DCC (wenn kein Wert angegeben wird, wird die IP des lokalen Interfaces benutzt)
dcc_download_path Zeichenfolge eine beliebige Zeichenfolge '%h/dcc' Pfad für per DCC eingehende Dateien (Standardwert: Homeverzeichnis)
dcc_upload_path Zeichenfolge eine beliebige Zeichenfolge '~' Pfad, aus dem Dateien standardmäßig gelesen werden, wenn keine explizite Angabe vorliegt
dcc_convert_spaces Boolean eine beliebige Zeichenfolge 'on' Leerzeichen in Unterstriche umwandeln beim Veschicken von Dateien
dcc_auto_rename Boolean eine beliebige Zeichenfolge 'on' Eingehende Dateien automatisch umbenennen, falls nötig, um Überschreiben zu vermeiden (durch Hinzufügen von '.1', '.2', ...)
dcc_auto_resume Boolean eine beliebige Zeichenfolge 'on' Abgebrochene Übertragungen automatisch fortsetzen, wenn die Verbindung abgebrochen ist
proxy_use Boolean eine beliebige Zeichenfolge 'off' Einen Proxyserver verwenden, um die Verbindung zum IRC-Server aufzubauen
proxy_type Zeichenfolge 'http', 'socks4', 'socks5' 'http' Proxytyp (http (Standard), socks4, socks5)
proxy_ipv6 Boolean 'http', 'socks4', 'socks5' 'off' Verbindung zum Proxy über IPv6 aufbauen
proxy_address Zeichenfolge eine beliebige Zeichenfolge '' Adresse des Proxyservers (IP oder Hostname)
proxy_port Ganzzahl zwischen 0 und 65535 3128 Port, auf dem der Proxyserver läuft
proxy_username Zeichenfolge eine beliebige Zeichenfolge '' Benutzername für die Proxyverbindung
proxy_password Zeichenfolge eine beliebige Zeichenfolge '' Passwort für die Proxyverbindung
plugins_path Zeichenfolge eine beliebige Zeichenfolge '%h/plugins' Suchpfad für WeeChat-Plugins ('%h' wird durch das WeeChat-Basisiverzeichnis ersetzt, voreingestellt ist ~/.weechat)
plugins_autoload Zeichenfolge eine beliebige Zeichenfolge '*' Kommagetrennte Liste der Plugins, die beim Start automatisch geladen werden sollen, "*" lädt alle gefundenen Plugins (es können auch Teile des Namens angegeben werden, "perl" lädt z.B. auch "libperl.so")
plugins_extension Zeichenfolge eine beliebige Zeichenfolge '.so' Standard-Dateinamenserweiterung für Plugins, wird für das automatische Laden verwendet (wenn kein Wert angegeben ist und der Wert für das automatische Laden "*" ist, werden alle Dateien geladen)
server_name Zeichenfolge eine beliebige Zeichenfolge '' Mit dem IRC-Server assoziierter eindeutiger Name (nur zur Anzeige)
server_autoconnect Boolean eine beliebige Zeichenfolge 'on' Automatisch mit dem Server verbinden, wenn WeeChat gestartet wird
server_autoreconnect Boolean eine beliebige Zeichenfolge 'on' Die Verbindung nach Trennung automatisch wiederherstellen
server_autoreconnect_delay Ganzzahl zwischen 0 und 65535 30 Zeit in Sekunden, die gewartet wird, bevor ein Verbindungsneuaufbau versucht wird
server_address Zeichenfolge eine beliebige Zeichenfolge '' IP-Adresse oder Hostname des IRC-Servers
server_port Ganzzahl zwischen 0 und 65535 6667 Port, auf dem der IRC-Server läuft
server_ipv6 Boolean zwischen 0 und 65535 'off' Server über IPv6 ansprechen
server_ssl Boolean zwischen 0 und 65535 'off' Server über SSL ansprechen
server_password Zeichenfolge eine beliebige Zeichenfolge '' Passwort für den IRC-Server
server_nick1 Zeichenfolge eine beliebige Zeichenfolge '' Eigener Nickname, der auf dem IRC-Server benutzt werden soll
server_nick2 Zeichenfolge eine beliebige Zeichenfolge '' Alternativer Nickname, der auf dem IRC-Server benutzt werden soll, wenn der erste Kandidat bereits benutzt wird
server_nick3 Zeichenfolge eine beliebige Zeichenfolge '' 2. alternativer Nickname, der auf dem IRC-Server benutzt werden soll, wenn der erste alternative Nickname bereits benutzt wird
server_username Zeichenfolge eine beliebige Zeichenfolge '' Benutzername, der an den Server übermittelt werden soll
server_realname Zeichenfolge eine beliebige Zeichenfolge '' Voller Name, der an den Server übermittelt werden soll
server_hostname Zeichenfolge eine beliebige Zeichenfolge '' Angepasster Hostname oder angepasste IP-Adresse für den Server (wenn nichts eingetragen ist, wird der lokale Hostname verwendet)
server_command Zeichenfolge eine beliebige Zeichenfolge '' Befehle, die nach der Verbindung zum Server ausgeführt werden sollen (mehrere Befehle müssen mit einem Semikolon getrennt werden, um ein Semikolon zu schreiben, muss man '\;' verwenden, die spezielllen Variablen $nick, $channel und $server werden dabei durch den jeweiligen Wert ersetzt)
server_command_delay Ganzzahl zwischen 0 und 3600 0 Wartezeit in Sekunden nach Ausführung des Befehls, um z.B. eine Authentifizierung zu ermöglichen
server_autojoin Zeichenfolge eine beliebige Zeichenfolge '' Durch Kommata getrennte Liste der Channels, die beim Verbinden zum Server betreten werden sollen (Beispiel: "#chan1,#chan2,#chan3 key1,key2")
server_autorejoin Boolean eine beliebige Zeichenfolge 'on' Channels nach Kick automatisch wieder betreten, falls möglich
server_notify_levels Zeichenfolge eine beliebige Zeichenfolge '' Durch Kommata getrennte Liste der Notify-Levels für die Channels auf diesem Server (Format: #channel:1,...), der Channelname '*' ist für den Default-Server-Notify-Level

Farben für die Curses GUI:

Schlüsselwort Farbe
default default Farbe (Transparent für den Hintergrund)
black Schwarz
red dunkles Rot
lightred helles Rot
green dunkles Grün
lightgreen helles Grün
brown Braun
yellow Gelb
blue dunkles Blau
lightblue helles Blau
magenta dunkles Magenta
lightmagenta helles Magenta
cyan dunkles Cyan
lightcyan helles Cyan
white Weiss

Remote-Schnittstelle (FIFO pipe)

Sie können WeeChat auch extern steuern, indem sie Kommandos oder Text an eine sogen. pipe übergeben (sie müssen die Option "irc_fifo_pipe" anschalten, die normalerweise abgeschaltet ist).

Diese pipe liegt in "~/.weechat/" und hat den Namen "weechat_fifo_xxxxx" (das xxxxx ist die Prozess-ID (PID) eines laufenden WeeChat). Wenn mehrere Instanzen von WeeChat laufen, sind mehrere pipes vorhanden, eine für jede Instanz.

Der Syntax für ein pipe-Kommando ist:

server,channel *Text oder Kommando

wobei Server und Channel optional sind, aber wenn der Channel angegeben ist, muss der Server auch angegeben werden.

Einige Beispiele:

  • Ändern des Nicks auf freenode in "mynick|out" :

    $ echo 'freenode */nick mynick|out' >~/.weechat/weechat_fifo_12345

  • Senden einer Nachricht an #weechat:

    $ echo 'freenode,#weechat *hello everybody!' >~/.weechat/weechat_fifo_12345

  • Senden einer Nachricht an den gegenwärtigen Channel (Puffer, der in WeeChat angezeigt wird):

    $ echo '*hello!' >~/.weechat/weechat_fifo_12345

    Warnung: Das ist gefährlich und sie sollten das nicht tun, ausgenommen sie wissen was sie tun!

  • Sende zwei Kommandos um (alle) Perl-Skripte abzuschalten/neu zu laden (getrennt durch ein "\n"):

    $ echo -e "freenode */perl unload\nfreenode */perl autoload" >~/.weechat/weechat_fifo_12345

Sie können ein Skript schreiben, um ein Kommando an alle laufenden WeeChat-Instanzen zu senden, zum Beispiel:

#!/bin/sh
if [ $# -eq 1 ]; then
    for fifo in ~/.weechat/weechat_fifo_*
    do
        echo -e "$1" >$fifo
    done
fi

Wenn das Skript "auto_weechat_command" heisst, können sie es folgendermassen aufrufen:

$ ./auto_weechat_command "freenode,#weechat *hello"

Kapitel 4. Plugins

Dieses Kapitel beschreibt das Plugin-Interface (API) in WeeChat und die Standard-Skriptplugins (Perl, Python, Ruby, Lua), die zu WeeChat gehören.

Plugins in WeeChat

Ein Plugin ist ein C-Programm, dass WeeChat-Funktionen aufrufen kann, die in einem Interface definiert sind.

Dieses C-Programm braucht nicht den Quellcode von WeeChat (aber die API-Beschreibung) und kann dynamisch mit dem folgenden Kommando in WeeChat geladen werden /plugin.

Das Plugin muss in Form einer dynamischen Bibliothek vorliegen, damit es das Betriebssystem dynamisch laden kann. Unter GNU/Linux besitzt die Datei die Endung ".so", unter Windows ".dll".

Ein Plugin schreiben

Das Plugin muss die Datei "weechat-plugin.h" einbinden (verfügbar im WeeChat-Quellcode). Diese Datei definiert die Strukturen und Typen um mit WeeChat zu kommunizieren.

Das Plugin muss einige Variablen und Funktionen besitzen (nötig, sonst kann das Plugin nicht geladen werden):

Variable Beschreibung
char plugin_name[] Plugin Name
char plugin_version[] Plugin Version
char plugin_description[] kurze Beschreibung des Plugins

Funktion Beschreibung
int weechat_plugin_init (t_weechat_plugin *plugin) Die Funktion wird aufgerufen, wenn das Plugin geladen wird. Sie muss bei Erfolg PLUGIN_RC_OK, bei Fehlschlag PLUGIN_RC_KO zurückgeben. (Bei einem Fehler wird das Plugin nicht geladen)
void weechat_plugin_end (t_weechat_plugin *plugin) Funktion wird beim Abschalten aufgerufen

API Funktionen

set_charset

Prototyp: void set_charset (t_weechat_plugin *plugin, char *charset)

Legt neuen Zeichensatz für ein Plugin fest.

Argumente:

  • plugin: Zeiger auf Plugin-Struktur

  • charset: neuer Zeichensatz, der benutzt werden soll

Beispiel:

plugin->set_charset (plugin, "ISO-8859-1");

iconv_to_internal

Prototyp: void iconv_to_internal (t_weechat_plugin *plugin, char *charset, char *string)

Konvertiert eine Zeichenkette in das interne Format von WeeChat (UTF-8).

Argumente:

  • plugin: Zeiger auf Plugin-Struktur

  • charset: ursprünglicher Zeichensatz, von dem konvertiert werden soll

  • string: zu konvertierende Zeichenkette

Rückgabewert: konvertierte Zeichenkette

Anmerkung: der Speicher, der durch das Ergebnis belegt wird, muss mit free() wieder freigegeben werden.

Beispiel:

char *str = plugin->iconv_to_internal (plugin, "ISO-8859-1", "iso string: é à");

iconv_from_internal

Prototyp: void iconv_from_internal (t_weechat_plugin *plugin, char *charset, char *string)

Konvertiert eine Zeichenkette von dem internen WeeChat-Zeichensatz (UTF-8) in einen anderen.

Argumente:

  • plugin: Zeiger auf Plugin-Struktur

  • charset: Ziel-Zeichensatz

  • string: zu konvertierende Zeichenkette

Rückgabewert: konvertierte Zeichenkette

Anmerkung: der Speicher, der durch das Ergebnis belegt wird, muss mit free() wieder freigegeben werden.

Beispiel:

char *str = plugin->iconv_from_internal (plugin, "ISO-8859-1", "utf-8 string: é à");

ascii_strcasecmp

Prototyp: int ascii_strcasecmp (t_weechat_plugin *plugin, char *string1, char *string2)

Vergleich von Zeichenketten unabhängig von Sprache und Schreibweise (gross/klein).

Argumente:

  • plugin: Zeiger auf Plugin-Struktur

  • string1: erste Zeichenkette des Vergleichs

  • string2: zweite Zeichenkette des Vergleichs

Rückgabewert: Unterschied zwischen den zwei Zeichenketten: kleiner Null wenn string1 < string2, Null wenn string1 == string2, grösser Null wenn string1 > string2

Beispiel:

if (plugin->ascii_strcasecmp (plugin, "abc", "def") != 0) ...

ascii_strncasecmp

Prototyp: int ascii_strncasecmp (t_weechat_plugin *plugin, char *string1, char *string2, int max)

Vergleich von Zeichenketten unabhängig von Sprache und Schreibweise (gross/klein) für höchstens "max" Zeichen.

Argumente:

  • plugin: Zeiger auf Plugin-Struktur

  • string1: erste Zeichenkette des Vergleichs

  • string2: zweite Zeichenkette des Vergleichs

  • max: maximale Zahl an Zeichen für den Vergleich

Rückgabewert: Unterschied zwischen den zwei Zeichenketten: kleiner Null wenn string1 < string2, Null wenn string1 == string2, grösser Null wenn string1 > string2

Beispiel:

if (plugin->ascii_strncasecmp (plugin, "abc", "def", 2) != 0) ...

explode_string

Prototyp: char **explode_string (t_weechat_plugin *plugin, char *string, char *separators, int num_items_max, int *num_items)

Zerlege eine Zeichenkette entsprechend eines oder mehrerer Trennzeichen(s).

Argumente:

  • plugin: Zeiger auf eine Plugin-Struktur

  • string: zu zerlegende Zeichenkette

  • separators: zu verwendende(s) Trennzeichen

  • num_items_max: maximale Anzahl an zu erzeugenden Teilen (0 = keine Grenze)

  • num_items: Zeiger auf eine int-Variable, die die Anzahl der erzeugten Teile enthält

Rückgabewert: ein Array von Zeichenketten, NULL bei Fehlern.

Hinweis: Das zurückgegebene Array muss nach der Benutzung mittels "free_exloded_string" explizit freigegeben werden.

Beispiel:

char **argv;
int argc;
argv = plugin->explode_string (plugin, string, " ", 0, &argc);
...
if (argv != NULL)
    plugin->free_exploded_string (plugin, argv);

free_exploded_string

Prototyp: char **free_exploded_string (t_weechat_plugin *plugin, char **string)

Gib ein Array frei, dass infolge der Zerlegung eines Strings reserviert wurde.

Argumente:

  • plugin: Zeiger auf eine Plugin-Struktur

  • string: ein Array von Strings

Rückgabewert: keiner (?).

Beispiel:

char *argv;
int argc;
argv = plugin->explode_string (plugin, string, " ", 0, &argc);
...
if (argv != NULL)
    plugin->free_exploded_string (plugin, argv);

mkdir_home

Prototyp: int mkdir_home (t_weechat_plugin *plugin, char *directory)

Erzeugt ein Verzeichnis im WeeChat-Verzeichnis.

Argumente:

  • plugin: Zeiger auf Pluginstrukur

  • directory: Verzeichnis, das erzeugt werden soll

Rückgabewert: 1 wenn das Verzeichnis erfolgreich erstellt wurde, 0 wenn ein Fehler aufgetreten ist.

Beispiel:

if (!plugin->mkdir_home (plugin, "temp"))
    plugin->print_server(plugin, "Konnte 'temp'-Verzeichnis im WeeChat-Verzeichnis nicht erstellen.");

exec_on_files

Prototyp: void exec_on_files (t_weechat_plugin *plugin, char *repertoire, int (*callback)(t_weechat_plugin *, char *))

Führe eine Funktion auf allen Dateien eines Verzeichnisses aus.

Argumente:

  • plugin: Zeiger auf eine Plugin-Struktur

  • directory: Verzeichnis der zu verwendenden Dateien

  • callback: die anzuwendende Funktion

Rückgabewert: keiner.

Beispiel:

int callback (t_weechat_plugin *plugin, char *file)
{
    plugin->print_server (plugin, "file: %s", file);
    return 1;
}
...
plugin->exec_on_files (plugin, "/tmp", &callback);

print

Prototyp: void print (t_weechat_plugin *plugin, char *server, char *channel, char *message, ...)

Sende eine Nachricht an einen WeeChat-Puffer, bezeichnet durch server und channel (beide können NULL sein, dann wird der aktuelle Puffer verwendet).

Argumente:

  • plugin: Zeiger auf Plugin-Struktur

  • server: interner Name des Servers, zu welchem der Puffer gehört, in dem die Nachricht angezeigt werden soll (kann NULL sein)

  • channel: Name des Channels, in dem die Nachricht angezeigt werden soll (kann NULL sein)

  • message: Nachricht

To display colored text, there are following codes:

Code Description
0x02 bold text
0x03 + "xx" text color "xx" (see „get_irc_color“ for colors)
0x03 + "xx,yy" text color "xx" and background "yy" (see „get_irc_color“ for colors)
0x0F disable color and attributes
0x12 reverse video (revert text color with background)
0x1F underlined text

Note: the same code (without number for 0x03) may be used to stop the attribute.

Rückgabewert: keiner.

Beispiele:

plugin->print (plugin, NULL, NULL, "hello");
plugin->print (plugin, NULL, "#weechat", "hello");
plugin->print (plugin, "freenode", "#weechat", "hello");
plugin->print (plugin, NULL, NULL,
               "Test: \x02 Fett \x0F\x03%02d Blau \x03%02d Grün",
               plugin->get_irc_color (plugin, "blue"),
               plugin->get_irc_color (plugin, "green"));

print_server

Prototyp: void print_server (t_weechat_plugin *plugin, char *message, ...)

Zeige eine Nachricht im aktuellen Server-Puffer.

Argumente:

  • plugin: Zeiger auf eine Plugin-Struktur

  • message: Nachricht

To display colored text, see