doc: use one line titles and less chars for delimited blocks/tables in asciidoc files

v2.8-utf8proc
Sebastien Helleu 2013-11-04 21:41:34 +01:00
parent f5a65c9b2b
commit e3c6384972
147 changed files with 11279 additions and 13354 deletions

View File

@ -1,5 +1,5 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
|===
| Erweiterung | Name | Beschreibung
| alias | alias | Liste der Alias
@ -130,4 +130,4 @@
| xfer | nick | Nicks vom DCC Chat
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="^1,^2,5,5,5",options="header"]
|========================================
|===
| Erweiterung | Name | Beschreibung | Pointer | Argumente
| alias | alias | Liste der Alias | Alias Pointer (optional) | Alias Name (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
@ -70,4 +70,4 @@
| xfer | xfer | Transferliste | Transferpointer (optional) | -
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="^1,^2,6,6",options="header"]
|========================================
|===
| Erweiterung | Name | Beschreibung | Argumente
| aspell | aspell_dict | durch Kommata getrennte Liste von Wörterbüchern, die in diesem Buffer genutzt werden sollen | Buffer-Pointer ("0x12345678") oder der vollständige Buffername ("irc.freenode.#weechat")
@ -62,4 +62,4 @@
| weechat | weechat_upgrading | 1 falls WeeChat ein Upgrade durchführt (Befehl `/upgrade`) | -
|========================================
|===

View File

@ -1,9 +1,9 @@
[width="100%",cols="^1,^2,6,6,6",options="header"]
|========================================
|===
| Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe)
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "host": Host, "command": Befehl, "channel": Channel, "arguments": Argumente (schließt Channel ein)
| irc | irc_message_split | dient zum Aufteilen einer überlangen IRC Nachricht (in maximal 512 Bytes große Nachrichten) | "message": IRC Nachricht, "server": Servername (optional) | "msg1" ... "msgN": Nachrichten die versendet werden sollen (ohne abschließendes "\r\n"), "args1" ... "argsN": Argumente für Nachrichten, "count": Anzahl der Nachrichten
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="2,^1,7",options="header"]
|========================================
|===
| Option | Type | Konstanten ^(1)^
| verbose | long |
@ -298,4 +298,4 @@
| new_directory_perms | long |
|========================================
|===

View File

@ -1,7 +1,7 @@
[[command_alias_alias]]
[command]*`alias`* Einem Befehl wird ein Alias zugewiesen::
----------------------------------------
----
/alias [-completion <completion>] <alias> [<command> [;<command>...]]
completion: optionale Vervollständigung für einen Alias-Befehl (Standardverhalten: Vervollständigung wird auf den Zielbefehl angewendet)
@ -30,5 +30,5 @@ Beispiele:
/alias hallo /allchan -exclude=#weechat msg * Hallo
Alias "/forcejoin" wird angelegt um den IRC Befehl "forcejoin" mit einer Vervollständigung von /sajoin auszuführen:
/alias -completion %%sajoin forcejoin /quote forcejoin
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_aspell_aspell]]
[command]*`aspell`* Konfiguration für Aspell-Erweiterung::
----------------------------------------
----
/aspell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
@ -23,5 +23,5 @@ Um Aspell auf alle Buffer anzuwenden sollte die Option "default_dict" genutzt un
/aspell enable
Die Standardtastaturbelegung zum Umschalten der Aspell Funktionalität lautet alt-s.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_charset_charset]]
[command]*`charset`* Ändert den Zeichensatz für aktuellen Buffer::
----------------------------------------
----
/charset decode|encode <charset>
reset
@ -9,5 +9,5 @@
encode: ändere Zeichensatz zum kodieren
charset: wähle neuen Zeichensatz für aktuellen Buffer
reset: setze im aktuellen Buffer den Zeichensatz zurück
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_guile_guile]]
[command]*`guile`* auflisten/installieren/deinstallieren von Skripten::
----------------------------------------
----
/guile list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: Skript (Datei) welches geladen werden soll
-q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.
----------------------------------------
----

View File

@ -1,16 +1,16 @@
[[command_irc_admin]]
[command]*`admin`* Information über den Server-Administrator abfragen::
----------------------------------------
----
/admin [<target>]
target: Server
----------------------------------------
----
[[command_irc_allchan]]
[command]*`allchan`* Führt einen Befehl aus der an alle Channels gesendet wird, die mit einem Server verbunden sind::
----------------------------------------
----
/allchan [-current] [-exclude=<channel>[,<channel>...]] <command> [<arguments>]
-current: führt einen Befehl aus der an alle Channels des aktuellen Servers gesendet wird
@ -25,12 +25,12 @@ Beispiele:
/allchan -exclude=#weechat msg * Hallo Welt
Schicke 'Hallo Welt' an jeden Channel, ausgenommen an den #weechat Channel und Channels die mit #linux beginnen:
/allchan -exclude=#weechat,#linux* msg * Hallo Welt
----------------------------------------
----
[[command_irc_allserv]]
[command]*`allserv`* führt einen Befehl aus, der zu allen verbundenen Server gesendet wird::
----------------------------------------
----
/allserv [-exclude=<server>[,<server>...]] <command> [<arguments>]
-exclude: dient zum Ausschluss ausgewählter Server ('*' wird zu Beginn oder am Ende des Servernamens akzeptiert, um mehrere Server auszuschließen)
@ -44,24 +44,24 @@ Beispiele:
/allserv away I'm away
führt ein whois mit meinem nick auf allen Servern aus:
/allserv whois $nick
----------------------------------------
----
[[command_irc_ban]]
[command]*`ban`* Nicknamen oder Hosts sperren/verbannen::
----------------------------------------
----
/ban [<channel>] [<nick> [<nick>...]]
channel: Channel in dem der Bann ausgeführt werden soll
nick: User oder Host für den der Bann gelten soll
Ohne Angabe von Argumenten wird die Ban-Liste für den aktuellen Channel angezeigt.
----------------------------------------
----
[[command_irc_connect]]
[command]*`connect`* Mit IRC-Server(n) verbinden::
----------------------------------------
----
/connect <server> [<server>...] [-<option>[=<value>]] [-no<option>] [-nojoin] [-switch]
-all|-auto|-open [-nojoin] [-switch]
@ -85,33 +85,33 @@ Beispiele:
/connect my.server.org/6697 -ssl -password=test
/connect irc://nick@irc.oftc.net/#channel
/connect -switch
----------------------------------------
----
[[command_irc_ctcp]]
[command]*`ctcp`* CTCP-Nachricht verschicken::
----------------------------------------
----
/ctcp <target> <type> [<arguments>]
target: User oder Channel an welchen eine CTCP-Nachricht geschickt werden soll
type: CTCP-Nachricht (z.B. "version", "ping", ..)
arguments: Argumente für CTCP
----------------------------------------
----
[[command_irc_cycle]]
[command]*`cycle`* Einen Channel verlassen und wieder betreten::
----------------------------------------
----
/cycle [<channel>[,<channel>...]] [<message>]
channel: Name des Channels
message: Nachricht beim Verlassen des Channels (wird den anderen Usern im Channel angezeigt)
----------------------------------------
----
[[command_irc_dcc]]
[command]*`dcc`* Startet DCC Verbindung (Datentransfer oder einen Direktchat)::
----------------------------------------
----
/dcc chat <nick>
send <nick> <file>
@ -123,76 +123,76 @@ Beispiel:
/dcc chat toto
Sendet die Datei "/home/foo/bar.txt" an den User "toto"
/dcc send toto /home/foo/bar.txt
----------------------------------------
----
[[command_irc_dehalfop]]
[command]*`dehalfop`* halb-Operator-Privilegien einem oder mehreren Nick(s) entziehen::
----------------------------------------
----
/dehalfop <nick> [<nick>...]
nick: Nick oder Maske (darf mit einem "*" als Platzhalter beginnen oder enden)
*: entzieht allen Nicks im Channel den half-operator-Status, ausgenommen sich selber
----------------------------------------
----
[[command_irc_deop]]
[command]*`deop`* Operator-Privilegien einem oder mehreren Nicknamen entziehen::
----------------------------------------
----
/deop <nick> [<nick>...]
* -yes
nick: Nick oder Maske (darf mit einem "*" als Platzhalter beginnen oder enden)
*: entzieht allen Nicks im Channel den Operator-Status, ausgenommen sich selber
----------------------------------------
----
[[command_irc_devoice]]
[command]*`devoice`* Voice-Privilegien einem oder mehreren Nicknamen entziehen::
----------------------------------------
----
/devoice <nick> [<nick>...]
* -yes
nick: Nick oder Maske (darf mit einem "*" als Platzhalter beginnen oder enden)
*: entzieht allen Nicks im Channel den voice-Status
----------------------------------------
----
[[command_irc_die]]
[command]*`die`* Server herunterfahren::
----------------------------------------
----
/die [<target>]
target: Servername
----------------------------------------
----
[[command_irc_disconnect]]
[command]*`disconnect`* Verbindung zu einem oder mehreren IRC-Server(n) trennen::
----------------------------------------
----
/disconnect [<server>|-all|-pending [<reason>]]
server: Name des Servers zu dem die Verbindung getrennt werden soll
-all: Verbindung zu allen Servern trennen
-pending: bricht eine automatische Wiederverbindung für Server ab, zu denen gerade eine Wiederverbindung aufgebaut werden soll
reason: Begründung der Trennung
----------------------------------------
----
[[command_irc_halfop]]
[command]*`halfop`* halb-Operator Status an Nick(s) vergeben::
----------------------------------------
----
/halfop <nick> [<nick>...]
* -yes
nick: Nick oder Maske (darf mit einem "*" als Platzhalter beginnen oder enden)
*: vergibt an alle Nicks im Channel den half-operator-Status
----------------------------------------
----
[[command_irc_ignore]]
[command]*`ignore`* Ignoriert Nicks/Hosts von Channels oder Servern::
----------------------------------------
----
/ignore list
add [re:]<nick> [<server> [<channel>]]
del <number>|-all
@ -215,40 +215,40 @@ Beispiele:
/ignore add toto@domain.com freenode
ignoriert den Host "toto*@*.domain.com" im Chat freenode/#weechat:
/ignore add toto*@*.domain.com freenode #weechat
----------------------------------------
----
[[command_irc_info]]
[command]*`info`* Information über den Server abfragen::
----------------------------------------
----
/info [<target>]
target: Servername
----------------------------------------
----
[[command_irc_invite]]
[command]*`invite`* Eine Person in einen Channel einladen::
----------------------------------------
----
/invite <nick> [<nick>...] [<channel>]
nick: Nick welcher eingeladen werden soll
channel: Channel für den die Einladung gelten soll
----------------------------------------
----
[[command_irc_ison]]
[command]*`ison`* Überprüft ob ein Nick gegenwärtig auf IRC angemeldet ist::
----------------------------------------
----
/ison <nick> [<nick>...]
nick: Nickname
----------------------------------------
----
[[command_irc_join]]
[command]*`join`* einen Channel betreten::
----------------------------------------
----
/join [-noswitch] [-server <server>] [<channel1>[,<channel2>...]] [<key1>[,<key2>...]]
-noswitch: es wird nicht zu dem angegebenen Channel gewechselt
@ -261,23 +261,23 @@ Beispiele:
/join #geschützter_Channel,#weechat Zugriffsschlüssel
/join -server freenode #weechat
/join -noswitch #weechat
----------------------------------------
----
[[command_irc_kick]]
[command]*`kick`* Einen User aus einem Channel herauswerfen::
----------------------------------------
----
/kick [<channel>] <nick> [<reason>]
channel: Channel in dem der Benutzers sich befindet
nick: Nick der rausgeworfen werden soll
reason: Begründung für den Rauswurf (Variablen die genutzt werden können: $nick, $channel und $server)
----------------------------------------
----
[[command_irc_kickban]]
[command]*`kickban`* wirft jemanden aus dem Channel und verbannt ihn::
----------------------------------------
----
/kickban [<channel>] <nick> [<reason>]
channel: Channel in dem sich der User befindet
@ -289,32 +289,32 @@ Es ist möglich kick/ban mittels einer Maske durchzuführen. Der Nick wird aus d
Beispiel:
Sperre "*!*@host.com" und kicke dann "toto":
/kickban toto!*@host.com
----------------------------------------
----
[[command_irc_kill]]
[command]*`kill`* Beende Client-Server Verbindung::
----------------------------------------
----
/kill <nick> <reason>
nick: Nickname, der Person, die rausgeworfen werden soll
reason: Begründung für den Rauswurf
----------------------------------------
----
[[command_irc_links]]
[command]*`links`* alle Servernamen auflisten die dem antwortenden Server bekannt sind::
----------------------------------------
----
/links [[<server>] <server_mask>]
server: dieser Server soll die Anfrage beantworten
server_mask: die aufzulistenden Server sollen diesem Muster entsprechen
----------------------------------------
----
[[command_irc_list]]
[command]*`list`* Channels mit ihrem Thema auflisten::
----------------------------------------
----
/list [<channel>[,<channel>...]] [<server>] [-re <regex>]
channel: aufzulistender Channel
@ -328,37 +328,37 @@ Beispiele:
/list #weechat
listet alle Channels auf die mit "#weechat" beginnen (dies kann bei großen Netzwerken sehr lange dauern):
/list -re #weechat.*
----------------------------------------
----
[[command_irc_lusers]]
[command]*`lusers`* Statistik über die Größe des IRC-Netzwerks abfragen::
----------------------------------------
----
/lusers [<mask> [<target>]]
mask: ausschließlich Server, die diesem Muster entsprechen
target: Server, der die Anfrage weiterleiten soll
----------------------------------------
----
[[command_irc_map]]
[command]*`map`* Zeigt das IRC Netzwerk, in Form einer Baumstruktur, an::
----------------------------------------
----------------------------------------
----
----
[[command_irc_me]]
[command]*`me`* eine CTCP ACTION an den aktuellen Channel senden::
----------------------------------------
----
/me <message>
message: zu sendende Nachricht
----------------------------------------
----
[[command_irc_mode]]
[command]*`mode`* Modus von einem Channel oder User ändern::
----------------------------------------
----
/mode [<channel>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<arguments>]
<nick> [+|-]i|s|w|o
@ -390,62 +390,62 @@ Beispiele:
/mode #weechat +t
um sich auf dem Server unsichtbar machen:
/mode nick +i
----------------------------------------
----
[[command_irc_motd]]
[command]*`motd`* Die "Mitteilung des Tages" abfragen::
----------------------------------------
----
/motd [<target>]
target: Servername
----------------------------------------
----
[[command_irc_msg]]
[command]*`msg`* Nachricht an Nick/Channel verschicken::
----------------------------------------
----
/msg [-server <server>] <target>[,<target>...] <text>
server: schicke an diesen Server (interner Servername)
target: Nick oder Channel (darf eine Maske sein, '*' = aktueller Channel)
text: zu sendender Text
----------------------------------------
----
[[command_irc_names]]
[command]*`names`* Nicknamen in Channels auflisten::
----------------------------------------
----
/names [<channel>[,<channel>...]]
channel: Name des Channels
----------------------------------------
----
[[command_irc_nick]]
[command]*`nick`* derzeitigen Nicknamen ändern::
----------------------------------------
----
/nick [-all] <nick>
-all: Nickname auf allen verbundenen Servern ändern
nick: neuer Nickname
----------------------------------------
----
[[command_irc_notice]]
[command]*`notice`* Mitteilung (notice) an einen User verschicken::
----------------------------------------
----
/notice [-server <server>] <target> <text>
server: an diesen Server senden (interner Name)
target: Nickname oder Channel
text: zu sendender Text
----------------------------------------
----
[[command_irc_notify]]
[command]*`notify`* fügt eine Benachrichtigung für An- oder Abwesenheit von Nicks auf Servern hinzu::
----------------------------------------
----
/notify add <nick> [<server> [-away]]
del <nick>|-all [<server>]
@ -465,96 +465,96 @@ Beispiele:
/notify add toto freenode
Benachrichtigung falls "toto" den Befehl away am freenode Server nutzt:
/notify add toto freenode -away
----------------------------------------
----
[[command_irc_op]]
[command]*`op`* Channel-Operator Status an Nicknamen vergeben::
----------------------------------------
----
/op <nick> [<nick>...]
* -yes
nick: Nick oder Maske (darf mit einem "*" als Platzhalter beginnen oder enden)
*: vergibt an alle Nicks im Channel den Operator-Status
----------------------------------------
----
[[command_irc_oper]]
[command]*`oper`* Operator Privilegien anfordern::
----------------------------------------
----
/oper <user> <password>
user: Username
password: Passwort
----------------------------------------
----
[[command_irc_part]]
[command]*`part`* Einen Channel verlassen::
----------------------------------------
----
/part [<channel>[,<channel>...]] [<message>]
channel: Name des Channels welcher verlassen werden soll
message: Abschiedsnachricht (wird anderen Usern angezeigt)
----------------------------------------
----
[[command_irc_ping]]
[command]*`ping`* sendet einen Ping an den Server::
----------------------------------------
----
/ping <server1> [<server2>]
server1: Server
server2: Ping an diesen Server weiterleiten
----------------------------------------
----
[[command_irc_pong]]
[command]*`pong`* Auf Ping antworten::
----------------------------------------
----
/pong <daemon> [<daemon2>]
Daemon: Daemon welcher auf die Ping-Nachricht geantwortet hat
Daemon2: Nachricht an diesen Daemon weiterleiten
----------------------------------------
----
[[command_irc_query]]
[command]*`query`* Eine private Nachricht an einen Nick schicken::
----------------------------------------
----
/query [-server <server>] <nick>[,<nick>...] [<text>]
server: an diesen Server senden (interner Name)
nick: Nickname für privaten Chat
text: Text der gesendet werden soll
----------------------------------------
----
[[command_irc_quiet]]
[command]*`quiet`* Nicks oder Hosts das Wort entziehen (User können im Channel erst schreiben, wenn sie "+v" oder höher besitzen)::
----------------------------------------
----
/quiet [<channel>] [<nick> [<nick>...]]
channel: Channel in dem jemanden das Wort entzogen werden soll
nick: User oder Host dem das Wort entzogen werden soll
Ohne Angabe von Argumenten wird, für den aktuellen Channel, eine Liste ausgegeben mit den User/Hosts denen das Wort entzogen worden ist.
----------------------------------------
----
[[command_irc_quote]]
[command]*`quote`* Daten direkt an Server senden (siehe RFC 2812)::
----------------------------------------
----
/quote [-server <server>] <data>
server: an diesen Server senden (interner Name wird genutzt)
data: unbearbeitete (RAW) Daten die gesendet werden sollen
----------------------------------------
----
[[command_irc_reconnect]]
[command]*`reconnect`* Mit einem oder mehreren Server(n) erneut verbinden::
----------------------------------------
----
/reconnect <server> [<server>...] [-nojoin] [-switch]
-all [-nojoin] [-switch]
@ -562,80 +562,80 @@ data: unbearbeitete (RAW) Daten die gesendet werden sollen
-all: mit allen Servern neu verbinden
-nojoin: Channels werden nicht betreten (auch falls autojoin für diesen Server aktiviert ist)
-switch: wechselt zur nächsten Server-Adresse
----------------------------------------
----
[[command_irc_rehash]]
[command]*`rehash`* Den Server auffordern seine Konfigurationsdatei neu zu laden::
----------------------------------------
----
/rehash [<option>]
option: zusätzliche Option, die von manchen Servern berücksichtigt wird
----------------------------------------
----
[[command_irc_restart]]
[command]*`restart`* Server dazu bringen sich selbst neu zu starten::
----------------------------------------
----
/restart [<target>]
target: Servername
----------------------------------------
----
[[command_irc_sajoin]]
[command]*`sajoin`* zwingt einen User einen oder mehrere Channel zu betreten::
----------------------------------------
----
/sajoin <nick> <channel>[,<channel>...]
nick: Nickname
channel: Name des Channels
----------------------------------------
----
[[command_irc_samode]]
[command]*`samode`* Ändert den Modus des Channels ohne das Operator-Privilegien vorliegen::
----------------------------------------
----
/samode <channel> <mode>
Channel: Name des Channel
Mode: neuer Modus für Channel
----------------------------------------
----
[[command_irc_sanick]]
[command]*`sanick`* Zwingt einen User den Nick zu ändern::
----------------------------------------
----
/sanick <nick> <new_nick>
nick: Nickname
new_nick: neuer Nickname
----------------------------------------
----
[[command_irc_sapart]]
[command]*`sapart`* Zwingt einen User den oder die Channel(s) zu verlassen::
----------------------------------------
----
/sapart <nick> <channel>[,<channel>...]
nick: Nickname
channel: Name des Channels
----------------------------------------
----
[[command_irc_saquit]]
[command]*`saquit`* Zwingt einen User den Server mit Begründung zu verlassen::
----------------------------------------
----
/saquit <nick> <reason>
nick: Nickname
reason: Grund der Abmeldung
----------------------------------------
----
[[command_irc_server]]
[command]*`server`* Auflisten, Hinzufügen oder Entfernen von IRC-Servern::
----------------------------------------
----
/server list|listfull [<server>]
add <server> <hostname>[/<port>] [-temp] [-<option>[=<value>]] [-no<option>]
copy|rename <server> <new_name>
@ -668,179 +668,179 @@ Beispiele:
/server rename oftc newoftc
/server del freenode
/server deloutq
----------------------------------------
----
[[command_irc_service]]
[command]*`service`* Einen neuen Service eintragen::
----------------------------------------
----
/service <nick> <reserved> <distribution> <type> <reserved> <info>
distribution: Sichtbarkeit des Services
type: für spätere Verwendung reserviert
----------------------------------------
----
[[command_irc_servlist]]
[command]*`servlist`* Auflistung von Services die momentan mit dem Netzwerk verbunden sind::
----------------------------------------
----
/servlist [<mask> [<type>]]
mask: nur zutreffende Services auflisten
type: nur Services von diesem Typ auflisten
----------------------------------------
----
[[command_irc_squery]]
[command]*`squery`* Nachricht an einen Service senden::
----------------------------------------
----
/squery <service> <text>
service: Name des Service
text: zu sendender Text
----------------------------------------
----
[[command_irc_squit]]
[command]*`squit`* Verbindung zum Server trennen::
----------------------------------------
----
/squit <server> <comment>
server: Name des Servers
comment: Trennungsgrund
----------------------------------------
----
[[command_irc_stats]]
[command]*`stats`* Serverstatistik abfragen::
----------------------------------------
----
/stats [<query> [<server>]]
query: c/h/i/k/l/m/o/y/u (siehe RFC1459)
server: Name des Servers
----------------------------------------
----
[[command_irc_summon]]
[command]*`summon`* Nutzer die auf dem IRC-Server arbeiten darum bitten auf den IRC-Server zu kommen::
----------------------------------------
----
/summon <user> [<target> [<channel>]]
user: Benutzername
target: Servername
channel: Channelname
----------------------------------------
----
[[command_irc_time]]
[command]*`time`* Ortszeit des Servers abfragen::
----------------------------------------
----
/time [<target>]
target: Zeit des angegebenen Servers abfragen
----------------------------------------
----
[[command_irc_topic]]
[command]*`topic`* Thema des Channels abfragen/setzen::
----------------------------------------
----
/topic [<channel>] [<topic>|-delete]
channel: Name des Channels
topic: Thema für den Channel
-delete: entfernt das Thema des Channels
----------------------------------------
----
[[command_irc_trace]]
[command]*`trace`* Route zum angegebenen Server ermitteln::
----------------------------------------
----
/trace [<target>]
target: Server
----------------------------------------
----
[[command_irc_unban]]
[command]*`unban`* Bann aufheben (Nicks oder Hosts)::
----------------------------------------
----
/unban [<channel>] <nick> [<nick>...]
channel: Channel in dem der Bann aufzuheben ist
nick: User oder Host für den der Bann aufzuheben ist
----------------------------------------
----
[[command_irc_userhost]]
[command]*`userhost`* Zeigt Informationen zu Nicknamen an::
----------------------------------------
----
/userhost <nick> [<nick>...]
nick: Nickname
----------------------------------------
----
[[command_irc_users]]
[command]*`users`* Auflistung der User die bei dem Server angemeldet sind::
----------------------------------------
----
/users [<target>]
target: Server
----------------------------------------
----
[[command_irc_version]]
[command]*`version`* Versionsinformation des Nicknamen oder Servers ermitteln (des aktuellen oder angegebenen Nick/Server)::
----------------------------------------
----
/version [<server>|<nick>]
server: Servername
nick: Nickname
----------------------------------------
----
[[command_irc_voice]]
[command]*`voice`* Voice an Nick(s) vergeben::
----------------------------------------
----
/voice <nick> [<nick>...]
nick: Nick oder Maske (darf mit einem "*" als Platzhalter beginnen oder enden)
*: vergibt an alle Nicks im Channel den voice-Status
----------------------------------------
----
[[command_irc_wallchops]]
[command]*`wallchops`* Nachricht an Channel-Operator verschicken::
----------------------------------------
----
/wallchops [<channel>] <text>
channel: Name des Channel
text: Text der versendet werden soll
----------------------------------------
----
[[command_irc_wallops]]
[command]*`wallops`* Nachricht an alle User schicken die den 'w'-Mode gesetzt haben::
----------------------------------------
----
/wallops <text>
text: Text der gesendet werden soll
----------------------------------------
----
[[command_irc_who]]
[command]*`who`* sendet eine Anfrage die eine Anzahl von Informationen zurück gibt::
----------------------------------------
----
/who [<mask> [o]]
mask: nur Information über betreffende Nicknamen abfragen
o: nur Operatoren ausgeben, die dem Filter entsprechen
----------------------------------------
----
[[command_irc_whois]]
[command]*`whois`* Information über User abfragen::
----------------------------------------
----
/whois [<server>] [<nick>[,<nick>...]]
server: Name des Servers (interner Servername)
@ -849,16 +849,16 @@ server: Name des Servers (interner Servername)
Ohne Angabe von Argumenten, nutzt /whois folgende Nicks:
- den eigenen Nick, falls es sich um einen Server/Channel Buffer handelt
- den Nick des Gesprächspartners, falls es sich um einen privaten Buffer handelt.
----------------------------------------
----
[[command_irc_whowas]]
[command]*`whowas`* Informationen über einen nicht mehr angemeldeten Nicknamen abfragen::
----------------------------------------
----
/whowas <nick>[,<nick>...] [<count> [<target>]]
nick: Nickname, welcher gesucht werden soll
count: maximale Anzahl an Antworten (negative Zahl für eine vollständige Liste)
target: Antwort soll auf diese Suchmaske zutreffen
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_logger_logger]]
[command]*`logger`* Konfiguration für "logger" Erweiterung (dient zum protokollieren der Buffer)::
----------------------------------------
----
/logger list
set <level>
flush
@ -33,5 +33,5 @@ Beispiele:
/set logger.level.core.weechat 0
Für jeden IRC-Server wird ein separates Verzeichnis erstellt und darin eine eigene Protokoll-Datei, für jeden Channel:
/set logger.mask.irc "$server/$channel.weechatlog"
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_lua_lua]]
[command]*`lua`* auflisten/installieren/deinstallieren von Skripten::
----------------------------------------
----
/lua list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: Skript (Datei) welches geladen werden soll
-q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_perl_perl]]
[command]*`perl`* auflisten/installieren/deinstallieren von Skripten::
----------------------------------------
----
/perl list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: Skript (Datei) welches geladen werden soll
-q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_python_python]]
[command]*`python`* auflisten/installieren/deinstallieren von Skripten::
----------------------------------------
----
/python list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: Skript (Datei) welches geladen werden soll
-q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_relay_relay]]
[command]*`relay`* Relay-Kontrolle::
----------------------------------------
----
/relay list|listfull|listrelay
add [ipv4.][ipv6.][ssl.]<protocol.name> <port>
del [ipv4.][ipv6.][ssl.]<protocol.name>
@ -42,5 +42,5 @@ Beispiele:
/relay add ipv6.ssl.weechat 9001
WeeChat Protokoll, mit SSL, mit IPv4 + IPv6:
/relay add ipv4.ipv6.ssl.weechat 9001
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_rmodifier_rmodifier]]
[command]*`rmodifier`* wandelt Schlüsselwörter mit regulären Ausdrücken (regelt die Darstellung von Texten in WeeChat)::
----------------------------------------
----
/rmodifier list|listdefault
add <name> <modifiers> <groups> <regex>
del <name>|-all [<name>...]
@ -27,5 +27,5 @@ Beispiele:
/rmodifier del passwort
lösche alle rmodifiers:
/rmodifier del -all
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_ruby_ruby]]
[command]*`ruby`* auflisten/installieren/deinstallieren von Skripten::
----------------------------------------
----
/ruby list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: Skript (Datei) welches geladen werden soll
-q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_script_script]]
[command]*`script`* WeeChat Skripten-Manager::
----------------------------------------
----
/script list [-o|-i]
search <text>
show <script>
@ -73,5 +73,5 @@ Beispiele:
/script hold urlserver.py
/script reload urlserver
/script upgrade
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_tcl_tcl]]
[command]*`tcl`* auflisten/installieren/deinstallieren von Skripten::
----------------------------------------
----
/tcl list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: Skript (Datei) welches geladen werden soll
-q: unterdrückter Modus: Es werden keine Nachrichten ausgegeben
Ohne Angabe eines Argumentes listet dieser Befehl alle geladenen Skripten auf.
----------------------------------------
----

View File

@ -1,17 +1,17 @@
[[command_weechat_away]]
[command]*`away`* Abwesenheitsstatus setzen oder entfernen::
----------------------------------------
----
/away [-all] [<message>]
-all: Abwesenheitsstatus auf allen verbundenen Server setzen oder entfernen
message: Abwesenheitsnachricht (ohne Angabe einer Nachricht wird der Abwesenheitszustand entfernt)
----------------------------------------
----
[[command_weechat_bar]]
[command]*`bar`* Infobars verwalten::
----------------------------------------
----
/bar list|listfull|listitems
add <name> <type>[,<condition>] <position> <size> <separator> <item1>[,<item2>...]
default [input|title|status|nicklist]
@ -58,12 +58,12 @@ Beispiele:
/bar scroll nicklist * y+10
scrollt zum Ende der Nicklist im aktuellen Buffer:
/bar scroll nicklist * ye
----------------------------------------
----
[[command_weechat_buffer]]
[command]*`buffer`* Buffer verwalten::
----------------------------------------
----
/buffer list
clear [<number>|<name>|-merged|-all]
move|merge <number>
@ -120,12 +120,12 @@ Beispiele:
/buffer #weechat
wechselt zum nächsten Buffer:
/buffer +1
----------------------------------------
----
[[command_weechat_color]]
[command]*`color`* definiert Farbaliase und stellt eine Palette der möglichen Farben dar::
----------------------------------------
----
/color alias <color> <name>
unalias <color>
reset
@ -145,22 +145,22 @@ Beispiele:
/color alias 214 orange
löscht die Farbe 214:
/color unalias 214
----------------------------------------
----
[[command_weechat_command]]
[command]*`command`* führe explizit einen WeeChat Befehl oder eine Erweiterung aus::
----------------------------------------
----
/command <plugin> <command>
plugin: Name der Erweiterung ('weechat' für interne WeeChat Befehle)
command: auszuführender Befehl (es wird automatisch ein '/' vorangestellt, falls dieser nicht angegeben wurde)
----------------------------------------
----
[[command_weechat_cursor]]
[command]*`cursor`* Cursor kann frei auf dem Bildschirm bewegt werden, um Aktionen in bestimmten Bildschirmbereichen auszuführen::
----------------------------------------
----
/cursor go chat|<bar>|<x>,<y>
move up|down|left|right|area_up|area_down|area_left|area_right
stop
@ -178,12 +178,12 @@ Beispiele:
/cursor go nicklist
gehe zu den Koordinaten x=10, y=5:
/cursor go 10,5
----------------------------------------
----
[[command_weechat_debug]]
[command]*`debug`* Debug-Kontrolle für Hauptprogramm und/oder Erweiterung::
----------------------------------------
----
/debug list
set <plugin> <level>
dump [<plugin>]
@ -208,12 +208,12 @@ infolists: zeigt Information über die Infolists an
tags: zeigt für jede einzelne Zeile die dazugehörigen Schlagwörter an
term: gibt Informationen über das Terminal und verfügbare Farben aus
windows: zeigt die Fensterstruktur an
----------------------------------------
----
[[command_weechat_eval]]
[command]*`eval`* wertet eine Expression aus und zeigt das Resultat im Buffer an::
----------------------------------------
----
/eval [-n] <expression>
[-n] -c <expression1> <operator> <expression2>
@ -266,12 +266,12 @@ Beispiele:
/eval -n -c abcd =~ (?-i)^ABC ==> 0
/eval -n -c abcd =~ (?-i)^abc ==> 1
/eval -n -c abcd !~ abc ==> 0
----------------------------------------
----
[[command_weechat_filter]]
[command]*`filter`* Filterfunktion um Nachrichten in Buffer aus- oder einzublenden, dazu können Schlagwörter oder reguläre Ausdrücke verwendet werden::
----------------------------------------
----
/filter list
enable|disable|toggle [<name>]
add <name> <buffer>[,<buffer>...] <tags> <regex>
@ -320,12 +320,12 @@ Beispiele:
/filter add toto irc.freenode.#weechat nick_toto *
filtert Zeilen die "weechat sucks" im IRC Channel #weechat enthalten:
/filter add sucks irc.freenode.#weechat * weechat sucks
----------------------------------------
----
[[command_weechat_help]]
[command]*`help`* Zeigt einen Hilfstext für Befehle und Optionen an::
----------------------------------------
----
/help -list|-listfull [<plugin> [<plugin>...]]
<command>
<option>
@ -335,23 +335,23 @@ Beispiele:
plugin: zeigt Befehle explizit für diese Erweiterung an
command: Name eines Befehls
option: Name einer Option (nutze /set um Optionen anzeigen zu lassen)
----------------------------------------
----
[[command_weechat_history]]
[command]*`history`* Zeigt den Befehlsverlauf des Buffers::
----------------------------------------
----
/history clear
<value>
clear: löscht den Befehlsverlauf
value: Anzahl der gewünschten Einträgen im Befehlsverlauf anzeigen
----------------------------------------
----
[[command_weechat_input]]
[command]*`input`* Funktionen für die Befehlszeile::
----------------------------------------
----
/input <action> [<arguments>]
Auflistung der möglichen Funktionen:
@ -406,12 +406,12 @@ Auflistung der möglichen Funktionen:
paste_stop: Einfügen wird beendet (bracketed paste mode)
Dieser Befehl wird sinnvollerweise mittels Tastenbelegungen oder Erweiterungen genutzt.
----------------------------------------
----
[[command_weechat_key]]
[command]*`key`* Einer Taste einen Befehl zuordnen oder entfernen::
----------------------------------------
----
/key list|listdefault|listdiff [<context>]
bind <key> [<command> [<args>]]
bindctxt <context> <key> [<command> [<args>]]
@ -461,12 +461,12 @@ Beispiele:
/key bindctxt search ctrl-I /input search_stop
Auswahl eines Nicknamens mittels mittlerer Maustaste zeigt zusätzliche Informationen zu dem Nick an:
/key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
----------------------------------------
----
[[command_weechat_layout]]
[command]*`layout`* Layout für Buffer und Fenster speichern, anwenden oder zurücksetzen::
----------------------------------------
----
/layout save [<name>] [buffers|windows]
apply [<name>] [buffers|windows]
leave
@ -484,12 +484,12 @@ buffers: speichert bzw. verwendet nur Buffer (Reihenfolge der Buffer)
windows: speichert bzw. verwendet nur Fenster (Buffer welche im jeweiligen Fenster dargestellt werden)
Wird der Befehl ohne Argumente aufgerufen wird das gespeicherte Layout dargestellt.
----------------------------------------
----
[[command_weechat_mouse]]
[command]*`mouse`* Maussteuerung::
----------------------------------------
----
/mouse enable|disable|toggle [<delay>]
enable: aktiviert Maus
@ -504,12 +504,12 @@ Beispiele:
/mouse enable
Mausunterstützung für 5 Sekunden umschalten:
/mouse toggle 5
----------------------------------------
----
[[command_weechat_mute]]
[command]*`mute`* Führt einen Befehl ohne Textausgabe aus::
----------------------------------------
----
/mute [-current | -buffer <name> | -all] command
-current: Ausgabe im aktuellen Buffer wird unterdrückt
@ -527,12 +527,12 @@ Beispiele:
/mute -current msg * hi!
Nachricht an den #weechat Channel senden:
/mute -buffer irc.freenode.#weechat msg #weechat hi!
----------------------------------------
----
[[command_weechat_plugin]]
[command]*`plugin`* Erweiterungen verwalten (auflisten/installieren/deinstallieren)::
----------------------------------------
----
/plugin list|listfull [<name>]
load <filename> [<arguments>]
autoload [<arguments>]
@ -550,12 +550,12 @@ Beispiele:
arguments: Argumente die der Erweiterung beim installieren übergeben werden sollen
Ohne Angabe eines Arguments werden alle installierten Erweiterungen angezeigt.
----------------------------------------
----
[[command_weechat_proxy]]
[command]*`proxy`* Proxys verwalten::
----------------------------------------
----
/proxy list
add <name> <type> <address> <port> [<username> [<password>]]
del <name>|-all
@ -584,34 +584,34 @@ Beispiele:
/proxy add myproxy socks5 sample.host.org 3128 myuser mypass
entferne einen Proxy:
/proxy del myproxy
----------------------------------------
----
[[command_weechat_quit]]
[command]*`quit`* WeeChat beenden::
----------------------------------------
----
/quit [-yes] [<arguments>]
-yes: Option muss genutzt werden falls weechat.look.confirm_quit aktiviert sein sollte
arguments: Text der beim Signal "quit" verschickt wird
(zum Beispiel sendet die IRC Erweiterung diesen Text als Quit-Nachricht an den Server)
----------------------------------------
----
[[command_weechat_reload]]
[command]*`reload`* Konfiguration neu laden::
----------------------------------------
----
/reload [<file> [<file>...]]
file: Konfigurationsdatei die erneut geladen werden soll (ohne Dateinamenserweiterung ".conf")
Ohne Angabe von Argumenten werden alle Konfigurationen (WeeChat und Erweiterungen) neu geladen.
----------------------------------------
----
[[command_weechat_repeat]]
[command]*`repeat`* Führt einen Befehl mehrfach aus::
----------------------------------------
----
/repeat [-interval <delay>] <count> <command>
delay: Verzögerung zwischen dem Ausführen der Befehle (in Millisekunden)
@ -623,23 +623,23 @@ Alle Befehle werden in dem Buffer ausgeführt, in welchem dieser Befehl genutzt
Beispiel:
scrolle zwei Seiten hoch:
/repeat 2 /window page_up
----------------------------------------
----
[[command_weechat_save]]
[command]*`save`* Konfiguration abspeichern::
----------------------------------------
----
/save [<file> [<file>...]]
file: Konfigurationsdatei die gesichert werden soll (ohne Dateinamenserweiterung ".conf")
Wird keine Datei angegeben dann werden alle Konfigurationen (WeeChat und Erweiterungen) gesichert.
----------------------------------------
----
[[command_weechat_secure]]
[command]*`secure`* verwaltet zu schützende Daten (Passwörter oder private Daten werden in der Datei sec.conf verschlüsselt)::
----------------------------------------
----
/secure passphrase <passphrase>|-delete
decrypt <passphrase>|-discard
set <name> <value>
@ -676,12 +676,12 @@ Beispiele:
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
alias um den eigenen Nick zu ghosten:
/alias ghost /eval /msg -server freenode nickserv ghost meinNick ${sec.data.freenode}
----------------------------------------
----
[[command_weechat_set]]
[command]*`set`* Konfigurationsparameter setzen::
----------------------------------------
----
/set [<option> [<value>]]
diff [<option> [<option>...]]
@ -706,12 +706,12 @@ Beispiele:
/set diff
zeigt geänderte Optionen, der IRC Erweiterung, an:
/set diff irc.*
----------------------------------------
----
[[command_weechat_unset]]
[command]*`unset`* Konfigurationsparameter freigeben/zurücksetzen::
----------------------------------------
----
/unset <option>
option: Name einer Option (darf mit Joker "*" beginnen oder enden um mehrere Optionen zurückzusetzen. Nutzen Sie diese Funktion mit äußerster Sorgfalt!)
@ -723,12 +723,12 @@ Beispiele:
/unset weechat.look.item_time_format
Alle Farboptionen zurücksetzen:
/unset weechat.color.*
----------------------------------------
----
[[command_weechat_upgrade]]
[command]*`upgrade`* Aktualisiert WeeChat ohne die Verbindung zum Server zu trennen::
----------------------------------------
----
/upgrade [<path_to_binary>|-quit]
path_to_binary: Pfad zu einer ausführbaren WeeChat Binärdatei (Standardeinstellung ist die aktuell ausführbare Datei)
@ -754,32 +754,32 @@ Nutzt man die "-quit" Funktion ist die Abfolge geringfügig anders:
Die Sitzung kann zu einem späteren Zeitpunkt wiederhergestellt werden: weechat --upgrade
WICHTIG: Die Sitzung muss mit exakt den selben Konfigurationsdateien wiederhergestellt werden (*.conf)
Es ist möglich die WeeChat-Sitzung auf einem anderen Rechner wiederherzustellen, sofern man den Inhalt des "~/.weechat" Verzeichnisses dorthin kopiert.
----------------------------------------
----
[[command_weechat_uptime]]
[command]*`uptime`* Zeigt die Uptime von Weechat an::
----------------------------------------
----
/uptime [-o | -ol]
-o: sendet die WeeChat Laufzeit in den aktuellen Buffer (englisch)
-ol: sendet die WeeChat Laufzeit in den aktuellen Buffer (in der voreingestellten Landessprache)
----------------------------------------
----
[[command_weechat_version]]
[command]*`version`* Zeigt die WeeChat-Version und das Datum der Kompilierung an::
----------------------------------------
----
/version [-o | -ol]
-o: sendet die WeeChat Version in den aktuellen Buffer (englisch)
-ol: sendet die WeeChat Version in den aktuellen Buffer (in der Voreingestellten Landessprache)
----------------------------------------
----
[[command_weechat_wait]]
[command]*`wait`* Terminiere einen Befehl der ausgeführt werden soll::
----------------------------------------
----
/wait <number>[<unit>] <command>
number: die Zeit, die gewartet werden soll (dies muss eine natürlich Zahl sein)
@ -799,12 +799,12 @@ Beispiele:
/wait 15m /away -all Bin dann mal eben weg
Versendet nach zwei Minuten den Text 'Hallo':
/wait 2m Hallo
----------------------------------------
----
[[command_weechat_window]]
[command]*`window`* Fenster verwalten::
----------------------------------------
----
/window list
-1|+1|b#|up|down|left|right [-window <number>]
<number>
@ -863,5 +863,5 @@ Beispiele:
/window scroll -d
Fenster #2 wird vergrößert:
/window zoom -window 2
----------------------------------------
----

View File

@ -1,21 +1,21 @@
[[command_xfer_me]]
[command]*`me`* sendet CTCP Aktion an entfernten Host::
----------------------------------------
----
/me <message>
message: zu sendende Nachricht
----------------------------------------
----
[[command_xfer_xfer]]
[command]*`xfer`* Kontrolle der Übertragung(en)::
----------------------------------------
----
/xfer [list|listfull]
list: zeigt Liste der Übertragungen
listfull: zeigt eine ausführliche Liste der Übertragungen
Ohne Angabe von Argumenten wird der Buffer mit der Übertragungsliste geöffnet.
----------------------------------------
----

View File

@ -1,14 +1,11 @@
WEECHAT(1)
==========
= WEECHAT(1)
:doctype: manpage
NAME
----
== NAME
weechat - der erweiterbare Chat Client
SYNOPSIS
--------
== SYNOPSIS
[verse]
'weechat' [-a|--no-connect] [-d|--dir <path>] [-p|--no-plugin] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [plugin:option...]
@ -18,8 +15,7 @@ SYNOPSIS
'weechat' [-l|--license]
'weechat' [-v|--version]
BESCHREIBUNG
------------
== BESCHREIBUNG
WeeChat ist ein schneller, leichter und erweiterbarer Chat Client.
@ -27,13 +23,11 @@ Der Client ist modular aufgebaut (ein kleiner Kern mit nachladbaren Erweiterunge
Multiprotokollfähig (IRC und Jabber),erweiterbar mittels C und durch Skripten, wobei
verschiedenen Sprachen unterstützt werden.
OPTIONEN
--------
== OPTIONEN
include::cmdline_options.de.txt[]
OPTIONEN von ERWEITERUNGEN
--------------------------
== OPTIONEN von ERWEITERUNGEN
Um eine vollständige Dokumentation der Optionen zu erhalten, siehe
http://weechat.org/doc[WeeChat user's guide].
@ -51,8 +45,7 @@ Um eine IPv6 Adresse zu nutzen, muss diese in eckige Klammern gesetzt werden:
irc://mynick@[2001:db8:0:85a3::ac1f:8001]:6668/#test
DATEIEN
-------
== DATEIEN
$HOME/.weechat/weechat.conf::
WeeChats Konfigurationsdatei
@ -90,8 +83,8 @@ $HOME/.weechat/xfer.conf::
$HOME/.weechat/weechat.log::
WeeChat Protokolldatei
AUTOREN
-------
== AUTOREN
WeeChat ist programmiert von Sébastien Helleu und Beitragenden (eine vollständige Auflistung
findet man in der AUTHORS Datei).
@ -106,8 +99,7 @@ Please read the COPYING file for more information.
Web: <http://weechat.org/>
FEHLER MELDEN
-------------
== FEHLER MELDEN
Fehlerbeschreibungen oder Vorschläge für neue Funktionen können auf
der Savannah Webseite hinterlegt werden:

View File

@ -1,5 +1,4 @@
WeeChat FAQ (häufig gestellte Fragen)
=====================================
= WeeChat FAQ (häufig gestellte Fragen)
Sébastien Helleu <flashcode@flashtux.org>
@ -9,12 +8,10 @@ vorzugsweise immer die aktuell veröffentlichte Version von WeeChat genutzt werd
[[general]]
Allgemein
---------
== Allgemein
[[weechat_name]]
Woher kommt eigentlich der Name "WeeChat"?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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".
@ -23,8 +20,7 @@ Somit lautet der vollständige Name "Wee Enhanced Environment for Chat".
Aber dieses trifft nicht auf WeeChat zu!)
[[why_choose_weechat]]
Weshalb sollte man WeeChat nutzen? - X-Chat und Irssi sind doch auch sehr gut...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Weshalb sollte man WeeChat nutzen? - X-Chat und Irssi sind doch auch sehr gut...
WeeChat ist sehr Speicher schonend und besticht durch innovative Funktionen.
@ -32,12 +28,10 @@ Weitere Informationen gibt es auf der folgenden Internetseite:
http://weechat.org/about/features
[[compilation_install]]
Kompilierung / Installation
---------------------------
== Kompilierung / Installation
[[gui]]
Ich habe gehört es gibt mehrere GUIs für WeeChat. Wie kann ich diese kompilieren bzw. nutzen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Ich habe gehört es gibt mehrere GUIs für WeeChat. Wie kann ich diese kompilieren bzw. nutzen?
Folgende GUIs sind verfügbar:
@ -47,8 +41,7 @@ Folgende GUIs sind verfügbar:
* https://github.com/eirikb/weecloud[weecloud] (Web)
[[compile_git]]
Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb?
Es wird empfohlen cmake zum kompilieren von WeeChat zu nutzen.
@ -63,8 +56,7 @@ und daher auch weniger brauchbar sein kann. Im Gegensatz zu der Möglichkeit, da
das Repository klont und daraus Updates installiert.
[[lost]]
Ich habe WeeChat gestartet, komme aber nicht mehr weiter - was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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`.
@ -76,12 +68,10 @@ Neue Benutzer sollten unbedingt die 'quickstart'-Anleitung lesen (siehe
Dokumentation auf der Internetseite).
[[display]]
Anzeige
-------
== Anzeige
[[charset]]
Teilweise fehlen den Zeichen die Akzente. Wie kann ich das korrigieren?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
@ -112,8 +102,7 @@ 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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.
@ -127,8 +116,7 @@ Abhängig davon von wo WeeChat gestartet wird, solltest Du folgenden Wert haben:
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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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*).
@ -139,8 +127,7 @@ 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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.
@ -148,8 +135,7 @@ 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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).
@ -162,42 +148,39 @@ in einem Fenster nicht angezeigt). Oder ein Buffer wird durch ein oder mehrere F
angezeigt.
[[buffers_list]]
Wie kann ich eine Liste mit den Buffern z.B. auf der linken Seite anzeigen lassen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
@ -207,41 +190,39 @@ 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)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
@ -249,32 +230,31 @@ konsole, gnome-terminal, ...). Im Normalfall erfolgt die Markierung mittels der
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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
@ -283,24 +263,22 @@ 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Wie kann ich 256 Farben in WeeChat nutzen?
256 Farben werden ab der WeeChat Version ≥ 0.3.4 unterstützt.
@ -317,18 +295,18 @@ 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.
@ -339,8 +317,7 @@ 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)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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).
@ -348,12 +325,10 @@ 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
----------------
== Tastaturbelegung
[[meta_keys]]
Aus welchem Grund funktionieren manche Meta-Tasten (alt + Taste) nicht?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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.
@ -361,20 +336,19 @@ In einem solchen Fall sollte folgende Zeile der Konfigurationsdatei '~/.Xresourc
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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Wie kann ich die Tastaturbelegung anpassen?
Die Tasten werden mit dem Befehl `/key` belegt.
@ -382,53 +356,49 @@ 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
-----------------
== Mausunterstützung
[[mouse_not_working]]
Die Mausunterstützung funktioniert nicht, was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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`).
@ -437,22 +407,21 @@ Entsprechend der ausgegebenen Information, wird ggf. eine Maus nicht unterstütz
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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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.
@ -461,57 +430,52 @@ Dann muss man einen Terminl nutzen der eine Unterstützung von UTF-8 Koordinaten
bietet, zum Beispiel rxvt-unicode.
[[mouse_select_paste]]
Wie kann ich bei aktivierter Mausunterstützung im Terminal einen Text markieren oder einfügen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
[[irc_ssl_connection]]
Es treten Probleme bei einer Serververbindung mittels SSL auf. Was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
@ -520,16 +484,15 @@ 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_oauth]]
Wie stellt man eine Verbindung zu einem Server her, der "oauth" verlangt?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Wie stellt man eine Verbindung zu einem Server her, der "oauth" verlangt?
Einige Server, wie z.B. 'twitch', verlangen oauth für eine Verbindung.
@ -538,34 +501,32 @@ Bei oauth handelt es sich lediglich um ein Passwort mit dem Format "oauth:XXXX".
Mit folgenden Befehlen kann man einen Server erstellen und sich mit diesem
verbinden (Name und Adresse muss durch entsprechende Werte ersetzt werden):
----------------------------------------
----
/server add name irc.server.org -password="oauth:XXXX"
/connect name
----------------------------------------
----
[[irc_sasl]]
Wie kann ich mich, vor dem Betreten von Channels, identifizieren?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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).
@ -583,29 +544,27 @@ Die gefilterten Zeilen können zu jeder Zeit dargestellt werden indem man den Fi
(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)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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:
@ -614,9 +573,9 @@ nutzt man die Option:
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`
@ -633,17 +592,16 @@ Die Tags von anderen Server-Mitteilungen werden IRC RAW-Buffer ausgegeben
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)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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.
@ -655,15 +613,15 @@ in einer anderen Farbe darzustellen.
Nutzt man Bitlbee ≥ 3, sollte man im '&bitlbee' Channel folgendes eingeben:
----------------------------------------
----
channel set show_users online,away
----------------------------------------
----
für ältere Versionen von Bitlbee gibt man im '&bitlbee' Channel ein:
----------------------------------------
----
set away_devoice false
----------------------------------------
----
Um sich in WeeChat anzeigen zu lassen welche Nicks abwesend sind siehe:
<<color_away_nicks,abwesende Nicks>>.
@ -672,13 +630,12 @@ Wenn man wirklich Voice-Nachrichten filtern möchte kann folgender Befehl angewa
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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
@ -693,55 +650,50 @@ 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
------------------------
== Erweiterungen / Skripten
[[openbsd_plugins]]
Ich benutze OpenBSD aber WeeChat lädt keine Erweiterungen - weshalb?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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.
@ -756,12 +708,10 @@ Anmerkung:
* Eine 'tcl' Erweiterung ist ab Version ≥ 0.3.0 verfügbar.
[[settings]]
Einstellungen
-------------
== Einstellungen
[[memory_usage]]
Wie kann ich WeeChat dazu bringen weniger Speicher zu verbrauchen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Wie kann ich WeeChat dazu bringen weniger Speicher zu verbrauchen?
Damit WeeChat weniger Speicher benötigt, solltest Du folgende Tipps umsetzen:
@ -779,12 +729,10 @@ Damit WeeChat weniger Speicher benötigt, solltest Du folgende Tipps umsetzen:
* nutze einen kleineren Wert für die Option 'weechat.history.max_commands'
[[development]]
Entwicklung
-----------
== Entwicklung
[[bug_task_patch]]
Was kann ich machen falls ich einen Fehler gefunden habe, nach neuen Funktionen fragen oder Patches einsenden möchte?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Was kann ich machen falls ich einen Fehler gefunden habe, nach neuen Funktionen fragen oder Patches einsenden möchte?
Es gibt drei Möglichkeiten:
@ -798,29 +746,27 @@ Es gibt drei Möglichkeiten:
(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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Wenn man WeeChat in gdb startet kann ein Thread-Fehler auftreten. Was beudeutet das?
Falls man WeeChat in gdb ausführt kann folgende Fehlermeldung erscheinen:
----------------------------------------
----
$ gdb /Pfad/zu/weechat
(gdb) run
[Thread debugging using libthread_db enabled]
Cannot find new threads: generic error
----------------------------------------
----
Um diesen Fehler zu beheben sollte man gdb wie folgt aufrufen (der Pfad zu
libpthread und WeeChat muss natürlich an das eigene System angepasst werden):
----------------------------------------
----
$ LD_PRELOAD=/lib/libpthread.so.0 gdb /Pfad/zu/weechat
(gdb) run
----------------------------------------
----
[[supported_os]]
Auf welchen Plattformen läuft WeeChat und wird es noch auf andere Betriebssystemen portiert?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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
@ -829,8 +775,7 @@ Aber um WeeChat auf fremden Betriebssystemen zu testen, zu denen wir keinen Zuga
ist Hilfe gerne gesehen.
[[help_developers]]
Ich möchte den Entwicklern von WeeChat helfen. Was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Ich möchte den Entwicklern von WeeChat helfen. Was kann ich tun?
Es gibt einiges zu tun z.B. testen, programmieren, Dokumentation, ...
@ -838,8 +783,7 @@ 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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== 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

View File

@ -1,11 +1,9 @@
WeeChat Quickstart Anleitung
============================
= WeeChat Quickstart Anleitung
Sébastien Helleu <flashcode@flashtux.org>
[[start]]
Start von WeeChat
-----------------
== Start von WeeChat
Die bevorzugte Terminal-Emulation für X (aber nicht obligatorisch) ist
rxvt-unicode (es besitzt eine gute Unterstützung für UTF-8 und hat keine
@ -13,33 +11,32 @@ Probleme mit der Standard Tastaturbelegung).
Starte aus Deiner shell:
----------------------------------------
----
$ weechat
----------------------------------------
----
[[help_options]]
Online-Hilfe / Optionen
-----------------------
== Online-Hilfe / Optionen
WeeChat bietet für jeden Befehl eine Hilfe an:
----------------------------------------
----
/help
----------------------------------------
----
Um sich die Hilfe für einen bestimmten Befehl anzeigen
zu lassen:
----------------------------------------
----
/help Befehl
----------------------------------------
----
Um Optionen zu setzen benutzt man:
----------------------------------------
----
/set config.section.option value
----------------------------------------
----
(dabei ist 'config' der Konfigurationsname ('weechat' für den Kern von weechat,
oder der Name einer Erweiterung), 'section' ein Abschnitt dieser Konfiguration und 'option'
@ -56,27 +53,27 @@ Zum Beispiel:
Zeit alle Optionen an (WeeChat und Erweiterungen):
----------------------------------------
----
/set
----------------------------------------
----
Zeit alle WeeChat Optionen an:
----------------------------------------
----
/set weechat.*
----------------------------------------
----
Zeit alle Optionen der IRC-Erweiterung an:
----------------------------------------
----
/set irc.*
----------------------------------------
----
Du kannst dir mit dem Befehl `/help` eine Hilfe für Optionen anzeigen lassen, z.B.:
----------------------------------------
----
/help weechat.look.highlight
----------------------------------------
----
Beim Beenden von WeeChat werden alle Einstellungen gespeichert (mittels `/save`
kann das Sichern der Optionen erzwungen werden).
@ -87,8 +84,7 @@ verwenden möchte).
[[core_vs_plugins]]
Kern (Core) vs Erweiterungen
----------------------------
== Kern (Core) vs Erweiterungen
Der Kern (core) von WeeChat ist ausschließlich dazu da, Daten auf dem Bildschirm
darzustellen, um mit dem Benutzer zu interagieren. Dies bedeutet, WeeChat an sich
@ -102,25 +98,23 @@ Erweiterungen sollten aufgelistet werden.
[[create_irc_server]]
Einen IRC-Server erstellen
--------------------------
== Einen IRC-Server erstellen
Du kannst einen IRC-Server mit dem Befehl `/server` hinzufügen, z.B.:
----------------------------------------
----
/server add oftc irc.oftc.net/6667
----------------------------------------
----
Falls man nicht mehr weiter weiß, einfach die Hilfe aufrufen:
----------------------------------------
----
/help server
----------------------------------------
----
[[irc_server_options]]
Setzen eigener IRC-Server Optionen
----------------------------------
== Setzen eigener IRC-Server Optionen
WeeChat verwendet Vorgabewerte für alle Server (so genannte "fall backs"), falls
Du keine eigenen Werte für entsprechende Server-Optionen bestimmt haben solltest.
@ -134,39 +128,39 @@ Als Beispiel erwähnt ist die Vorgabe (default) für Nicks, die auf dem Un*x Log
basiert. Diese Vorgabe kann nun für den oftc-Server mittels folgendem Befehl
überschrieben werden:
----------------------------------------
----
/set irc.server.oftc.nicks "mynick,mynick2,mynick3,mynick4,mynick5"
----------------------------------------
----
Um einen User- und realen Namen zu setzen:
----------------------------------------
----
/set irc.server.oftc.username "Mein User-Name"
/set irc.server.oftc.realname "Mein wirklicher Name"
----------------------------------------
----
Um beim Start von WeeChat automatisch eine Verbindung zu einem Server
herzustellen:
----------------------------------------
----
/set irc.server.oftc.autoconnect on
----------------------------------------
----
Sollte der Server SASL unterstützen, kann man sich damit Authentifizieren
(dadurch identifiziert man sich beim Server, bevor man Channels (Chaträume) betritt):
----------------------------------------
----
/set irc.server_default.sasl_mechanism dh-blowfish
/set irc.server.oftc.sasl_username "mynick"
/set irc.server.oftc.sasl_password "xxxxxxx"
----------------------------------------
----
Unterstützt der Server keine SASL Authentifizierung, muss man sich bei "nickserv"
identifizieren:
----------------------------------------
----
/set irc.server.oftc.command "/msg nickserv identify xxxxxxx"
----------------------------------------
----
[NOTE]
Mehrere Befehle können mittels ';' (Semikolon) getrennt werden.
@ -174,33 +168,32 @@ Mehrere Befehle können mittels ';' (Semikolon) getrennt werden.
Um ein auto-join (automatisches 'betreten') von Channels (Räumen) nach der
Verbindung zum Server zu erreichen:
----------------------------------------
----
/set irc.server.oftc.autojoin "#channel1,#channel2"
----------------------------------------
----
Um einen Wert der Server-Optionen zu entfernen und stattdessen wieder den
Vorgabewert (default) zu nutzen, z.B. Nutzung der vorgegebenen Nicks
(irc.server_default.nicks):
----------------------------------------
----
/set irc.server.oftc.nicks null
----------------------------------------
----
Andere Optionen: Du kannst andere Optionen mit folgendem Befehl festlegen ("xxx"
ist der Optionsname):
----------------------------------------
----
/set irc.server.oftc.xxx value
----------------------------------------
----
[[connect_to_irc_server]]
Verbinden mit dem IRC-Server und auto-join der Channel
------------------------------------------------------
== Verbinden mit dem IRC-Server und auto-join der Channel
----------------------------------------
----
/connect oftc
----------------------------------------
----
[NOTE]
Dieser Befehl kann dazu benutzt werden um einen neuen Server zu erstellen und
@ -215,37 +208,35 @@ zu wechseln, kannst Du ctrl-X benutzen.
Es ist möglich das automatische Zusammenlegen der Server-Buffer zu deaktivieren,
um eigenständige Server-Buffer zu nutzen:
----------------------------------------
----
/set irc.look.server_buffer independent
----------------------------------------
----
[[join_part_irc_channels]]
Betreten/verlassen der IRC-Channel
----------------------------------
== Betreten/verlassen der IRC-Channel
Einen Channel betreten:
----------------------------------------
----
/join #channel
----------------------------------------
----
Einen Channel verlassen (der Buffer bleibt geöffnet):
----------------------------------------
----
/part [quit message]
----------------------------------------
----
Schließen eines Server- oder Channel-Buffers (`/close` ist ein Alias für `/buffer close`):
----------------------------------------
----
/close
----------------------------------------
----
[[buffer_window]]
Buffer/Fenster Verwaltung
-------------------------
== Buffer/Fenster Verwaltung
Ein Buffer ist eine Erweiterung mit einer Nummer, einer Kategorie und einem
Namen, verbundene Komponente. Ein Buffer beinhaltet die auf dem Bildschirm
@ -257,10 +248,10 @@ mehreren Buffer gleichzeitig sehen.
Befehle, welche Buffer und Fenster verwalten:
----------------------------------------
----
/buffer
/window
----------------------------------------
----
(Ich muss jetzt nicht wiederholen dass Du zu diesen Befehlen eine Hilfe mit /help
zu erhalten ist)
@ -268,14 +259,13 @@ zu erhalten ist)
Ein Beispiel: Um Deinen Bildschirm vertikal in ein kleines Fenster (1/3 Höhe)
und ein großes Fenster (2/3 Höhe) aufzuteilen, benutze diesen Befehl:
----------------------------------------
----
/window splitv 33
----------------------------------------
----
[[key_bindings]]
Tastaturbelegung
----------------
== Tastaturbelegung
WeeChat verwendet viele Standardtasten. Alle Tastenbelegungen sind in der
Dokumentation beschrieben. Im folgenden werden die wichtigsten Tastenbelegungen
@ -297,26 +287,25 @@ Eine nützliche Tastenkombination um Tastencodes zu ermitteln ist meta-k (alt-k)
Beispiel: Belegung von meta-y (alt-y) mit dem Befehl `/buffer close`:
----------------------------------------
----
/key bind (drücke meta-k) (drücke meta-y) /buffer close
----------------------------------------
----
Du wirst folgende Befehlszeile erhalten:
----------------------------------------
----
/key bind meta-y /buffer close
----------------------------------------
----
Entfernen der Belegung:
----------------------------------------
----
/key unbind meta-y
----------------------------------------
----
[[plugins_scripts]]
Erweiterungen/Skripten
----------------------
== Erweiterungen/Skripten
Bei einigen Distributionen wie z.B. Debian, sind die Erweiterungen über separate Pakete
erhältlich (z.B. weechat-plugins).
@ -331,8 +320,7 @@ weitere Informationen zur Bedienung).
[[more_doc]]
Weitere Dokumentation
---------------------
== Weitere Dokumentation
Nun kannst Du WeeChat nutzen, für weitere Fragen lese die FAQ und/oder Dokumentation:
http://weechat.org/doc

View File

@ -1,5 +1,4 @@
WeeChat Scripting Guide
=======================
= WeeChat Scripting Guide
Sébastien Helleu <flashcode@flashtux.org>
@ -10,8 +9,7 @@ http://weechat.org/doc
[[introduction]]
Einleitung
----------
== Einleitung
WeeChat (Wee Enhanced Environment for Chat) ist ein freier, schneller und
schlanker Chat-Client der für viele Betriebssysteme entwickelt wird.
@ -31,28 +29,23 @@ Beinahe alle Beispiele in dieser Dokumentation beziehen sich auf Python.
Allerdings ist die API für alle Skriptsprachen nahezu identisch.
[[scripts_in_weechat]]
Skripten in WeeChat
-------------------
== Skripten in WeeChat
[[languages_specifities]]
Besonderheiten der einzelnen Skriptsprachen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Besonderheiten der einzelnen Skriptsprachen
Python
^^^^^^
==== Python
* WeeChat muss als Modul eingebunden werden: `import weechat`
* Um die WeeChat Funktion `print*` nutzen zu können muss `prnt*` genutzt
werden ('print' ist ein reservierter Befehl von Python!)
* Funktionen werden im Format `weechat.xxx(arg1, arg2, ...)` ausgeführt
Perl
^^^^
==== Perl
* Funktionen werden im Format `weechat::xxx(arg1, arg2, ...);` ausgeführt
Ruby
^^^^
==== Ruby
* Es muss 'weechat_init' definiert und darin die Funktion 'register' ausgeführt werden
* Funktionen werden im Format `Weechat.xxx(arg1, arg2, ...)` ausgeführt
@ -61,23 +54,20 @@ Ruby
(3 Callbacks + 3 Data Strings), somit sieht ein Aufruf der Funktion folgendermaßen aus:
[source,ruby]
----------------------------------------
----
Weechat.config_new_option(config, section, "name", "string", "description of option", "", 0, 0,
"value", "value", 0, ["check_cb", "", "change_cb", "", "delete_cb", ""])
----------------------------------------
----
Lua
^^^
==== Lua
* Funktionen werden im Format `weechat.xxx(arg1, arg2, ...)` ausgeführt
Tcl
^^^
==== Tcl
* Funktionen werden im Format `weechat::xxx arg1 arg2 ...` ausgeführt
Guile (scheme)
^^^^^^^^^^^^^^
==== Guile (scheme)
* Funktionen werden im Format `(weechat:xxx arg1 arg2 ...)` ausgeführt
* folgende Funktionen nutzen eine Liste von Argumente (anstelle von vielen
@ -88,8 +78,7 @@ Guile (scheme)
** bar_new
[[register_function]]
Die "Register" Funktion
~~~~~~~~~~~~~~~~~~~~~~~
=== Die "Register" Funktion
Jedes WeeChat Skript muss sich bei WeeChat "registrieren". Die "register" Funktion
muss deshalb der erste WeeChat Befehl sein der durch das Skript genutzt wird.
@ -97,9 +86,9 @@ muss deshalb der erste WeeChat Befehl sein der durch das Skript genutzt wird.
Prototyp:
[source,python]
----------------------------------------
----
weechat.register(Name, Author, Version, Lizenz, Beschreibung, Shutdown_Funktion, Zeichensatz)
----------------------------------------
----
Argumente:
@ -118,101 +107,99 @@ Beispielskripten, für jede Sprache:
* python:
[source,python]
----------------------------------------
----
import weechat
weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Test Skript", "", "")
weechat.prnt("", "Hallo, von einem python Skript!")
----------------------------------------
----
* perl:
[source,perl]
----------------------------------------
----
weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Test Skript", "", "");
weechat::print("", "Hallo, von einem perl Skript!");
----------------------------------------
----
* ruby:
[source,ruby]
----------------------------------------
----
def weechat_init
Weechat.register("test_ruby", "FlashCode", "1.0", "GPL3", "Test Skript", "", "")
Weechat.print("", "Hallo, von einem ruby Skript!")
return Weechat::WEECHAT_RC_OK
end
----------------------------------------
----
* lua:
[source,lua]
----------------------------------------
----
weechat.register("test_lua", "FlashCode", "1.0", "GPL3", "Test Skript", "", "")
weechat.print("", "Hallo, von einem lua Skript!")
----------------------------------------
----
* tcl:
[source,tcl]
----------------------------------------
----
weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Test Skript" "" ""
weechat::print "" "Hallo, von einem tcl Skript!"
----------------------------------------
----
* guile (scheme):
[source,lisp]
----------------------------------------
----
(weechat:register "test_scheme" "FlashCode" "1.0" "GPL3" "Test script" "" "")
(weechat:print "" "Hello, from scheme script!")
----------------------------------------
----
[[load_script]]
Laden von Skripten
~~~~~~~~~~~~~~~~~~
=== Laden von Skripten
Es wird empfohlen die "script" Erweiterung zum Laden von Skripten zu
nutzen, zum Beispiel:
----------------------------------------
----
/script load script.py
/script load script.pl
/script load script.rb
/script load script.lua
/script load script.tcl
/script load script.scm
----------------------------------------
----
Es besteht natürlich weiterhin die Möglichkeit, individuell für jede
Skriptsprache, den entsprechenden Befehl zu nutzen:
----------------------------------------
----
/python load python/skript.py
/perl load perl/skript.pl
/ruby load ruby/skript.rb
/lua load lua/skript.lua
/tcl load tcl/skript.tcl
/guile load guile/skript.scm
----------------------------------------
----
Um Skripten automatisch beim Start von WeeChat zu laden sollte man einen Link
anlegen, der in das Verzeichnis 'Skriptsprache/autoload' zeigt.
Ein Beispiel für ein Python-Skript:
----------------------------------------
----
$ cd ~/.weechat/python/autoload
$ ln -s ../script.py
----------------------------------------
----
[NOTE]
Installiert man mittels `/script install` ein Skript, dann wird automatisch
ein Link in das entsprechende 'autoload' Verzeichnis erzeugt.
[[differences_with_c_api]]
Unterschiede zur C API
----------------------
== Unterschiede zur C API
Die Skripten API ist nahezu identisch mit der API der C Erweiterung.
Um einen Überblick über alle API Funktionen (Prototyp, Argumente,
@ -226,28 +213,27 @@ wird.
Falls Ihr Skript 'test.py' eine WeeChat API Funktion aufruft wird der Aufruf
wie folgt abgearbeitet:
........................................
....
┌──────────────────────┐ ╔══════════════════╗
│ python Erweiterung │ ║ WeeChat "core" ║
├────────────┬─────────┤ ╟─────────┐ ║
test.py ─────► │ Skript API │ C API │ ─────► ║ C API │ ║
└────────────┴─────────┘ ╚═════════╧════════╝
........................................
....
Gibt WeeChat einen Rückgabewert an Ihr Skript 'test.py' zurück wird der
Aufruf in umgekehrter Reihenfolge abgearbeitet:
........................................
....
╔══════════════════╗ ┌──────────────────────┐
║ WeeChat "core" ║ │ python Erweiterung │
║ ┌─────────╢ ├─────────┬────────────┤
║ │ C API ║ ─────► │ C API │ Skript API │ ─────► test.py
╚════════╧═════════╝ └─────────┴────────────┘
........................................
....
[[pointers]]
Pointer
~~~~~~~
=== Pointer
Wie Sie vermutlich wissen existieren in Skripten keine "Pointer". Sendet nun
die API Funktion einen Pointer als Rückgabewert an das Skript, dann wird der
@ -264,9 +250,9 @@ Ein leerer String oder "0x0" sind hierbei erlaubt. Beides wird in C als NULL int
Im folgenden ein Beispiel um Daten im Core Buffer (WeeChat Hauptbuffer) auszugeben:
[source,python]
----------------------------------------
----
weechat.prnt("", "Hi!")
----------------------------------------
----
[WARNING]
Aus Gründen der Geschwindigkeit wird in vielen Funktionen darauf verzichtet
@ -275,8 +261,7 @@ einen gültigen Pointer zu übergeben. Sollten Sie dies nicht beachten dann werd
Sie mit einem netten Crash-Report belohnt ;)
[[callbacks]]
Callbacks
~~~~~~~~~
=== Callbacks
Beinahe alle WeeChat Callbacks müssen entweder WEECHAT_RC_OK oder WEECHAT_RC_ERROR als
Ergebnis zurück liefern. Eine Ausnahme bildet das modifier Callback, hier wird ein
@ -291,18 +276,18 @@ callback Beispiele, für jede Skriptsprache:
* python:
[source,python]
----------------------------------------
----
def timer_cb(data, remaining_calls):
weechat.prnt("", "timer! data=%s" % data)
return weechat.WEECHAT_RC_OK
weechat.hook_timer(1000, 0, 1, "timer_cb", "test")
----------------------------------------
----
* perl:
[source,perl]
----------------------------------------
----
sub timer_cb {
my ($data, $remaining_calls) = @_;
weechat::print("", "timer! data=$data");
@ -310,71 +295,69 @@ sub timer_cb {
}
weechat::hook_timer(1000, 0, 1, "timer_cb", "test");
----------------------------------------
----
* ruby:
[source,ruby]
----------------------------------------
----
def timer_cb(data, remaining_calls)
Weechat.print("", "timer! data=#{data}");
return Weechat::WEECHAT_RC_OK
end
Weechat.hook_timer(1000, 0, 1, "timer_cb", "test");
----------------------------------------
----
* lua:
[source,lua]
----------------------------------------
----
function timer_cb(data, remaining_calls)
weechat.print("", "timer! data="..data)
return weechat.WEECHAT_RC_OK
end
weechat.hook_timer(1000, 0, 1, "timer_cb", "test")
----------------------------------------
----
* tcl:
[source,tcl]
----------------------------------------
----
proc timer_cb { data remaining_calls } {
weechat::print {} "timer! data=$data"
return $::weechat::WEECHAT_RC_OK
}
weechat::hook_timer 1000 0 1 timer_cb test
----------------------------------------
----
* guile (scheme):
[source,lisp]
----------------------------------------
----
(define (timer_cb data remaining_calls)
(weechat:print "" (string-append "timer! data=" data))
weechat:WEECHAT_RC_OK
)
(weechat:hook_timer 1000 0 1 "timer_cb" "test")
----------------------------------------
----
[[script_api]]
Skript API
----------
== Skript API
Um weiterführende Informationen zu den API Funktionen zu erhalten
lesen Sie bitte 'WeeChat Plugin API Reference'.
[[script_api_functions]]
Funktionen
~~~~~~~~~~
=== Funktionen
Liste der Skript API Funktionen:
[width="100%",cols="^1,10",options="header"]
|========================================
|===
| Kategorie | Funktionen
| Allgemein |
register
@ -451,16 +434,15 @@ Liste der Skript API Funktionen:
hdata_pointer, hdata_time, hdata_hashtable, hdata_update, hdata_get_string
| Upgrade |
upgrade_new, upgrade_write_object, upgrade_read, upgrade_close
|========================================
|===
[[script_api_constants]]
Konstanten
~~~~~~~~~~
=== Konstanten
Liste der Konstanten in Skript API:
[width="100%",cols="^1,10",options="header"]
|========================================
|===
| Kategorie | Konstanten
| return codes |
WEECHAT_RC_OK, WEECHAT_RC_OK_EAT, WEECHAT_RC_ERROR
@ -488,23 +470,20 @@ Liste der Konstanten in Skript API:
WEECHAT_HOOK_CONNECT_SOCKET_ERROR
| hook Signal |
WEECHAT_HOOK_SIGNAL_STRING, WEECHAT_HOOK_SIGNAL_INT, WEECHAT_HOOK_SIGNAL_POINTER
|========================================
|===
[[common_tasks]]
Gemeinschaftsaufgabe
--------------------
== Gemeinschaftsaufgabe
Dieses Kapitel beinhaltet einige Aufgaben mit Lösungsbeispielen.
Die Skript API wird dabei nur sehr oberflächlich besprochen.Um eine vollständige
Übersicht aller Befehle zu erhalten nutzen Sie bitte die 'WeeChat Plugin API Reference'.
[[buffers]]
Buffer
~~~~~~
=== Buffer
[[buffers_display_messages]]
Nachrichten anzeigen
^^^^^^^^^^^^^^^^^^^^
==== Nachrichten anzeigen
Eine leere Zeichenkette wird häufig verwendet um den WeeChat Core Buffer zu nutzen.
Möchten Sie einen anderen Buffer nutzen dann muss der Pointer dieses Buffers verwendet
@ -513,7 +492,7 @@ werden (Übergabe als String, siehe <<pointers,Pointer>>).
Beispiele:
[source,python]
----------------------------------------
----
# Gibt den Text "Hallo" im Core Buffer aus
weechat.prnt("", "Hallo")
@ -540,14 +519,13 @@ weechat.prnt(buffer, "Nachricht im #weechat Channel")
# (bitte beachten Sie dass der Server- und Channelname durch ein Komma zu trennen sind)
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.prnt(buffer, "Nachricht im #weechat Channel")
----------------------------------------
----
[NOTE]
Die print Funktion heißt in Perl/Ruby/Lua/Tcl `print`. In Python lautet die Funktion `prnt`.
[[buffers_send_text]]
Text in einen Buffer senden
^^^^^^^^^^^^^^^^^^^^^^^^^^^
==== Text in einen Buffer senden
Sie können einen Text oder einen Befehl in einen Buffer senden. Dies entspricht exakt dem
Verhalten als ob Sie einen Text oder einen Befehl in die Befehlszeile eingeben und selbigen
@ -556,18 +534,17 @@ mit der [Eingabe] Taste bestätigen.
Beispiele:
[source,python]
----------------------------------------
----
# führt den Befehl "/help" im aktuellen Buffer aus (die Ausgabe erfolgt im Core-Buffer)
weechat.command("", "/help")
# sendet den Text "Hallo" in den IRC Channel #weechat (die Teilnehmer des Channels sehen diese Nachricht)
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.command(buffer, "Hallo")
----------------------------------------
----
[[buffers_new]]
neuen Buffer öffnen
^^^^^^^^^^^^^^^^^^^
==== neuen Buffer öffnen
Sie können aus Ihrem Skript einen neuen Buffer öffnen um dort Nachrichten auszugeben.
@ -579,7 +556,7 @@ wenn `/buffer close` genutzt wurde).
Beispiele:
[source,python]
----------------------------------------
----
# Callback falls Daten aus der Eingabezeile empfangen wurden
def buffer_input_cb(data, buffer, input_data):
# ...
@ -598,11 +575,10 @@ weechat.buffer_set(buffer, "Titel", "Dies ist die Überschrift für meinen Buffe
# deaktiviert die Protokollierung. Dazu wird die lokale Variable "no_log" auf "1" gesetzt
weechat.buffer_set(buffer, "localvar_set_no_log", "1")
----------------------------------------
----
[[buffers_properties]]
Eigenschaften von Buffern
^^^^^^^^^^^^^^^^^^^^^^^^^
==== Eigenschaften von Buffern
Die verschiedenen Eigenschaften von Buffern können in Form eines Strings, Integer oder als Pointer
vorliegen und gelesen werden.
@ -610,19 +586,19 @@ vorliegen und gelesen werden.
Beispiele:
[source,python]
----------------------------------------
----
buffer = weechat.current_buffer()
nummer = weechat.buffer_get_integer(buffer, "number")
name = weechat.buffer_get_string(buffer, "name")
kurz_name = weechat.buffer_get_string(buffer, "short_name")
----------------------------------------
----
Es ist möglich lokale Variablen eines Buffers hinzuzufügen, zu
lesen oder zu löschen:
[source,python]
----------------------------------------
----
# lokale Variable hinzufügen
weechat.buffer_set(buffer, "localvar_set_meinevariable", "mit_meinem_Wert")
@ -631,22 +607,20 @@ meine_variable = weechat.buffer_get_string(buffer, "localvar_meinevariable")
# lokale Variable löschen
weechat.buffer_set(buffer, "localvar_del_meinevariable", "")
----------------------------------------
----
Um zu sehen welche lokalen Variablen für einen Buffer gesetzt sind führen Sie
bitte in WeeChat folgenden Befehl aus:
----------------------------------------
----
/buffer localvar
----------------------------------------
----
[[hooks]]
Hooks
~~~~~
=== Hooks
[[hook_command]]
neuen Befehl hinzufügen
^^^^^^^^^^^^^^^^^^^^^^^
==== neuen Befehl hinzufügen
Erstellt mittels `hook_command` einen benutzerdefinierten Befehl. Dabei kann
eine benutzerdefinierte Vervollständigung der Argumente genutzt werden.
@ -654,7 +628,7 @@ eine benutzerdefinierte Vervollständigung der Argumente genutzt werden.
Beispiel:
[source,python]
----------------------------------------
----
def mein_befehl_cb(data, buffer, args):
# ...
return weechat.WEECHAT_RC_OK
@ -669,37 +643,35 @@ hook = weechat.hook_command("meinfilter", "Beschreibung meines Filters",
" || add %(filters_names) %(buffers_plugins_names)|*"
" || del %(filters_names)|-all",
"mein_befehl_cb", "")
----------------------------------------
----
Der Befehl wird dann in WeeChat wie folgt genutzt:
----------------------------------------
----
/help meinfilter
/meinfilter Argumente...
----------------------------------------
----
[[hook_timer]]
Nutzung des Timers
^^^^^^^^^^^^^^^^^^
==== Nutzung des Timers
Mittels `hook_timer` wird eine Zeitfunktion implementiert.
Beispiele:
[source,python]
----------------------------------------
----
def timer_cb(data, remaining_calls):
# ...
return weechat.WEECHAT_RC_OK
# Timer wird jede Minute aufgerufen (wenn die Sekunden auf 00 springen)
weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
----------------------------------------
----
[[hook_process]]
Hintergrundprozesse
^^^^^^^^^^^^^^^^^^^
==== Hintergrundprozesse
Mit der Funktion `hook_process` kann ein Hintergrundprozess gestartet werden.
Der Callback wird aufgerufen sobald der Hintergrundprozess abgearbeitet wurde.
@ -711,7 +683,7 @@ gesetzt. Dies ist der Return Code des Befehls.
Beispiele:
[source,python]
----------------------------------------
----
process_output = ""
def my_process_cb(data, command, rc, out, err):
@ -723,11 +695,10 @@ def my_process_cb(data, command, rc, out, err):
return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
----------------------------------------
----
[[url_transfer]]
URL Übertragung
^^^^^^^^^^^^^^^
==== URL Übertragung
_Neu seit Version 0.3.7._
@ -739,7 +710,7 @@ Beispiel eines URL Transfers, ohne zusätzliche Optionen: Die HTML Seite wird
dabei in der Callback-Variable "out" gesichert (Standardausgabe des Prozesses):
[source,python]
----------------------------------------
----
# Zeigt die aktuelle stabile Version von WeeChat an.
weechat_version = ""
@ -753,7 +724,7 @@ def weechat_process_cb(data, command, rc, out, err):
weechat.hook_process("url:http://weechat.org/dev/info/stable/",
30 * 1000, "weechat_process_cb", "")
----------------------------------------
----
[TIP]
Alle Informationen die WeeChat betreffen findet man auf: http://weechat.org/dev/info
@ -762,7 +733,7 @@ Beispiel eines URL Transfers, mit zusätzliche Optionen: Es wird das neuste
WeeChat Entwicklerpaket in die Datei '/tmp/weechat-devel.tar.gz' gesichert:
[source,python]
----------------------------------------
----
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "End of transfer (rc=%s)" % rc)
@ -771,18 +742,16 @@ def my_process_cb(data, command, rc, out, err):
weechat.hook_process_hashtable("url:http://weechat.org/files/src/weechat-devel.tar.gz",
{ "file_out": "/tmp/weechat-devel.tar.gz" },
30 * 1000, "my_process_cb", "")
----------------------------------------
----
Für weiterführende Informationen zum URL Transfer und für die verfügbaren Optionen,
siehe `hook_process` und `hook_process_hashtable` in der API Erweiterung Anleitung.
[[config_options]]
Konfiguration / Optionen
~~~~~~~~~~~~~~~~~~~~~~~~
=== Konfiguration / Optionen
[[config_options_set_script]]
Optionen von Skripten setzen
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
==== Optionen von Skripten setzen
Die Funktion `config_is_set_plugin` wird dazu benutzt um zu testen ob eine Option
gesetzt ist oder nicht. Mit der Funktion `config_set_plugin` wird eine Option gesetzt.
@ -790,7 +759,7 @@ gesetzt ist oder nicht. Mit der Funktion `config_set_plugin` wird eine Option ge
Beispiele:
[source,python]
----------------------------------------
----
skript_optionen = {
"Option1" : "Wert1",
"Option2" : "Wert2",
@ -799,11 +768,10 @@ skript_optionen = {
for option, standardwert in skript_optionen.items():
if not weechat.config_is_set_plugin(option):
weechat.config_set_plugin(option, standardwert)
----------------------------------------
----
[[config_options_detect_changes]]
Veränderungen bemerken
^^^^^^^^^^^^^^^^^^^^^^
==== Veränderungen bemerken
Die Funktion `hook_config` wird dazu benutzt um festzustellen falls ein Anwender
eine Option des Skripts verändert hat.
@ -811,7 +779,7 @@ eine Option des Skripts verändert hat.
Beispiele:
[source,python]
----------------------------------------
----
SKRIPT_NAME = "meinskript"
# ...
@ -826,17 +794,16 @@ def config_cb(data, option, value):
weechat.hook_config("plugins.var.python." + SKRIPT_NAME + ".*", "config_cb", "")
# für die jeweilige Programmiersprache muss "python" durch "perl", "ruby", "lua" oder "tcl" ersetzt werden.
----------------------------------------
----
[[config_options_weechat]]
WeeChat Optionen lesen
^^^^^^^^^^^^^^^^^^^^^^
==== WeeChat Optionen lesen
Die Funktion `config_get` gibt einen Pointer zu einer Option zurück. Abhängig vom Typ der Option
muss entweder `config_string`, `config_boolean`, `config_integer` oder `config_color` genutzt werden.
[source,python]
----------------------------------------
----
# string
weechat.prnt("", "Wert der Option weechat.look.item_time_format ist: %s"
% (weechat.config_string(weechat.config_get("weechat.look.item_time_format"))))
@ -852,15 +819,13 @@ weechat.prnt("", "Wert der Option weechat.look.scroll_page_percent ist: %d"
# color
weechat.prnt("", "Wert der Option weechat.color.chat_delimiters ist: %s"
% (weechat.config_color(weechat.config_get("weechat.color.chat_delimiters"))))
----------------------------------------
----
[[irc]]
IRC
~~~
=== IRC
[[irc_catch_messages]]
Nachrichten abfangen
^^^^^^^^^^^^^^^^^^^^
==== Nachrichten abfangen
Die IRC Erweiterung sendet zwei Signale wenn eine Nachricht empfangen wurde.
`xxx` ist der interne IRC Servername, `yyy` ist der IRC Befehl der empfangen
@ -873,7 +838,7 @@ xxx,irc_in2_yyy::
Signal wird gesendet nachdem die Nachricht verarbeitet wurde.
[source,python]
----------------------------------------
----
def join_cb(data, signal, signal_data):
# Das Signal lautet: "freenode,irc_in2_join"
# signal_data enthält die IRC Nachricht, zum Beispiel: ":nick!user@host JOIN :#channel"
@ -888,53 +853,49 @@ def join_cb(data, signal, signal_data):
# es ist sinnvoll als Server "*" anzugeben um alle JOIN Nachrichten von allen
# IRC Servern abzufangen
weechat.hook_signal("*,irc_in2_join", "join_cb", "")
----------------------------------------
----
[[irc_modify_messages]]
Modify messages
^^^^^^^^^^^^^^^
==== Modify messages
Die IRC Erweiterung verschickt einen "modifier" mit Namen "irc_in_xxx" ("xxx" steht für den
Namen des IRC Befehls) um eine Nachricht zu empfangen die dann modifiziert werden kann.
[source,python]
----------------------------------------
----
def modifier_cb(data, modifier, modifier_data, string):
# füge den Namen des Server zu allen empfangenen Nachrichten hinzu
# (Okay dies ist nicht wirklich sinnvoll, aber es ist auch nur ein Beispiel!)
return "%s %s" % (string, modifier_data)
weechat.hook_modifier("irc_in_privmsg", "modifier_cb", "")
----------------------------------------
----
[WARNING]
Eine fehlerhafte Nachricht kann WeeChat zum Absturz bringen oder andere ernsthafte Probleme erzeugen!
[[irc_message_parse]]
Nachrichten parsen
^^^^^^^^^^^^^^^^^^
==== Nachrichten parsen
_Neu seit Version 0.3.4._
Man kann IRC Nachrichten mittels einer info_hashtable mit dem Namen "irc_message_parse" parsen.
[source,python]
----------------------------------------
----
dict = weechat.info_get_hashtable("irc_message_parse",
{ "message": ":nick!user@host PRIVMSG #weechat :message here" })
weechat.prnt("", "dict: %s" % dict)
# output:
# dict: {'nick': 'nick', 'host': 'nick!user@host', 'command': 'PRIVMSG', 'arguments': '#weechat :message here', 'channel': '#weechat'}
----------------------------------------
----
[[infos]]
Infos
~~~~~
=== Infos
[[infos_weechat_version]]
WeeChat Version
^^^^^^^^^^^^^^^
==== WeeChat Version
Die sinnvollste Methode um die Version abzufragen ist die Nutzung
von "version_number". Das Ergebnis sollte mit einem hexadezimalen
@ -943,13 +904,13 @@ Integer-Wert verglichen werden.
Beispiele:
[source,python]
----------------------------------------
----
version = weechat.info_get("version_number", "") or 0
if int(version) >= 0x00030200:
weechat.prnt("", "Es handelt sich um WeeChat 0.3.2 oder neuer")
else:
weechat.prnt("", "Es handelt sich um WeeChat 0.3.1 oder älter")
----------------------------------------
----
[NOTE]
Versionen ≤ 0.3.1.1 geben einen leeren String zurück wenn man 'info_get("version_number")'
@ -958,31 +919,28 @@ aufruft. Deshalb müssen Sie prüfen ob der Rückgabe wert *nicht* leer ist.
Um die Version als String zu erhalten:
[source,python]
----------------------------------------
----
# Dies gibt z.B. "Version 0.3.2" im Core Buffer aus
weechat.prnt("", "Version %s" % weechat.info_get("version", ""))
----------------------------------------
----
[[infos_other]]
andere Informationen
^^^^^^^^^^^^^^^^^^^^
==== andere Informationen
[source,python]
----------------------------------------
----
# WeeChat Hauptverzeichnis, zum Beispiel: "/home/xxxx/.weechat"
weechat.prnt("", "WeeChat Hauptverzeichnis: %s" % weechat.info_get("weechat_dir", ""))
# Inaktivität der Tastatur
weechat.prnt("", "Tastatur ist seit %s Sekunden nicht mehr betätigt worden" % weechat.info_get("inactivity", ""))
----------------------------------------
----
[[infolists]]
Infolisten
~~~~~~~~~~
=== Infolisten
[[infolists_read]]
Infoliste einlesen
^^^^^^^^^^^^^^^^^^
==== Infoliste einlesen
Es können Infolisten eingelesen werden die entweder von WeeChat oder von
Erweiterungen erstellt wurden.
@ -990,7 +948,7 @@ Erweiterungen erstellt wurden.
Beispiele:
[source,python]
----------------------------------------
----
# Infoliste "buffer" einlesen, um eine Liste aller Buffer zu erhalten
infolist = weechat.infolist_get("buffer", "", "")
if infolist:
@ -998,7 +956,7 @@ if infolist:
name = weechat.infolist_string(infolist, "name")
weechat.prnt("", "Buffer: %s" % name)
weechat.infolist_free(infolist)
----------------------------------------
----
[IMPORTANT]
Vergessen Sie bitte nicht `infolist_free` aufzurufen um den Speicher wieder

View File

@ -1,11 +1,9 @@
WeeChat Anleitung für Testpersonen
==================================
= WeeChat Anleitung für Testpersonen
Sébastien Helleu <flashcode@flashtux.org>
[[purpose]]
Intention
---------
== Intention
Viele dankbare Anwender fragen uns wie sie bei der Entwicklung von WeeChat
helfen können. Der einfachste (aber auch der kniffligste) Weg uns zu helfen ist:
@ -30,8 +28,7 @@ alte Fehler schon behoben wurden.
[[prepare_system]]
Bereite Dein System vor
-----------------------
== Bereite Dein System vor
Es wäre uns schon sehr damit geholfen wenn Du Linux 'core' Dateien aktivieren würdest.
Falls WeeChat abstürzen sollte wird eine Datei Namens 'core' erzeugt. Diese Datei
@ -41,14 +38,13 @@ zu lokalisieren.
Falls Du die 'bash' als shell benutzt, dann ergänze Deine `~/.bashrc` durch folgende
Zeile:
----------------------------------------
----
ulimit -c unlimited
----------------------------------------
----
[[download]]
Besorge Dir die Entwickler-Version
----------------------------------
== Besorge Dir die Entwickler-Version
aktueller Programmcode (mit den aktuellen Fehlern und Funktionen) ist im GIT Repository
gespeichert.
@ -61,56 +57,55 @@ Du könntest Dich dazu entscheiden es manuell zu bauen (empfohlen):
von WeeChat auch nicht.
[[get_sources]]
Beschaffe und baue die Quellen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Beschaffe und baue die Quellen
Erstelle zuerst einen neuen Ordner, z.B. 'weechat-git':
----------------------------------------
----
$ mkdir ~/weechat-git
$ cd ~/weechat-git
----------------------------------------
----
Falls Du git installiert hast, clone das git Repository (empfohlen):
----------------------------------------
----
$ git clone git://git.sv.gnu.org/weechat.git
$ cd weechat
----------------------------------------
----
NOTE: Um auf den aktuellen Stand zu kommen verwendest Du z.B. "`git pull`" in
diesem Ordner.
Ansonsten kannst Du das 'Entwickler-Paket' herunterladen und entpacken:
----------------------------------------
----
$ wget http://www.weechat.org/files/src/weechat-devel.tar.bz2
$ tar xvjf weechat-devel.tar.bz2
$ cd weechat-devel
----------------------------------------
----
Um die Quellen zu übersetzen, wird cmake empfohlen:
----------------------------------------
----
$ mkdir build
$ cd build
$ cmake .. -DPREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
$ make
$ make install
----------------------------------------
----
Falls Du cmake nicht hast, ist es auch möglich die autotools zu nutzen:
----------------------------------------
----
$ ./autogen.sh
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
$ make
$ make install
----------------------------------------
----
[[install_binary_package]]
Installieren des Programm-Paketes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Installieren des Programm-Paketes
Abhängig Deiner Linux Distribution:
* Debian: http://debian.flashtux.org/
@ -120,17 +115,16 @@ Abhängig Deiner Linux Distribution:
[[run]]
WeeChat starten
---------------
== WeeChat starten
Es wird empfohlen WeeChat durch die Option `--dir` mit einem anderen Ordner zu
starten (nicht mit dem Ordner der stabilen Version).
Die Befehlszeile lautet:
----------------------------------------
----
$ ~/weechat-git/bin/weechat
----------------------------------------
----
Immer noch munter? Dann solltest Du jetzt das bekannte Interface sehen und nun
prahle vor Anderen, dass Du die neueste WeeChat-Version verwendest :)
@ -144,8 +138,7 @@ Auch falls alles korrekt funktionieren sollte gib uns trotzdem Bescheid, wir
brauchen Deine Rückmeldung!
[[links]]
Nützliche Links
---------------
== Nützliche Links
* GIT repository: http://git.savannah.gnu.org/gitweb/?p=weechat.git
* Bug tracker: https://savannah.nongnu.org/bugs/?group=weechat

File diff suppressed because it is too large Load Diff

View File

@ -418,7 +418,7 @@ def docgen_cmd_cb(data, buffer, args):
args_desc = translate(_cmd['args_description'])
f.write('[[command_{0}_{1}]]\n'.format(plugin, command))
f.write('[command]*`{0}`* {1}::\n\n'.format(command, desc))
f.write('----------------------------------------\n')
f.write('----\n')
prefix = '/' + command + ' '
if args_formats != ['']:
for fmt in args_formats:
@ -428,7 +428,7 @@ def docgen_cmd_cb(data, buffer, args):
f.write('\n')
for line in args_desc.split('\n'):
f.write(line + '\n')
f.write('----------------------------------------\n\n')
f.write('----\n\n')
f.close()
update_file(filename, tmpfilename, num_files, num_files_updated,
'commands')
@ -501,7 +501,7 @@ def docgen_cmd_cb(data, buffer, args):
tmpfilename = filename + '.tmp'
f = open(tmpfilename, 'w')
f.write('[width="100%",cols="^1,^2,6,6",options="header"]\n')
f.write('|========================================\n')
f.write('|===\n')
f.write('| {0} | {1} | {2} | {3}\n\n'
''.format(_('Plugin'), _('Name'), _('Description'),
_('Arguments')))
@ -513,7 +513,7 @@ def docgen_cmd_cb(data, buffer, args):
f.write('| {0} | {1} | {2} | {3}\n\n'
''.format(escape(plugin), escape(info),
escape(desc), escape(args_desc)))
f.write('|========================================\n')
f.write('|===\n')
f.close()
update_file(filename, tmpfilename, num_files, num_files_updated,
'infos')
@ -523,7 +523,7 @@ def docgen_cmd_cb(data, buffer, args):
tmpfilename = filename + '.tmp'
f = open(tmpfilename, 'w')
f.write('[width="100%",cols="^1,^2,6,6,6",options="header"]\n')
f.write('|========================================\n')
f.write('|===\n')
f.write('| {0} | {1} | {2} | {3} | {4}\n\n'
''.format(_('Plugin'), _('Name'), _('Description'),
_('Hashtable (input)'), _('Hashtable (output)')))
@ -537,7 +537,7 @@ def docgen_cmd_cb(data, buffer, args):
''.format(escape(plugin), escape(info),
escape(desc), escape(args_desc),
escape(output_desc)))
f.write('|========================================\n')
f.write('|===\n')
f.close()
update_file(filename, tmpfilename, num_files, num_files_updated,
'infos_hashtable')
@ -547,7 +547,7 @@ def docgen_cmd_cb(data, buffer, args):
tmpfilename = filename + '.tmp'
f = open(tmpfilename, 'w')
f.write('[width="100%",cols="^1,^2,5,5,5",options="header"]\n')
f.write('|========================================\n')
f.write('|===\n')
f.write('| {0} | {1} | {2} | {3} | {4}\n\n'
''.format(_('Plugin'), _('Name'), _('Description'),
_('Pointer'), _('Arguments')))
@ -561,7 +561,7 @@ def docgen_cmd_cb(data, buffer, args):
''.format(escape(plugin), escape(infolist),
escape(desc), escape(pointer_desc),
escape(args_desc)))
f.write('|========================================\n')
f.write('|===\n')
f.close()
update_file(filename, tmpfilename, num_files, num_files_updated,
'infolists')
@ -596,7 +596,7 @@ def docgen_cmd_cb(data, buffer, args):
tmpfilename = filename + '.tmp'
f = open(tmpfilename, 'w')
f.write('[width="65%",cols="^1,^2,8",options="header"]\n')
f.write('|========================================\n')
f.write('|===\n')
f.write('| {0} | {1} | {2}\n\n'
''.format(_('Plugin'), _('Name'), _('Description')))
for plugin in sorted(completions):
@ -606,7 +606,7 @@ def docgen_cmd_cb(data, buffer, args):
f.write('| {0} | {1} | {2}\n\n'
''.format(escape(plugin), escape(completion_item),
escape(desc)))
f.write('|========================================\n')
f.write('|===\n')
f.close()
update_file(filename, tmpfilename, num_files, num_files_updated,
'completions')
@ -616,7 +616,7 @@ def docgen_cmd_cb(data, buffer, args):
tmpfilename = filename + '.tmp'
f = open(tmpfilename, 'w')
f.write('[width="100%",cols="2,^1,7",options="header"]\n')
f.write('|========================================\n')
f.write('|===\n')
f.write('| {0} | {1} | {2}\n\n'
''.format(_('Option'), _('Type'), _('Constants') + ' ^(1)^'))
for option in url_options:
@ -626,7 +626,7 @@ def docgen_cmd_cb(data, buffer, args):
f.write('| {0} | {1} |{2}\n\n'
''.format(escape(option['name']), escape(option['type']),
escape(constants)))
f.write('|========================================\n')
f.write('|===\n')
f.close()
update_file(filename, tmpfilename, num_files, num_files_updated,
'url_options')

View File

@ -1,5 +1,5 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
|===
| Plugin | Name | Description
| alias | alias | list of aliases
@ -130,4 +130,4 @@
| xfer | nick | nicks of DCC chat
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="^1,^2,5,5,5",options="header"]
|========================================
|===
| Plugin | Name | Description | Pointer | Arguments
| alias | alias | list of aliases | alias pointer (optional) | alias name (can start or end with "*" as wildcard) (optional)
@ -70,4 +70,4 @@
| xfer | xfer | list of xfer | xfer pointer (optional) | -
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="^1,^2,6,6",options="header"]
|========================================
|===
| Plugin | Name | Description | Arguments
| aspell | aspell_dict | comma-separated list of dictionaries used in buffer | buffer pointer ("0x12345678") or buffer full name ("irc.freenode.#weechat")
@ -62,4 +62,4 @@
| weechat | weechat_upgrading | 1 if WeeChat is upgrading (command `/upgrade`) | -
|========================================
|===

View File

@ -1,9 +1,9 @@
[width="100%",cols="^1,^2,6,6,6",options="header"]
|========================================
|===
| Plugin | Name | Description | Hashtable (input) | Hashtable (output)
| irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "tags": tags, "message_without_tags": message without the tags, "nick": nick, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel)
| irc | irc_message_split | split an IRC message (to fit in 512 bytes) | "message": IRC message, "server": server name (optional) | "msg1" ... "msgN": messages to send (without final "\r\n"), "args1" ... "argsN": arguments of messages, "count": number of messages
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="2,^1,7",options="header"]
|========================================
|===
| Option | Type | Constants ^(1)^
| verbose | long |
@ -298,4 +298,4 @@
| new_directory_perms | long |
|========================================
|===

View File

@ -1,7 +1,7 @@
[[command_alias_alias]]
[command]*`alias`* create an alias for a command::
----------------------------------------
----
/alias [-completion <completion>] <alias> [<command> [;<command>...]]
completion: completion for alias (optional, by default completion is done with target command)
@ -30,5 +30,5 @@ Examples:
/alias hello /allchan -exclude=#weechat msg * hello
alias /forcejoin to send IRC command "forcejoin" with completion of /sajoin:
/alias -completion %%sajoin forcejoin /quote forcejoin
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_aspell_aspell]]
[command]*`aspell`* aspell plugin configuration::
----------------------------------------
----
/aspell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
@ -23,5 +23,5 @@ To enable aspell on all buffers, use option "default_dict", then enable aspell,
/aspell enable
Default key to toggle aspell is alt-s.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_charset_charset]]
[command]*`charset`* change charset for current buffer::
----------------------------------------
----
/charset decode|encode <charset>
reset
@ -9,5 +9,5 @@
encode: change encoding charset
charset: new charset for current buffer
reset: reset charsets for current buffer
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_guile_guile]]
[command]*`guile`* list/load/unload scripts::
----------------------------------------
----
/guile list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: script (file) to load
-q: quiet mode: do not display messages
Without argument, this command lists all loaded scripts.
----------------------------------------
----

View File

@ -1,16 +1,16 @@
[[command_irc_admin]]
[command]*`admin`* find information about the administrator of the server::
----------------------------------------
----
/admin [<target>]
target: server
----------------------------------------
----
[[command_irc_allchan]]
[command]*`allchan`* execute a command on all channels of all connected servers::
----------------------------------------
----
/allchan [-current] [-exclude=<channel>[,<channel>...]] <command> [<arguments>]
-current: execute command for channels of current server only
@ -25,12 +25,12 @@ Examples:
/allchan -exclude=#weechat msg * hello
say 'hello' everywhere but not on #weechat and channels beginning with #linux:
/allchan -exclude=#weechat,#linux* msg * hello
----------------------------------------
----
[[command_irc_allserv]]
[command]*`allserv`* execute a command on all connected servers::
----------------------------------------
----
/allserv [-exclude=<server>[,<server>...]] <command> [<arguments>]
-exclude: exclude some servers ('*' is allowed at beginning or end of server name, to exclude many servers)
@ -44,24 +44,24 @@ Examples:
/allserv away I'm away
do a whois on my nick on all servers:
/allserv whois $nick
----------------------------------------
----
[[command_irc_ban]]
[command]*`ban`* ban nicks or hosts::
----------------------------------------
----
/ban [<channel>] [<nick> [<nick>...]]
channel: channel for ban
nick: user or host to ban
Without argument, this command display ban list for current channel.
----------------------------------------
----
[[command_irc_connect]]
[command]*`connect`* connect to IRC server(s)::
----------------------------------------
----
/connect <server> [<server>...] [-<option>[=<value>]] [-no<option>] [-nojoin] [-switch]
-all|-auto|-open [-nojoin] [-switch]
@ -85,33 +85,33 @@ Examples:
/connect my.server.org/6697 -ssl -password=test
/connect irc://nick@irc.oftc.net/#channel
/connect -switch
----------------------------------------
----
[[command_irc_ctcp]]
[command]*`ctcp`* send a CTCP message (Client-To-Client Protocol)::
----------------------------------------
----
/ctcp <target> <type> [<arguments>]
target: nick or channel to send CTCP to
type: CTCP type (examples: "version", "ping", ..)
arguments: arguments for CTCP
----------------------------------------
----
[[command_irc_cycle]]
[command]*`cycle`* leave and rejoin a channel::
----------------------------------------
----
/cycle [<channel>[,<channel>...]] [<message>]
channel: channel name for cycle
message: part message (displayed to other users)
----------------------------------------
----
[[command_irc_dcc]]
[command]*`dcc`* start a DCC (file transfer or direct chat)::
----------------------------------------
----
/dcc chat <nick>
send <nick> <file>
@ -123,76 +123,76 @@ Examples:
/dcc chat toto
send file "/home/foo/bar.txt" to nick "toto":
/dcc send toto /home/foo/bar.txt
----------------------------------------
----
[[command_irc_dehalfop]]
[command]*`dehalfop`* remove channel half-operator status from nick(s)::
----------------------------------------
----
/dehalfop <nick> [<nick>...]
nick: nick or mask (can start or end with "*" as wildcard)
*: remove channel half-operator status from everybody on channel except yourself
----------------------------------------
----
[[command_irc_deop]]
[command]*`deop`* remove channel operator status from nick(s)::
----------------------------------------
----
/deop <nick> [<nick>...]
* -yes
nick: nick or mask (can start or end with "*" as wildcard)
*: remove channel operator status from everybody on channel except yourself
----------------------------------------
----
[[command_irc_devoice]]
[command]*`devoice`* remove voice from nick(s)::
----------------------------------------
----
/devoice <nick> [<nick>...]
* -yes
nick: nick or mask (can start or end with "*" as wildcard)
*: remove voice from everybody on channel
----------------------------------------
----
[[command_irc_die]]
[command]*`die`* shutdown the server::
----------------------------------------
----
/die [<target>]
target: server name
----------------------------------------
----
[[command_irc_disconnect]]
[command]*`disconnect`* disconnect from one or all IRC servers::
----------------------------------------
----
/disconnect [<server>|-all|-pending [<reason>]]
server: server name to disconnect
-all: disconnect from all servers
-pending: cancel auto-reconnection on servers currently reconnecting
reason: reason for quit
----------------------------------------
----
[[command_irc_halfop]]
[command]*`halfop`* give channel half-operator status to nick(s)::
----------------------------------------
----
/halfop <nick> [<nick>...]
* -yes
nick: nick or mask (can start or end with "*" as wildcard)
*: give channel half-operator status to everybody on channel
----------------------------------------
----
[[command_irc_ignore]]
[command]*`ignore`* ignore nicks/hosts from servers or channels::
----------------------------------------
----
/ignore list
add [re:]<nick> [<server> [<channel>]]
del <number>|-all
@ -215,40 +215,40 @@ Examples:
/ignore add toto@domain.com freenode
ignore host "toto*@*.domain.com" on freenode/#weechat:
/ignore add toto*@*.domain.com freenode #weechat
----------------------------------------
----
[[command_irc_info]]
[command]*`info`* get information describing the server::
----------------------------------------
----
/info [<target>]
target: server name
----------------------------------------
----
[[command_irc_invite]]
[command]*`invite`* invite a nick on a channel::
----------------------------------------
----
/invite <nick> [<nick>...] [<channel>]
nick: nick to invite
channel: channel to invite
----------------------------------------
----
[[command_irc_ison]]
[command]*`ison`* check if a nick is currently on IRC::
----------------------------------------
----
/ison <nick> [<nick>...]
nick: nick
----------------------------------------
----
[[command_irc_join]]
[command]*`join`* join a channel::
----------------------------------------
----
/join [-noswitch] [-server <server>] [<channel1>[,<channel2>...]] [<key1>[,<key2>...]]
-noswitch: do not switch to new buffer
@ -261,23 +261,23 @@ Examples:
/join #protectedchan,#weechat key
/join -server freenode #weechat
/join -noswitch #weechat
----------------------------------------
----
[[command_irc_kick]]
[command]*`kick`* forcibly remove a user from a channel::
----------------------------------------
----
/kick [<channel>] <nick> [<reason>]
channel: channel where user is
nick: nick to kick
reason: reason for kick (special variables $nick, $channel and $server are replaced by their value)
----------------------------------------
----
[[command_irc_kickban]]
[command]*`kickban`* kicks and bans a nick from a channel::
----------------------------------------
----
/kickban [<channel>] <nick> [<reason>]
channel: channel where user is
@ -289,32 +289,32 @@ It is possible to kick/ban with a mask, nick will be extracted from mask and rep
Example:
ban "*!*@host.com" and then kick "toto":
/kickban toto!*@host.com
----------------------------------------
----
[[command_irc_kill]]
[command]*`kill`* close client-server connection::
----------------------------------------
----
/kill <nick> <reason>
nick: nick to kill
reason: reason for kill
----------------------------------------
----
[[command_irc_links]]
[command]*`links`* list all servernames which are known by the server answering the query::
----------------------------------------
----
/links [[<server>] <server_mask>]
server: this server should answer the query
server_mask: list of servers must match this mask
----------------------------------------
----
[[command_irc_list]]
[command]*`list`* list channels and their topic::
----------------------------------------
----
/list [<channel>[,<channel>...]] [<server>] [-re <regex>]
channel: channel to list
@ -328,37 +328,37 @@ Examples:
/list #weechat
list all channels beginning with "#weechat" (can be very slow on large networks):
/list -re #weechat.*
----------------------------------------
----
[[command_irc_lusers]]
[command]*`lusers`* get statistics about the size of the IRC network::
----------------------------------------
----
/lusers [<mask> [<target>]]
mask: servers matching the mask only
target: server for forwarding request
----------------------------------------
----
[[command_irc_map]]
[command]*`map`* show a graphical map of the IRC network::
----------------------------------------
----------------------------------------
----
----
[[command_irc_me]]
[command]*`me`* send a CTCP action to the current channel::
----------------------------------------
----
/me <message>
message: message to send
----------------------------------------
----
[[command_irc_mode]]
[command]*`mode`* change channel or user mode::
----------------------------------------
----
/mode [<channel>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<arguments>]
<nick> [+|-]i|s|w|o
@ -390,62 +390,62 @@ Examples:
/mode #weechat +t
become invisible on server:
/mode nick +i
----------------------------------------
----
[[command_irc_motd]]
[command]*`motd`* get the "Message Of The Day"::
----------------------------------------
----
/motd [<target>]
target: server name
----------------------------------------
----
[[command_irc_msg]]
[command]*`msg`* send message to a nick or channel::
----------------------------------------
----
/msg [-server <server>] <target>[,<target>...] <text>
server: send to this server (internal name)
target: nick or channel (may be mask, '*' = current channel)
text: text to send
----------------------------------------
----
[[command_irc_names]]
[command]*`names`* list nicks on channels::
----------------------------------------
----
/names [<channel>[,<channel>...]]
channel: channel name
----------------------------------------
----
[[command_irc_nick]]
[command]*`nick`* change current nick::
----------------------------------------
----
/nick [-all] <nick>
-all: set new nick for all connected servers
nick: new nick
----------------------------------------
----
[[command_irc_notice]]
[command]*`notice`* send notice message to user::
----------------------------------------
----
/notice [-server <server>] <target> <text>
server: send to this server (internal name)
target: nick or channel
text: text to send
----------------------------------------
----
[[command_irc_notify]]
[command]*`notify`* add a notification for presence or away status of nicks on servers::
----------------------------------------
----
/notify add <nick> [<server> [-away]]
del <nick>|-all [<server>]
@ -465,96 +465,96 @@ Examples:
/notify add toto freenode
notify when "toto" is away or back on freenode server:
/notify add toto freenode -away
----------------------------------------
----
[[command_irc_op]]
[command]*`op`* give channel operator status to nick(s)::
----------------------------------------
----
/op <nick> [<nick>...]
* -yes
nick: nick or mask (can start or end with "*" as wildcard)
*: give channel operator status to everybody on channel
----------------------------------------
----
[[command_irc_oper]]
[command]*`oper`* get operator privileges::
----------------------------------------
----
/oper <user> <password>
user: user
password: password
----------------------------------------
----
[[command_irc_part]]
[command]*`part`* leave a channel::
----------------------------------------
----
/part [<channel>[,<channel>...]] [<message>]
channel: channel name to leave
message: part message (displayed to other users)
----------------------------------------
----
[[command_irc_ping]]
[command]*`ping`* send a ping to server::
----------------------------------------
----
/ping <server1> [<server2>]
server1: server
server2: forward ping to this server
----------------------------------------
----
[[command_irc_pong]]
[command]*`pong`* answer to a ping message::
----------------------------------------
----
/pong <daemon> [<daemon2>]
daemon: daemon who has responded to Ping message
daemon2: forward message to this daemon
----------------------------------------
----
[[command_irc_query]]
[command]*`query`* send a private message to a nick::
----------------------------------------
----
/query [-server <server>] <nick>[,<nick>...] [<text>]
server: send to this server (internal name)
nick: nick for private conversation
text: text to send
----------------------------------------
----
[[command_irc_quiet]]
[command]*`quiet`* quiet nicks or hosts::
----------------------------------------
----
/quiet [<channel>] [<nick> [<nick>...]]
channel: channel for quiet
nick: user or host to quiet
Without argument, this command display quiet list for current channel.
----------------------------------------
----
[[command_irc_quote]]
[command]*`quote`* send raw data to server without parsing::
----------------------------------------
----
/quote [-server <server>] <data>
server: send to this server (internal name)
data: raw data to send
----------------------------------------
----
[[command_irc_reconnect]]
[command]*`reconnect`* reconnect to server(s)::
----------------------------------------
----
/reconnect <server> [<server>...] [-nojoin] [-switch]
-all [-nojoin] [-switch]
@ -562,80 +562,80 @@ server: send to this server (internal name)
-all: reconnect to all servers
-nojoin: do not join any channel (even if autojoin is enabled on server)
-switch: switch to next server address
----------------------------------------
----
[[command_irc_rehash]]
[command]*`rehash`* tell the server to reload its config file::
----------------------------------------
----
/rehash [<option>]
option: extra option, for some servers
----------------------------------------
----
[[command_irc_restart]]
[command]*`restart`* tell the server to restart itself::
----------------------------------------
----
/restart [<target>]
target: server name
----------------------------------------
----
[[command_irc_sajoin]]
[command]*`sajoin`* force a user to join channel(s)::
----------------------------------------
----
/sajoin <nick> <channel>[,<channel>...]
nick: nick
channel: channel name
----------------------------------------
----
[[command_irc_samode]]
[command]*`samode`* change mode on channel, without having operator status::
----------------------------------------
----
/samode <channel> <mode>
channel: channel name
mode: mode for channel
----------------------------------------
----
[[command_irc_sanick]]
[command]*`sanick`* force a user to use another nick::
----------------------------------------
----
/sanick <nick> <new_nick>
nick: nick
new_nick: new nick
----------------------------------------
----
[[command_irc_sapart]]
[command]*`sapart`* force a user to leave channel(s)::
----------------------------------------
----
/sapart <nick> <channel>[,<channel>...]
nick: nick
channel: channel name
----------------------------------------
----
[[command_irc_saquit]]
[command]*`saquit`* force a user to quit server with a reason::
----------------------------------------
----
/saquit <nick> <reason>
nick: nick
reason: reason
----------------------------------------
----
[[command_irc_server]]
[command]*`server`* list, add or remove IRC servers::
----------------------------------------
----
/server list|listfull [<server>]
add <server> <hostname>[/<port>] [-temp] [-<option>[=<value>]] [-no<option>]
copy|rename <server> <new_name>
@ -668,179 +668,179 @@ Examples:
/server rename oftc newoftc
/server del freenode
/server deloutq
----------------------------------------
----
[[command_irc_service]]
[command]*`service`* register a new service::
----------------------------------------
----
/service <nick> <reserved> <distribution> <type> <reserved> <info>
distribution: visibility of service
type: reserved for future usage
----------------------------------------
----
[[command_irc_servlist]]
[command]*`servlist`* list services currently connected to the network::
----------------------------------------
----
/servlist [<mask> [<type>]]
mask: list only services matching this mask
type: list only services of this type
----------------------------------------
----
[[command_irc_squery]]
[command]*`squery`* deliver a message to a service::
----------------------------------------
----
/squery <service> <text>
service: name of service
text: text to send
----------------------------------------
----
[[command_irc_squit]]
[command]*`squit`* disconnect server links::
----------------------------------------
----
/squit <server> <comment>
server: server name
comment: comment for quit
----------------------------------------
----
[[command_irc_stats]]
[command]*`stats`* query statistics about server::
----------------------------------------
----
/stats [<query> [<server>]]
query: c/h/i/k/l/m/o/y/u (see RFC1459)
server: server name
----------------------------------------
----
[[command_irc_summon]]
[command]*`summon`* give users who are on a host running an IRC server a message asking them to please join IRC::
----------------------------------------
----
/summon <user> [<target> [<channel>]]
user: username
target: server name
channel: channel name
----------------------------------------
----
[[command_irc_time]]
[command]*`time`* query local time from server::
----------------------------------------
----
/time [<target>]
target: query time from specified server
----------------------------------------
----
[[command_irc_topic]]
[command]*`topic`* get/set channel topic::
----------------------------------------
----
/topic [<channel>] [<topic>|-delete]
channel: channel name
topic: new topic for channel
-delete: delete channel topic
----------------------------------------
----
[[command_irc_trace]]
[command]*`trace`* find the route to specific server::
----------------------------------------
----
/trace [<target>]
target: server
----------------------------------------
----
[[command_irc_unban]]
[command]*`unban`* unban nicks or hosts::
----------------------------------------
----
/unban [<channel>] <nick> [<nick>...]
channel: channel for unban
nick: user or host to unban
----------------------------------------
----
[[command_irc_userhost]]
[command]*`userhost`* return a list of information about nicks::
----------------------------------------
----
/userhost <nick> [<nick>...]
nick: nick
----------------------------------------
----
[[command_irc_users]]
[command]*`users`* list of users logged into the server::
----------------------------------------
----
/users [<target>]
target: server
----------------------------------------
----
[[command_irc_version]]
[command]*`version`* give the version info of nick or server (current or specified)::
----------------------------------------
----
/version [<server>|<nick>]
server: server name
nick: nick
----------------------------------------
----
[[command_irc_voice]]
[command]*`voice`* give voice to nick(s)::
----------------------------------------
----
/voice <nick> [<nick>...]
nick: nick or mask (can start or end with "*" as wildcard)
*: give voice to everybody on channel
----------------------------------------
----
[[command_irc_wallchops]]
[command]*`wallchops`* send a notice to channel ops::
----------------------------------------
----
/wallchops [<channel>] <text>
channel: channel name
text: text to send
----------------------------------------
----
[[command_irc_wallops]]
[command]*`wallops`* send a message to all currently connected users who have set the 'w' user mode for themselves::
----------------------------------------
----
/wallops <text>
text: text to send
----------------------------------------
----
[[command_irc_who]]
[command]*`who`* generate a query which returns a list of information::
----------------------------------------
----
/who [<mask> [o]]
mask: only information which match this mask
o: only operators are returned according to the mask supplied
----------------------------------------
----
[[command_irc_whois]]
[command]*`whois`* query information about user(s)::
----------------------------------------
----
/whois [<server>] [<nick>[,<nick>...]]
server: server name
@ -849,16 +849,16 @@ server: server name
Without argument, this command will do a whois on:
- your own nick if buffer is a server/channel
- remote nick if buffer is a private.
----------------------------------------
----
[[command_irc_whowas]]
[command]*`whowas`* ask for information about a nick which no longer exists::
----------------------------------------
----
/whowas <nick>[,<nick>...] [<count> [<target>]]
nick: nick to search
count: number of replies to return (full search if negative number)
target: reply should match this mask
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_logger_logger]]
[command]*`logger`* logger plugin configuration::
----------------------------------------
----
/logger list
set <level>
flush
@ -33,5 +33,5 @@ Examples:
/set logger.level.core.weechat 0
use a directory per IRC server and a file per channel inside:
/set logger.mask.irc "$server/$channel.weechatlog"
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_lua_lua]]
[command]*`lua`* list/load/unload scripts::
----------------------------------------
----
/lua list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: script (file) to load
-q: quiet mode: do not display messages
Without argument, this command lists all loaded scripts.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_perl_perl]]
[command]*`perl`* list/load/unload scripts::
----------------------------------------
----
/perl list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: script (file) to load
-q: quiet mode: do not display messages
Without argument, this command lists all loaded scripts.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_python_python]]
[command]*`python`* list/load/unload scripts::
----------------------------------------
----
/python list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: script (file) to load
-q: quiet mode: do not display messages
Without argument, this command lists all loaded scripts.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_relay_relay]]
[command]*`relay`* relay control::
----------------------------------------
----
/relay list|listfull|listrelay
add [ipv4.][ipv6.][ssl.]<protocol.name> <port>
del [ipv4.][ipv6.][ssl.]<protocol.name>
@ -42,5 +42,5 @@ Examples:
/relay add ipv6.ssl.weechat 9001
weechat protocol with SSL, using IPv4 + IPv6:
/relay add ipv4.ipv6.ssl.weechat 9001
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_rmodifier_rmodifier]]
[command]*`rmodifier`* alter modifier strings with regular expressions::
----------------------------------------
----
/rmodifier list|listdefault
add <name> <modifiers> <groups> <regex>
del <name>|-all [<name>...]
@ -27,5 +27,5 @@ Examples:
/rmodifier del password
delete all rmodifiers:
/rmodifier del -all
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_ruby_ruby]]
[command]*`ruby`* list/load/unload scripts::
----------------------------------------
----
/ruby list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: script (file) to load
-q: quiet mode: do not display messages
Without argument, this command lists all loaded scripts.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_script_script]]
[command]*`script`* WeeChat scripts manager::
----------------------------------------
----
/script list [-o|-i]
search <text>
show <script>
@ -73,5 +73,5 @@ Examples:
/script hold urlserver.py
/script reload urlserver
/script upgrade
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_tcl_tcl]]
[command]*`tcl`* list/load/unload scripts::
----------------------------------------
----
/tcl list|listfull [<name>]
load [-q] <filename>
autoload
@ -18,5 +18,5 @@ filename: script (file) to load
-q: quiet mode: do not display messages
Without argument, this command lists all loaded scripts.
----------------------------------------
----

View File

@ -1,17 +1,17 @@
[[command_weechat_away]]
[command]*`away`* set or remove away status::
----------------------------------------
----
/away [-all] [<message>]
-all: set or remove away status on all connected servers
message: message for away (if no message is given, away status is removed)
----------------------------------------
----
[[command_weechat_bar]]
[command]*`bar`* manage bars::
----------------------------------------
----
/bar list|listfull|listitems
add <name> <type>[,<condition>] <position> <size> <separator> <item1>[,<item2>...]
default [input|title|status|nicklist]
@ -58,12 +58,12 @@ Examples:
/bar scroll nicklist * y+10
scroll to end of nicklist on current buffer:
/bar scroll nicklist * ye
----------------------------------------
----
[[command_weechat_buffer]]
[command]*`buffer`* manage buffers::
----------------------------------------
----
/buffer list
clear [<number>|<name>|-merged|-all]
move|merge <number>
@ -120,12 +120,12 @@ Examples:
/buffer #weechat
jump to next buffer:
/buffer +1
----------------------------------------
----
[[command_weechat_color]]
[command]*`color`* define color aliases and display palette of colors::
----------------------------------------
----
/color alias <color> <name>
unalias <color>
reset
@ -145,22 +145,22 @@ Examples:
/color alias 214 orange
delete color 214:
/color unalias 214
----------------------------------------
----
[[command_weechat_command]]
[command]*`command`* launch explicit WeeChat or plugin command::
----------------------------------------
----
/command <plugin> <command>
plugin: plugin name ('weechat' for WeeChat internal command)
command: command to execute (a '/' is automatically added if not found at beginning of command)
----------------------------------------
----
[[command_weechat_cursor]]
[command]*`cursor`* free movement of cursor on screen to execute actions on specific areas of screen::
----------------------------------------
----
/cursor go chat|<bar>|<x>,<y>
move up|down|left|right|area_up|area_down|area_left|area_right
stop
@ -178,12 +178,12 @@ Examples:
/cursor go nicklist
go to coordinates x=10, y=5:
/cursor go 10,5
----------------------------------------
----
[[command_weechat_debug]]
[command]*`debug`* control debug for core/plugins::
----------------------------------------
----
/debug list
set <plugin> <level>
dump [<plugin>]
@ -208,12 +208,12 @@ infolists: display infos about infolists
tags: display tags for lines
term: display infos about terminal
windows: display windows tree
----------------------------------------
----
[[command_weechat_eval]]
[command]*`eval`* evaluate expression and send result to buffer::
----------------------------------------
----
/eval [-n] <expression>
[-n] -c <expression1> <operator> <expression2>
@ -266,12 +266,12 @@ Examples:
/eval -n -c abcd =~ (?-i)^ABC ==> 0
/eval -n -c abcd =~ (?-i)^abc ==> 1
/eval -n -c abcd !~ abc ==> 0
----------------------------------------
----
[[command_weechat_filter]]
[command]*`filter`* filter messages in buffers, to hide/show them according to tags or regex::
----------------------------------------
----
/filter list
enable|disable|toggle [<name>]
add <name> <buffer>[,<buffer>...] <tags> <regex>
@ -320,12 +320,12 @@ Examples:
/filter add toto irc.freenode.#weechat nick_toto *
filter lines containing "weechat sucks" on IRC channel #weechat:
/filter add sucks irc.freenode.#weechat * weechat sucks
----------------------------------------
----
[[command_weechat_help]]
[command]*`help`* display help about commands and options::
----------------------------------------
----
/help -list|-listfull [<plugin> [<plugin>...]]
<command>
<option>
@ -335,23 +335,23 @@ Examples:
plugin: list commands for this plugin
command: a command name
option: an option name (use /set to see list)
----------------------------------------
----
[[command_weechat_history]]
[command]*`history`* show buffer command history::
----------------------------------------
----
/history clear
<value>
clear: clear history
value: number of history entries to show
----------------------------------------
----
[[command_weechat_input]]
[command]*`input`* functions for command line::
----------------------------------------
----
/input <action> [<arguments>]
list of actions:
@ -406,12 +406,12 @@ list of actions:
paste_stop: stop paste (bracketed paste mode)
This command is used by key bindings or plugins.
----------------------------------------
----
[[command_weechat_key]]
[command]*`key`* bind/unbind keys::
----------------------------------------
----
/key list|listdefault|listdiff [<context>]
bind <key> [<command> [<args>]]
bindctxt <context> <key> [<command> [<args>]]
@ -461,12 +461,12 @@ Examples:
/key bindctxt search ctrl-I /input search_stop
middle button of mouse on a nick to retrieve info on nick:
/key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
----------------------------------------
----
[[command_weechat_layout]]
[command]*`layout`* save/apply/reset layout for buffers and windows::
----------------------------------------
----
/layout save [<name>] [buffers|windows]
apply [<name>] [buffers|windows]
leave
@ -484,12 +484,12 @@ buffers: save/apply only buffers (order of buffers)
windows: save/apply only windows (buffer displayed by each window)
Without argument, this command displays saved layouts.
----------------------------------------
----
[[command_weechat_mouse]]
[command]*`mouse`* mouse control::
----------------------------------------
----
/mouse enable|disable|toggle [<delay>]
enable: enable mouse
@ -504,12 +504,12 @@ Examples:
/mouse enable
toggle mouse for 5 seconds:
/mouse toggle 5
----------------------------------------
----
[[command_weechat_mute]]
[command]*`mute`* execute a command silently::
----------------------------------------
----
/mute [-current | -buffer <name> | -all] command
-current: no output on current buffer
@ -527,12 +527,12 @@ Examples:
/mute -current msg * hi!
message to #weechat channel:
/mute -buffer irc.freenode.#weechat msg #weechat hi!
----------------------------------------
----
[[command_weechat_plugin]]
[command]*`plugin`* list/load/unload plugins::
----------------------------------------
----
/plugin list|listfull [<name>]
load <filename> [<arguments>]
autoload [<arguments>]
@ -550,12 +550,12 @@ Examples:
arguments: arguments given to plugin on load
Without argument, this command lists loaded plugins.
----------------------------------------
----
[[command_weechat_proxy]]
[command]*`proxy`* manage proxies::
----------------------------------------
----
/proxy list
add <name> <type> <address> <port> [<username> [<password>]]
del <name>|-all
@ -584,34 +584,34 @@ Examples:
/proxy add myproxy socks5 sample.host.org 3128 myuser mypass
delete a proxy:
/proxy del myproxy
----------------------------------------
----
[[command_weechat_quit]]
[command]*`quit`* quit WeeChat::
----------------------------------------
----
/quit [-yes] [<arguments>]
-yes: required if option weechat.look.confirm_quit is enabled
arguments: text sent with signal "quit"
(for example irc plugin uses this text to send quit message to server)
----------------------------------------
----
[[command_weechat_reload]]
[command]*`reload`* reload configuration files from disk::
----------------------------------------
----
/reload [<file> [<file>...]]
file: configuration file to reload (without extension ".conf")
Without argument, all files (WeeChat and plugins) are reloaded.
----------------------------------------
----
[[command_weechat_repeat]]
[command]*`repeat`* execute a command several times::
----------------------------------------
----
/repeat [-interval <delay>] <count> <command>
delay: delay between execution of commands (in milliseconds)
@ -623,23 +623,23 @@ All commands are executed on buffer where this command was issued.
Example:
scroll 2 pages up:
/repeat 2 /window page_up
----------------------------------------
----
[[command_weechat_save]]
[command]*`save`* save configuration files to disk::
----------------------------------------
----
/save [<file> [<file>...]]
file: configuration file to save (without extension ".conf")
Without argument, all files (WeeChat and plugins) are saved.
----------------------------------------
----
[[command_weechat_secure]]
[command]*`secure`* manage secured data (passwords or private data encrypted in file sec.conf)::
----------------------------------------
----
/secure passphrase <passphrase>|-delete
decrypt <passphrase>|-discard
set <name> <value>
@ -676,12 +676,12 @@ Examples:
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
alias to ghost the nick "mynick":
/alias ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}
----------------------------------------
----
[[command_weechat_set]]
[command]*`set`* set config options::
----------------------------------------
----
/set [<option> [<value>]]
diff [<option> [<option>...]]
@ -706,12 +706,12 @@ Examples:
/set diff
display changed options in irc plugin:
/set diff irc.*
----------------------------------------
----
[[command_weechat_unset]]
[command]*`unset`* unset/reset config options::
----------------------------------------
----
/unset <option>
option: name of an option (may begin or end with "*" to mass-reset options, use carefully!)
@ -723,12 +723,12 @@ Examples:
/unset weechat.look.item_time_format
reset all color options:
/unset weechat.color.*
----------------------------------------
----
[[command_weechat_upgrade]]
[command]*`upgrade`* upgrade WeeChat without disconnecting from servers::
----------------------------------------
----
/upgrade [<path_to_binary>|-quit]
path_to_binary: path to WeeChat binary (default is current binary)
@ -754,32 +754,32 @@ With option "-quit", the process is slightly different:
Then later you can restore session with command: weechat --upgrade
IMPORTANT: you must restore the session with exactly same configuration (files *.conf).
It is possible to restore WeeChat session on another machine if you copy the content of directory "~/.weechat".
----------------------------------------
----
[[command_weechat_uptime]]
[command]*`uptime`* show WeeChat uptime::
----------------------------------------
----
/uptime [-o | -ol]
-o: send uptime to current buffer as input (english string)
-ol: send uptime to current buffer as input (translated string)
----------------------------------------
----
[[command_weechat_version]]
[command]*`version`* show WeeChat version and compilation date::
----------------------------------------
----
/version [-o | -ol]
-o: send version to current buffer as input (english string)
-ol: send version to current buffer as input (translated string)
----------------------------------------
----
[[command_weechat_wait]]
[command]*`wait`* schedule a command execution in future::
----------------------------------------
----
/wait <number>[<unit>] <command>
number: amount of time to wait (integer number)
@ -799,12 +799,12 @@ Examples:
/wait 15m /away -all I'm away
say 'hello' in 2 minutes:
/wait 2m hello
----------------------------------------
----
[[command_weechat_window]]
[command]*`window`* manage windows::
----------------------------------------
----
/window list
-1|+1|b#|up|down|left|right [-window <number>]
<number>
@ -863,5 +863,5 @@ Examples:
/window scroll -d
zoom on window #2:
/window zoom -window 2
----------------------------------------
----

View File

@ -1,21 +1,21 @@
[[command_xfer_me]]
[command]*`me`* send a CTCP action to remote host::
----------------------------------------
----
/me <message>
message: message to send
----------------------------------------
----
[[command_xfer_xfer]]
[command]*`xfer`* xfer control::
----------------------------------------
----
/xfer [list|listfull]
list: list xfer
listfull: list xfer (verbose)
Without argument, this command opens buffer with xfer list.
----------------------------------------
----

View File

@ -1,14 +1,11 @@
WEECHAT(1)
==========
= WEECHAT(1)
:doctype: manpage
NAME
----
== NAME
weechat - the extensible chat client
SYNOPSIS
--------
== SYNOPSIS
[verse]
'weechat' [-a|--no-connect] [-d|--dir <path>] [-p|--no-plugin] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [plugin:option...]
@ -18,21 +15,18 @@ SYNOPSIS
'weechat' [-l|--license]
'weechat' [-v|--version]
DESCRIPTION
-----------
== DESCRIPTION
WeeChat is a fast, light and extensible chat client.
It is modular (lightweight core with plugins), multi-protocols (IRC and Jabber),
extensible with C and scripts written in several languages.
OPTIONS
-------
== OPTIONS
include::cmdline_options.en.txt[]
PLUGIN OPTIONS
--------------
== PLUGIN OPTIONS
For complete doc on plugin options, please look at plugins documentation in
http://weechat.org/doc[WeeChat user's guide].
@ -50,8 +44,7 @@ example:
irc://mynick@[2001:db8:0:85a3::ac1f:8001]:6668/#test
FILES
-----
== FILES
$HOME/.weechat/weechat.conf::
main WeeChat configuration file
@ -89,8 +82,7 @@ $HOME/.weechat/xfer.conf::
$HOME/.weechat/weechat.log::
WeeChat log file
AUTHORS
-------
== AUTHORS
WeeChat is written by Sébastien Helleu and contributors (complete list is in
the AUTHORS file).
@ -106,8 +98,7 @@ Please read the COPYING file for more information.
Web: <http://weechat.org/>
REPORTING BUGS
--------------
== REPORTING BUGS
Please report bugs or feature requests at Savannah website:

View File

@ -1,5 +1,4 @@
WeeChat Developer's Guide
=========================
= WeeChat Developer's Guide
Sébastien Helleu <flashcode@flashtux.org>
@ -10,8 +9,7 @@ http://weechat.org/doc
[[introduction]]
Introduction
------------
== Introduction
WeeChat (Wee Enhanced Environment for Chat) is a free chat client, fast and
light, designed for many operating systems.
@ -25,8 +23,7 @@ This manual documents WeeChat internals:
* how to contribute to WeeChat
[[repository]]
Repository
----------
== Repository
WeeChat has two main repositories:
@ -38,13 +35,12 @@ WeeChat has two main repositories:
This manual documents only core repository.
[[overview]]
Overview
~~~~~~~~
=== Overview
The main WeeChat directories are:
[width="100%",cols="1l,5",options="header"]
|========================================
|===
| Directory | Description
| debian/ | Debian packaging
| src/ | Root of sources
@ -71,15 +67,13 @@ The main WeeChat directories are:
| doc/ | Documentation
| po/ | Translations files (gettext)
| test/ | Weercd: WeeChat flood irc server, written in Python
|========================================
|===
[[sources]]
Sources
~~~~~~~
=== Sources
[[sources_core]]
Core
^^^^
==== Core
WeeChat "core" reside in following directories:
@ -87,7 +81,7 @@ WeeChat "core" reside in following directories:
* 'src/gui/': functions about interface (buffers, windows, ...)
[width="100%",cols="1l,5",options="header"]
|========================================
|===
| Path/file | Description
| core/ | Core functions: entry point, internal structures
| weechat.c | Entry point, command line options, main functions, startup
@ -144,14 +138,13 @@ WeeChat "core" reside in following directories:
| gui-curses-mouse.c | Mouse
| gui-curses-term.c | Functions about terminal
| gui-curses-window.c | Windows
|========================================
|===
[[sources_plugins]]
Plugins
^^^^^^^
==== Plugins
[width="100%",cols="1l,5",options="header"]
|========================================
|===
| Path/file | Description
| plugins/ | Root of plugins
| plugin.c | Plugins management (load/unload dynamic C libraries)
@ -275,16 +268,15 @@ Plugins
| xfer-info.c | Xfer info/infolists/hdata
| xfer-network.c | Network functions for xfer
| xfer-upgrade.c | Save/restore xfer data when upgrading WeeChat
|========================================
|===
[[documentation_translations]]
Documentation / translations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Documentation / translations
Documentation files:
[width="100%",cols="1l,5",options="header"]
|========================================
|===
| Path/file | Description
| doc/ | Documentation
| asciidoc.conf | Asciidoc configuration file (some macros)
@ -304,25 +296,23 @@ Documentation files:
| autogen/ | Files auto-built with script docgen.py (do *NEVER* update manually!)
| user/ | Files auto-built for user's guide (do *NEVER* update manually!)
| plugin_api/ | Files auto-built for plugin API (do *NEVER* update manually!)
|========================================
|===
Translations for WeeChat and plugins are done with gettext, files are in 'po/' directory:
[width="100%",cols="1l,5",options="header"]
|========================================
|===
| Path/file | Description
| po/ | Translation files (gettext)
| XX.po | Translations for language XX (fr, de, it, ...), base language is English
| weechat.pot | Template for translations (auto-built)
|========================================
|===
[[coding_rules]]
Coding rules
------------
== Coding rules
[[coding_general_rules]]
General rules
~~~~~~~~~~~~~
=== General rules
* In source code, your comments, variable names, .. must be written in English
*only* (no other language is allowed)
@ -330,7 +320,7 @@ General rules
license and below that a short description of file. Example in C:
[source,C]
----------------------------------------
----
/*
* Copyright (C) 2013 Your Name <your@email.com>
*
@ -353,11 +343,10 @@ General rules
/*
* weechat.c: core functions for WeeChat
*/
----------------------------------------
----
[[coding_c_style]]
C style
~~~~~~~
=== C style
Some basic rules you *must* follow when you write C code:
@ -371,7 +360,7 @@ Some basic rules you *must* follow when you write C code:
Example:
[source,C]
----------------------------------------
----
/*
* Checks if a string with boolean value is valid.
*
@ -395,14 +384,14 @@ foo ()
i = 2;
printf ("%d\n", i);
}
----------------------------------------
----
* Use explicit variable names, for example "nicks_count" instead of "n" or "nc".
Exception: in `for` loops, where variables like "i" or "n" are OK.
* Initialize local variables after declaration, in body of function, example:
[source,C]
----------------------------------------
----
void
foo ()
{
@ -412,7 +401,7 @@ foo ()
buffer_count = 1;
/* ... */
}
----------------------------------------
----
* Use parentheses to explicitly show how expression is evaluated, even if
they are not required, for example: write `x + (y * z)` instead of `x + y * z`
@ -420,18 +409,18 @@ foo ()
spaces used for line above opening curly bracket (the `if` in example):
[source,C]
----------------------------------------
----
if (nicks_count == 1)
{
/* something */
}
----------------------------------------
----
* Use empty lines to separate many different blocks inside functions, and if
possible add a comment for each one, like this:
[source,C]
----------------------------------------
----
/*
* Sends a message from out queue.
*/
@ -468,13 +457,13 @@ irc_server_outqueue_send (struct t_irc_server *server)
/* ... */
}
----------------------------------------
----
* Indent the `if` conditions, and use parentheses around conditions with an
operator (not needed for single booleans), like this:
[source,C]
----------------------------------------
----
if (something)
{
/* something */
@ -493,12 +482,12 @@ else
{
/* something else */
}
----------------------------------------
----
* Indent the `switch` statements like this:
[source,C]
----------------------------------------
----
switch (string[0])
{
case 'A': /* first case */
@ -511,12 +500,12 @@ switch (string[0])
baz ();
break;
}
----------------------------------------
----
* Use `typedef` for function prototypes, not structures:
[source,C]
----------------------------------------
----
typedef int (t_hook_callback_fd)(void *data, int fd);
struct t_hook_fd
@ -533,38 +522,34 @@ struct t_hook_fd
struct t_hook_fd *new_hook_fd;
new_hook_fd = malloc (sizeof (*new_hook_fd));
----------------------------------------
----
* This lisp code can be used in your '~/.emacs.el' to indent properly if you are
using Emacs as text editor:
[source,lisp]
----------------------------------------
----
(add-hook 'c-mode-common-hook '(lambda ()
(c-toggle-hungry-state t)
(c-set-style "k&r")
(setq c-basic-offset 4
c-tab-always-indent t)
(c-set-offset 'case-label '+)))
----------------------------------------
----
[[coding_python_style]]
Python style
~~~~~~~~~~~~
=== Python style
See http://www.python.org/dev/peps/pep-0008/
[[core_internals]]
Core internals
--------------
== Core internals
[[naming_convention]]
Naming convention
~~~~~~~~~~~~~~~~~
=== Naming convention
[[naming_convention_files]]
Files
^^^^^
==== Files
File names are composed by letters and hyphens, with format: 'xxx-yyyyy.[ch]',
where 'xxx' is directory/component (can be abbreviation) where the file is, and
@ -576,7 +561,7 @@ The main file of a directory may have same name as directory, for example
Examples:
[width="100%",cols="1l,5",options="header"]
|========================================
|===
| Directory | Files
| src/core/ | weechat.c, wee-backtrace.c, wee-command.c, ...
| src/gui/ | gui-bar.c, gui-bar-item.c, gui-bar-window.c, ...
@ -584,14 +569,13 @@ Examples:
| src/plugins/ | plugin.c, plugin-api.c, plugin-config.c, plugin-script.c, ...
| src/plugins/irc/ | irc.c, irc-bar-item.c, irc-buffer.c, ...
| src/plugins/python/ | weechat-python.c, weechat-python-api.c, ...
|========================================
|===
The headers of C files have same name as file, for example 'wee-command.h' for
file 'wee-command.c'.
[[naming_convention_structures]]
Structures
^^^^^^^^^^
==== Structures
Structures have name 't_X_Y' or 't_X_Y_Z':
@ -602,7 +586,7 @@ Structures have name 't_X_Y' or 't_X_Y_Z':
Example: an IRC nick (from 'src/plugins/irc/irc-nick.h'):
[source,C]
----------------------------------------
----
struct t_irc_nick
{
char *name; /* nickname */
@ -615,11 +599,10 @@ struct t_irc_nick
struct t_irc_nick *prev_nick; /* link to previous nick on channel */
struct t_irc_nick *next_nick; /* link to next nick on channel */
};
----------------------------------------
----
[[naming_convention_variables]]
Variables
^^^^^^^^^
==== Variables
Global variables (outside functions) have name 'X_Y_Z':
@ -633,11 +616,11 @@ Exception are variables for "last" node of a list, name is 'last_X' (where
Example: windows (from 'src/gui/gui-window.c'):
[source,C]
----------------------------------------
----
struct t_gui_window *gui_windows = NULL; /* first window */
struct t_gui_window *last_gui_window = NULL; /* last window */
struct t_gui_window *gui_current_window = NULL; /* current window */
----------------------------------------
----
There is no naming convention for local variables (in functions). The only
recommendation is that name is explicit (not too short).
@ -645,8 +628,7 @@ Nevertheless, pointers to structures are often named 'ptr_xxxx', for example a
pointer on a 'struct t_gui_buffer *' will be: '*ptr_buffer'.
[[naming_convention_functions]]
Functions
^^^^^^^^^
==== Functions
Naming convention for functions is the same as
<<naming_convention_variables,variables,>>.
@ -654,7 +636,7 @@ Naming convention for functions is the same as
Example: creation of a new window (from 'src/gui/gui-window.c'):
[source,C]
----------------------------------------
----
/*
* Creates a new window.
*
@ -670,11 +652,10 @@ gui_window_new (struct t_gui_window *parent_window, struct t_gui_buffer *buffer,
return new_window;
}
----------------------------------------
----
[[single_thread]]
Single thread
~~~~~~~~~~~~~
=== Single thread
WeeChat is single threaded. That means every part of code should execute very
fast, and that calls to functions like `sleep` are *strictly forbidden* (it is
@ -683,8 +664,7 @@ true for WeeChat core, but also C plugins and scripts).
If for some reasons you have to sleep a while, use `hook_timer` with a callback.
[[doubly_linked_lists]]
Doubly linked lists
~~~~~~~~~~~~~~~~~~~
=== Doubly linked lists
Most of WeeChat linked lists are doubly linked lists: each node has pointer to
previous and next node.
@ -692,7 +672,7 @@ previous and next node.
Example: list of buffers (from 'src/gui/gui-buffer.h'):
[source,C]
----------------------------------------
----
struct t_gui_buffer
{
/* data */
@ -702,19 +682,18 @@ struct t_gui_buffer
struct t_gui_buffer *prev_buffer; /* link to previous buffer */
struct t_gui_buffer *next_buffer; /* link to next buffer */
};
----------------------------------------
----
Then the two list pointers, to the head and tail of list:
[source,C]
----------------------------------------
----
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
----------------------------------------
----
[[color_codes_in_strings]]
Color codes in strings
~~~~~~~~~~~~~~~~~~~~~~
=== Color codes in strings
WeeChat uses own color codes in strings to display attributes (bold,
underline, ...) and colors on screen.
@ -750,7 +729,7 @@ In following table, these conventions are used:
All combinations are summarized in this table:
[width="100%",cols="3,2,1,5",options="header"]
|========================================
|===
| Code | Example | Areas | Description
| @h(19) + STD | @h(19)`01` | chat + bars | Set attributes and color using option, see table below
| @h(19) + EXT | @h(19)`@00001` | chat | Set color with a ncurses pair (used only on `/color` buffer)
@ -777,12 +756,12 @@ All combinations are summarized in this table:
| @h(1A) + ATTR | @h(1A)`*` | chat + bars | Set attribute
| @h(1B) + ATTR | @h(1B)`*` | chat + bars | Remove attribute
| @h(1C) | @h(1C) | chat + bars | Reset attributes and color
|========================================
|===
Color codes using options (see 't_gui_color_enum', in file 'src/gui/gui-color.h'):
[width="60%",cols="^1m,10",options="header"]
|========================================
|===
| Code | Option
| 00 | weechat.color.separator
| 01 | weechat.color.chat
@ -828,12 +807,12 @@ Color codes using options (see 't_gui_color_enum', in file 'src/gui/gui-color.h'
| 41 | weechat.color.chat_nick_suffix _(new in version 0.4.1)_
| 42 | weechat.color.emphasis _(new in version 0.4.2)_
| 43 | weechat.color.chat_day_change _(new in version 0.4.2)_
|========================================
|===
WeeChat colors are:
[width="40%",cols="^1m,6",options="header"]
|========================================
|===
| Code | Color
| 00 | Default (terminal foreground/background)
| 01 | Black
@ -852,12 +831,12 @@ WeeChat colors are:
| 14 | Light cyan
| 15 | Gray
| 16 | White
|========================================
|===
Examples of color codes:
[width="50%",cols="1,2",options="header"]
|========================================
|===
| Code | Description
| @h(19)`01` | Color of option "01" (chat text)
| @h(19)`*08,03` | Yellow on red
@ -866,11 +845,10 @@ Examples of color codes:
| @h(1A)`_` | Set underline
| @h(1B)`_` | Remove underline
| @h(1C) | Reset attributes and color
|========================================
|===
[[plugin_internals]]
Plugin internals
----------------
== Plugin internals
The file 'src/plugins/weechat-plugin.h' defines and exports all functions
available for API.
@ -885,7 +863,7 @@ For example, function 'hook_timer' is defined in structure 't_weechat_plugin'
like this:
[source,C]
----------------------------------------
----
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
long interval,
int align_second,
@ -893,36 +871,34 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
int (*callback)(void *data,
int remaining_calls),
void *callback_data);
----------------------------------------
----
And the macro used to call this function is:
[source,C]
----------------------------------------
----
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
__callback, __data) \
weechat_plugin->hook_timer(weechat_plugin, __interval, \
__align_second, __max_calls, \
__callback, __data)
----------------------------------------
----
So in a plugin, the call to function will be for example:
[source,C]
----------------------------------------
----
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
0, 1,
&irc_server_timer_sasl_cb,
server);
----------------------------------------
----
[[contribute]]
Contribute to WeeChat
---------------------
== Contribute to WeeChat
[[git_repository]]
Git repository
~~~~~~~~~~~~~~
=== Git repository
Git repository is at this URL: http://git.savannah.gnu.org/gitweb/?p=weechat.git
@ -931,9 +907,9 @@ is a patch made with `git diff` or `git format-patch`, sent by e-mail.
Format of commit message is the following:
----------------------------------------
----
component: fix a problem (bug #12345)
----------------------------------------
----
Where 'component' is one of following:
@ -950,30 +926,28 @@ Some rules to follow:
Examples of commit messages:
----------------------------------------
----
core: add callback "nickcmp" for nick comparison in buffers
irc: fix freeze when reading on socket with SSL enabled (bug #35097)
ruby: add detection of ruby version 1.9.3 in cmake
python: fix crash when unloading a script without pointer to interpreter
core: update Japanese translations (patch #7783)
----------------------------------------
----
[[translations]]
Translations
~~~~~~~~~~~~
=== Translations
[[gettext]]
Gettext
^^^^^^^
==== Gettext
Gettext files are in directory 'po/'.
If you want to initialize a new language, use command `msginit`. For example to
create a dutch empty file:
----------------------------------------
----
$ cd po
$ msginit -i weechat.pot -l nl_NL -o nl.po
----------------------------------------
----
Base language for WeeChat is English, so you must of course understand English
in order to translate to your language.
@ -981,29 +955,28 @@ in order to translate to your language.
When done, you *have* to check your file with script 'msgcheck.py'
(https://github.com/flashcode/msgcheck):
----------------------------------------
----
$ msgcheck.py xx.po
----------------------------------------
----
[[build_autogen_files]]
Build auto-generated files
++++++++++++++++++++++++++
===== Build auto-generated files
Files in directory 'doc/XX/autogen/' are auto-generated by script 'doc/docgen.py'.
Copy this python script to your python directory (for example '~/.weechat/python').
Then you can load this script in your WeeChat, and setup path to your '/doc' directory:
----------------------------------------
----
/python load docgen.py
/set plugins.var.python.docgen.path "~/src/weechat/doc"
----------------------------------------
----
Then create this alias to build files:
----------------------------------------
----
/alias doc /perl unload; /python unload; /ruby unload; /lua unload; /tcl unload; /guile unload; /python load docgen.py; /wait 1ms /docgen
----------------------------------------
----
And use command `/doc` to build all auto-generated files (for all languages).
@ -1012,8 +985,7 @@ When using command `/doc`, be sure all C plugins (irc, charset, ...) are loaded,
because files are built using options currently in memory.
[[asciidoc]]
Asciidoc
^^^^^^^^
==== Asciidoc
Asciidoc files are in directory 'doc/XX/' where 'XX' is language (en, fr, de, it, ...)
@ -1021,14 +993,14 @@ First make a copy of an English asciidoc file (in directory 'doc/en/'), then wor
The translations missing in files are indicated by this string:
----------------------------------------
----
// TRANSLATION MISSING
----------------------------------------
----
You must translate whole file except links and special keywords for notes,
warnings, ... These words must be kept unchanged:
----------------------------------------
----
[[link_name]]
<<link_name>>
@ -1037,24 +1009,10 @@ warnings, ... These words must be kept unchanged:
[IMPORTANT]
[WARNING]
[CAUTION]
----------------------------------------
----
When there is a name after `<<link_name>>`, then you must translate it:
----------------------------------------
----
<<link_name,this text must be translated>>
----------------------------------------
Please make sure special chars below titles are exactly same length as title
(not too short or too long):
----------------------------------------
This is a correct title
=======================
This is a wrong title
============
This is a wrong title
=============================
----------------------------------------
----

View File

@ -1,5 +1,4 @@
WeeChat FAQ (Frequently Asked Questions)
========================================
= WeeChat FAQ (Frequently Asked Questions)
Sébastien Helleu <flashcode@flashtux.org>
@ -9,12 +8,10 @@ used with latest stable version of WeeChat.
[[general]]
General
-------
== General
[[weechat_name]]
Where does the name "WeeChat" come from?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Where does the name "WeeChat" come from?
"Wee" is a recursive acronym and stands for "Wee Enhanced Environment".
So complete name is "Wee Enhanced Environment for Chat".
@ -23,20 +20,17 @@ So complete name is "Wee Enhanced Environment for Chat".
apply to WeeChat!).
[[why_choose_weechat]]
Why choose WeeChat? X-Chat and Irssi are so good...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Why choose WeeChat? X-Chat and Irssi are so good...
Because WeeChat is very light and brings innovating features.
More info on this page: http://weechat.org/about/features
[[compilation_install]]
Compilation / install
---------------------
== Compilation / install
[[gui]]
I heard about many GUIs for WeeChat. How can I compile/use them?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I heard about many GUIs for WeeChat. How can I compile/use them?
Some remote GUIs are available:
@ -46,8 +40,7 @@ Some remote GUIs are available:
* https://github.com/eirikb/weecloud[weecloud] (Web)
[[compile_git]]
I can't compile WeeChat after cloning git repository, why?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I can't compile WeeChat after cloning git repository, why?
The recommended way to compile WeeChat is with cmake.
@ -60,8 +53,7 @@ package may not correspond exactly to git base and that it's less convenient
than git cloning for installing updates.
[[lost]]
I've launched WeeChat, but I'm lost, what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I've launched WeeChat, but I'm lost, what can I do?
For help you can type `/help`. For help about a command, type `/help command`.
Keys and commands are listed in documentation.
@ -70,12 +62,10 @@ It's recommended for new users to read the quickstart guide (see the doc page
on the website).
[[display]]
Display
-------
== Display
[[charset]]
I don't see some chars with accents, what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I don't see some chars with accents, what can I do?
It's common issue, please read carefully and check *ALL* solutions below:
@ -102,8 +92,7 @@ locale, please check that *all* your settings (terminal, screen, ..) are ISO
and *not* UTF-8.
[[bars_background]]
Bars like title and status are not filled, background color stops after text, why?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Bars like title and status are not filled, background color stops after text, why?
This may be caused by a bad value of the TERM variable in your shell (look at
output of `echo $TERM` in your terminal).
@ -118,8 +107,7 @@ Depending on where you launch WeeChat, you should have:
If needed, fix your TERM variable: `export TERM="xxx"`.
[[screen_weird_chars]]
When I'm using weechat under screen/tmux, I have weird random chars, how do I fix that?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== When I'm using weechat under screen/tmux, I have weird random chars, how do I fix that?
This may be caused by bad value of the TERM variable in your shell (look at
output of `echo $TERM` in your terminal, *outside screen/tmux*).
@ -130,8 +118,7 @@ which is OK (like many other values).
If needed, fix your TERM variable: `export TERM="xxx"`.
[[osx_display_broken]]
I compiled WeeChat under OS X, and I see "(null)" everywhere on screen, what's wrong?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I compiled WeeChat under OS X, and I see "(null)" everywhere on screen, what's wrong?
If you compiled ncursesw yourself, try to use standard ncurses (that comes with
system).
@ -140,8 +127,7 @@ Moreover, under OS X, it is recommended to install WeeChat with Homebrew package
manager.
[[buffer_vs_window]]
I heard about "buffers" and "windows", what's the difference?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I heard about "buffers" and "windows", what's the difference?
A 'buffer' is composed by a number, a name, lines displayed (and some other
data).
@ -153,42 +139,39 @@ Each window displays one buffer. A buffer can be hidden (not displayed by a
window) or displayed by one or more windows.
[[buffers_list]]
How to display the buffers list on the left side?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How to display the buffers list on the left side?
Use script 'buffers.pl'.
To limit size of bar:
----------------------------------------
----
/set weechat.bar.buffers.size_max 15
----------------------------------------
----
To move bar to bottom:
----------------------------------------
----
/set weechat.bar.buffers.position bottom
----------------------------------------
----
[[customize_prefix]]
How can I reduce length of nicks or remove nick alignment in chat area?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I reduce length of nicks or remove nick alignment in chat area?
To reduce max length of nicks in chat area:
----------------------------------------
----
/set weechat.look.prefix_align_max 15
----------------------------------------
----
To remove nick alignment:
----------------------------------------
----
/set weechat.look.prefix_align none
----------------------------------------
----
[[input_bar_size]]
How to use command line with more than one line?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How to use command line with more than one line?
The option 'size' in input bar can be set to a value higher than 1 (for fixed
size, default size is 1) or 0 for dynamic size, and then option 'size_max' will
@ -196,72 +179,69 @@ set the max size (0 = no limit).
Example with dynamic size:
----------------------------------------
----
/set weechat.bar.input.size 0
----------------------------------------
----
Max size of 2:
----------------------------------------
----
/set weechat.bar.input.size_max 2
----------------------------------------
----
[[one_input_root_bar]]
Is it possible to display only one input bar for all windows (after split)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Is it possible to display only one input bar for all windows (after split)?
Yes, you will have to create a bar with type "root" (with an item to know in
which window you are), then delete current input bar.
For example:
----------------------------------------
----
/bar add rootinput root bottom 1 0 [buffer_name]+[input_prompt]+(away),[input_search],[input_paste],input_text
/bar del input
----------------------------------------
----
If ever you are not satisfied with that, just delete new bar, WeeChat will
automatically create default bar "input" if item "input_text" is not used in
any bar:
----------------------------------------
----
/bar del rootinput
----------------------------------------
----
[[terminal_copy_paste]]
How can I copy/paste text without pasting nicklist?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I copy/paste text without pasting nicklist?
You can use a terminal with rectangular selection (like rxvt-unicode,
konsole, gnome-terminal, ...). Key is usually @k(C-)@k(A-) mouse selection.
Another solution is to move nicklist to top or bottom, for example:
----------------------------------------
----
/set weechat.bar.nicklist.position top
----------------------------------------
----
[[urls]]
How can I click on long URLs (more than one line)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I click on long URLs (more than one line)?
By default, WeeChat displays time and prefix for each line and optional bars
around chat area. To make easier URL click, you can move nicklist to top and
remove alignment on nick:
----------------------------------------
----
/set weechat.bar.nicklist.position top
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines time
----------------------------------------
----
With WeeChat ≥ 0.3.6, you can enable option "eat_newline_glitch", so that
new line char is not added at the end of each line displayed (it will not break
URL selection):
----------------------------------------
----
/set weechat.look.eat_newline_glitch on
----------------------------------------
----
[IMPORTANT]
This option may cause display bugs. If you experience such problem, you must
@ -270,23 +250,21 @@ turn off this option.
Other solution is to use a script: http://weechat.org/scripts/stable/tag/url
[[change_locale_without_quit]]
I want to change the language used by WeeChat for messages, but without exiting WeeChat, is it possible?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I want to change the language used by WeeChat for messages, but without exiting WeeChat, is it possible?
Yes, you have to use a python script, 'shell.py' (available on WeeChat website)
and issue these commands when script is loaded:
----------------------------------------
----
/shell setenv LANG=en_US.UTF-8
/upgrade
----------------------------------------
----
To have English messages with UTF-8 encoding for terminal, for ISO users, you
can issue: `/shell setenv LANG=en_US`.
[[use_256_colors]]
How can I use 256 colors in WeeChat?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I use 256 colors in WeeChat?
256 colors are supported with WeeChat ≥ 0.3.4.
@ -302,17 +280,17 @@ variable.
If you are using screen, you can add this line to your '~/.screenrc':
----------------------------------------
----
term screen-256color
----------------------------------------
----
If your 'TERM' variable has wrong value and that WeeChat is already running,
don't panic! You can change it without restarting, thanks to script 'shell.py':
----------------------------------------
----
/shell setenv TERM=screen-256color
/upgrade
----------------------------------------
----
For version 0.3.4, you must use command `/color` to add new colors.
@ -322,8 +300,7 @@ can add color aliases with command `/color`).
Please read user's guide for more information about colors management.
[[search_text]]
How can I search text in buffer (like /lastlog in irssi)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I search text in buffer (like /lastlog in irssi)?
The default key is @k(C-)@k(r) (command is: `/input search_text`).
And jump to highlights: @k(A-)@k(p)/@k(n).
@ -331,83 +308,76 @@ And jump to highlights: @k(A-)@k(p)/@k(n).
See user's guide for more info about this feature (default key bindings).
[[key_bindings]]
Key bindings
------------
== Key bindings
[[meta_keys]]
Some meta keys (alt + key) are not working, why?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Some meta keys (alt + key) are not working, why?
If you're using some terminals like xterm or uxterm, some meta keys does not
work by default. You can add a line in file '~/.Xresources':
* for xterm:
----------------------------------------
----
XTerm*metaSendsEscape: true
----------------------------------------
----
* for uxterm:
----------------------------------------
----
UXTerm*metaSendsEscape: true
----------------------------------------
----
And then reload resources (`xrdb -override ~/.Xresources`) or restart X.
[[customize_key_bindings]]
How can I customize key bindings?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I customize key bindings?
Key bindings are customizable with `/key` command.
Default key @k(A-)@k(k) lets you grab key code and insert it in command line.
[[jump_to_buffer_11_or_higher]]
What is the key to jump to buffer 11 (or higher number)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== What is the key to jump to buffer 11 (or higher number)?
The key is @k(A-)@k(j) and then 2 digits, for example @k(A-)@k(j) then @k(1),
@k(1) to jump to buffer 11.
You can bind a key, for example:
----------------------------------------
----
/key bind meta-q /buffer *11
----------------------------------------
----
List of default keys is in User's guide.
[[global_history]]
How to use global history (instead of buffer history) with up and down keys?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How to use global history (instead of buffer history) with up and down keys?
You can bind the up and down keys on global history (default keys for global
history are @k(C-)@k(↑) and @k(C-)@k(↓)).
Example:
----------------------------------------
----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----------------------------------------
----
[NOTE]
Keys "meta2-A" and "meta2-B" may be different in your terminal. To find key
code press @k(A-)@k(k) then key (up or down).
[[mouse]]
Mouse
-----
== Mouse
[[mouse_not_working]]
Mouse is not working at all, what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Mouse is not working at all, what can I do?
Mouse is supported with WeeChat ≥ 0.3.6.
First try to enable mouse:
----------------------------------------
----
/mouse enable
----------------------------------------
----
If mouse is still not working, check the TERM variable in your shell (look at
output of `echo $TERM` in your terminal).
@ -415,21 +385,20 @@ According to terminfo used, mouse may not be supported.
You can test mouse support in terminal:
----------------------------------------
----
$ printf '\033[?1002h'
----------------------------------------
----
And then click on first char of terminal (upper left). You should see " !!#!!".
To disable mouse in terminal:
----------------------------------------
----
$ printf '\033[?1002l'
----------------------------------------
----
[[mouse_coords]]
Mouse does nothing for X or Y greater than 94, why?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Mouse does nothing for X or Y greater than 94, why?
Some terminals are sending only ISO chars for mouse coordinates, so it does not
work for X/Y greater than 94.
@ -438,55 +407,50 @@ You should use a terminal that supports UTF-8 coordinates for mouse, like
rxvt-unicode.
[[mouse_select_paste]]
How can I select or paste text in terminal when mouse is enabled in WeeChat?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I select or paste text in terminal when mouse is enabled in WeeChat?
When mouse is enabled in WeeChat, you can use @k(-S-) modifier to select or
click in terminal, as if the mouse was disabled (on some terminals like iTerm,
you have to use @k(-A-) instead of @k(-S-)).
[[irc]]
IRC
---
== IRC
[[irc_ssl_connection]]
I have some problems when connecting to a server using SSL, what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I have some problems when connecting to a server using SSL, what can I do?
If you see errors about gnutls handshake, you can try to use a smaller
Diffie-Hellman key (default is 2048):
----------------------------------------
----
/set irc.server.freenode.ssl_dhkey_size 1024
----------------------------------------
----
If you see errors about certificate, you can disable "ssl_verify" (be careful,
connection will be less secure by doing that):
----------------------------------------
----
/set irc.server.freenode.ssl_verify off
----------------------------------------
----
[[irc_ssl_handshake_error]]
When connecting to server with SSL, I see only error "TLS handshake failed", what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== When connecting to server with SSL, I see only error "TLS handshake failed", what can I do?
You can try a different priority string (WeeChat ≥ 0.3.5 only), replace "xxx"
by your server name:
----------------------------------------
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----------------------------------------
----
[[irc_ssl_freenode]]
How can I connect to freenode server using SSL?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I connect to freenode server using SSL?
Set option 'weechat.network.gnutls_ca_file' to file with certificates:
----------------------------------------
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----------------------------------------
----
[NOTE]
Check that you have this file on your system (commonly brought by package
@ -494,16 +458,15 @@ Check that you have this file on your system (commonly brought by package
Setup server port, SSL, dhkey_size, then connect:
----------------------------------------
----
/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_oauth]]
How to connect to a server that requires "oauth"?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How to connect to a server that requires "oauth"?
Some servers like 'twitch' require oauth to connect.
@ -512,34 +475,32 @@ The oauth is simply a password with the value "oauth:XXXX".
You can create such server and connect with following commands (replace name
and address by appropriate values):
----------------------------------------
----
/server add name irc.server.org -password="oauth:XXXX"
/connect name
----------------------------------------
----
[[irc_sasl]]
How can I be identified before joining channels?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I be identified before joining channels?
If server supports SASL, you should use that instead of sending command for
nickserv authentication, for example:
----------------------------------------
----
/set irc.server_default.sasl_mechanism dh-blowfish
/set irc.server.freenode.sasl_username "mynick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----------------------------------------
----
If server does not support SASL, you can add a delay (between command and join
of channels):
----------------------------------------
----
/set irc.server.freenode.command_delay 5
----------------------------------------
----
[[ignore_vs_filter]]
What is the difference between the /ignore and /filter commands?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== What is the difference between the /ignore and /filter commands?
The `/ignore` command is an IRC command, so it applies only for IRC buffers
(servers and channels).
@ -555,37 +516,35 @@ Filtered lines are only hidden, not deleted, and you can see them if you
disable filters (by default, the key @k(A-)@k(=) toggles filters).
[[filter_irc_join_part_quit]]
How can I filter join/part/quit messages on IRC channels?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I filter join/part/quit messages on IRC channels?
With smart filter (keep join/part/quit from users who spoke recently):
----------------------------------------
----
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
----------------------------------------
----
With a global filter (hide *all* join/part/quit):
----------------------------------------
----
/filter add joinquit * irc_join,irc_part,irc_quit *
----------------------------------------
----
[NOTE]
For help: `/help filter` and `/help irc.look.smart_filter`
[[filter_irc_join_channel_messages]]
How can I filter some messages displayed when I join an IRC channel?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I filter some messages displayed when I join an IRC channel?
With WeeChat ≥ 0.4.1, you can disable some messages with option
'irc.look.display_join_message'.
For example, to disable names (which is IRC message '366'):
----------------------------------------
----
/set irc.look.display_join_message "329,332,333"
----------------------------------------
----
[NOTE]
For help: `/help irc.look.display_join_message`
@ -602,17 +561,16 @@ You can find tags for other messages by looking at IRC raw server
Examples:
* filter names:
----------------------------------------
----
/filter add irc_join_names * irc_366 *
----------------------------------------
----
* filter topic (and date):
----------------------------------------
----
/filter add irc_join_topic_date * irc_332,irc_333 *
----------------------------------------
----
[[filter_voice_messages]]
How can I filter voice messages (eg on Bitlbee server)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I filter voice messages (eg on Bitlbee server)?
It's not easy to filter voice messages, because voice mode can be set with other
modes in same IRC message.
@ -623,15 +581,15 @@ that and let WeeChat use a special color for away nicks in nicklist.
For Bitlbee ≥ 3, do that on channel '&bitlbee':
----------------------------------------
----
channel set show_users online,away
----------------------------------------
----
For older version of Bitlbee, do that on channel '&bitlbee':
----------------------------------------
----
set away_devoice false
----------------------------------------
----
For checking away nicks in WeeChat, see question about
<<color_away_nicks,away nicks>>.
@ -639,13 +597,12 @@ For checking away nicks in WeeChat, see question about
If you really want to filter voice messages, you can use this command, but this
is not perfect (will work only if first mode changed is voice):
----------------------------------------
----
/filter add hidevoices * irc_mode (\+|\-)v
----------------------------------------
----
[[color_away_nicks]]
How can I see away nicks in nicklist?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I see away nicks in nicklist?
You have to set option 'irc.server_default.away_check' to a positive value
(minutes between each check of away nicks).
@ -656,55 +613,50 @@ on small channels only.
For example, check every 5 minutes for away nicks, for channels with max 25
nicks:
----------------------------------------
----
/set irc.server_default.away_check 5
/set irc.server_default.away_check_max_nicks 25
----------------------------------------
----
[NOTE]
For WeeChat ≤ 0.3.3, options are 'irc.network.away_check' and
'irc.network.away_check_max_nicks'.
[[highlight_notification]]
How can I be warned when someone highlights me on a channel?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I be warned when someone highlights me on a channel?
You can use a script like 'beep.pl' or 'launcher.pl'.
For 'launcher.pl', you have to setup command:
----------------------------------------
----
/set plugins.var.perl.launcher.signal.weechat_highlight "/path/to/command arguments"
----------------------------------------
----
Other scripts on this subject: http://weechat.org/scripts/stable/tag/notify/
[[irc_target_buffer]]
How can I change target buffer for commands on merged buffers (like buffer with servers)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I change target buffer for commands on merged buffers (like buffer with servers)?
The default key is @k(C-)@k(x) (command is: `/input switch_active_buffer`).
[[plugins_scripts]]
Plugins / scripts
-----------------
== Plugins / scripts
[[openbsd_plugins]]
I'm using OpenBSD and WeeChat does not load any plugins, what's wrong?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I'm using OpenBSD and WeeChat does not load any plugins, what's wrong?
Under OpenBSD, plugin filenames end with ".so.0.0" (".so" for Linux).
You must set that up:
----------------------------------------
----
/set weechat.plugin.extension ".so.0.0"
/plugin autoload
----------------------------------------
----
[[load_scripts]]
How can I load Perl/Python/Ruby/Lua/Tcl scripts? Are scripts compatible with other IRC clients?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I load Perl/Python/Ruby/Lua/Tcl scripts? Are scripts compatible with other IRC clients?
You can use the commands `/perl`, `/python`, `/ruby`, `/lua` and `/tcl` to load
scripts (default path for scripts is '~/.weechat/<language>/').
@ -718,12 +670,10 @@ Notes:
* a 'tcl' plugin is available with version ≥ 0.3.0.
[[settings]]
Settings
--------
== Settings
[[memory_usage]]
How can I tweak WeeChat to consume less memory?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How can I tweak WeeChat to consume less memory?
You can try following tips to consume less memory:
@ -739,12 +689,10 @@ You can try following tips to consume less memory:
* reduce value of option 'weechat.history.max_commands'
[[development]]
Development
-----------
== Development
[[bug_task_patch]]
How should I report bugs, ask for new features or send patches?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== How should I report bugs, ask for new features or send patches?
There are 3 ways:
@ -758,29 +706,27 @@ There are 3 ways:
(you can subscribe and send to "support" mailing list)
[[gdb_error_threads]]
When I run WeeChat under gdb, there is error about threads, what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== When I run WeeChat under gdb, there is error about threads, what can I do?
When you run WeeChat under gdb, you may have this error:
----------------------------------------
----
$ gdb /path/to/weechat
(gdb) run
[Thread debugging using libthread_db enabled]
Cannot find new threads: generic error
----------------------------------------
----
To fix that, you can run gdb with this command (replace path to libpthread and
WeeChat with paths on your system):
----------------------------------------
----
$ LD_PRELOAD=/lib/libpthread.so.0 gdb /path/to/weechat
(gdb) run
----------------------------------------
----
[[supported_os]]
What is the list of supported platforms for WeeChat? Will it be ported to other operating systems?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== What is the list of supported platforms for WeeChat? Will it be ported to other operating systems?
The full list is on this page: http://weechat.org/download
@ -788,8 +734,7 @@ We do our best to run on as many platforms as possible. Help is welcome for
some OS' we don't have, to test WeeChat.
[[help_developers]]
I want to help WeeChat developers. What can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== I want to help WeeChat developers. What can I do?
There's many tasks to do (testing, code, documentation, ...)
@ -797,8 +742,7 @@ Please contact us via IRC or mail, look at support page:
http://weechat.org/dev/support
[[donate]]
Can I give money or other things to WeeChat developers?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Can I give money or other things to WeeChat developers?
You can give us money to help development.
Details on http://weechat.org/about/donate

File diff suppressed because it is too large Load Diff

View File

@ -1,43 +1,40 @@
WeeChat Quick Start Guide
=========================
= WeeChat Quick Start Guide
Sébastien Helleu <flashcode@flashtux.org>
[[start]]
Start WeeChat
-------------
== Start WeeChat
A recommended terminal emulator for X (but not mandatory) is rxvt-unicode
(it has good UTF-8 support, and no problem with default keyboard bindings).
Run from your shell:
----------------------------------------
----
$ weechat
----------------------------------------
----
[[help_options]]
Online help / options
---------------------
== Online help / options
WeeChat has help for all commands, just issue:
----------------------------------------
----
/help
----------------------------------------
----
To get help on a specific command, issue:
----------------------------------------
----
/help command
----------------------------------------
----
To set options, issue:
----------------------------------------
----
/set config.section.option value
----------------------------------------
----
(where `config` is configuration name (`weechat` for core, or a plugin
name), `section` the section of this configuration and `option` the
@ -52,27 +49,27 @@ For example:
* display all options (WeeChat and plugins):
----------------------------------------
----
/set
----------------------------------------
----
* display WeeChat options:
----------------------------------------
----
/set weechat.*
----------------------------------------
----
* display IRC plugin options:
----------------------------------------
----
/set irc.*
----------------------------------------
----
You can display help for an option with `/help`, for example:
----------------------------------------
----
/help weechat.look.highlight
----------------------------------------
----
All settings are saved when WeeChat ends (or with `/save` command to force
a write of the options).
@ -82,8 +79,7 @@ You can edit configuration files (*.conf) by hand and reload them by
[[core_vs_plugins]]
Core vs plugins
---------------
== Core vs plugins
WeeChat "core" is only used to display data on screen and interact with
the user, that means weechat core without plugins is useless
@ -96,25 +92,23 @@ other plugins in the list.
[[create_irc_server]]
Create an IRC server
--------------------
== Create an IRC server
You can add an IRC server with `/server` command, for example:
----------------------------------------
----
/server add oftc irc.oftc.net/6667
----------------------------------------
----
As usual, help is available if you're lost:
----------------------------------------
----
/help server
----------------------------------------
----
[[irc_server_options]]
Set custom IRC server options
-----------------------------
== Set custom IRC server options
WeeChat uses default values for all servers ("fall backs"), if you
don't specify a specific value for a server option.
@ -126,70 +120,69 @@ For each server option, WeeChat uses its value if it is defined (not
For example there's default nicks (based on your un*x login), and you can
override them for oftc server with following command:
----------------------------------------
----
/set irc.server.oftc.nicks "mynick,mynick2,mynick3,mynick4,mynick5"
----------------------------------------
----
To set username and realname:
----------------------------------------
----
/set irc.server.oftc.username "My user name"
/set irc.server.oftc.realname "My real name"
----------------------------------------
----
To enable auto-connect to server at startup:
----------------------------------------
----
/set irc.server.oftc.autoconnect on
----------------------------------------
----
If SASL is available on server, you can use it for authentication (you will be
identified before you join channels):
----------------------------------------
----
/set irc.server_default.sasl_mechanism dh-blowfish
/set irc.server.oftc.sasl_username "mynick"
/set irc.server.oftc.sasl_password "xxxxxxx"
----------------------------------------
----
To run a command after connection to server, for example to authenticate
with nickserv (only if you don't use SASL for authentication):
----------------------------------------
----
/set irc.server.oftc.command "/msg nickserv identify xxxxxxx"
----------------------------------------
----
[NOTE]
Many commands can be separated by ';' (semi-colon).
To auto-join some channels when connecting to server:
----------------------------------------
----
/set irc.server.oftc.autojoin "#channel1,#channel2"
----------------------------------------
----
To remove a value of a server option, and use the default value instead,
for example to use default nicks (irc.server_default.nicks):
----------------------------------------
----
/set irc.server.oftc.nicks null
----------------------------------------
----
Other options: you can setup other options with following command ("xxx" is
option name):
----------------------------------------
----
/set irc.server.oftc.xxx value
----------------------------------------
----
[[connect_to_irc_server]]
Connect to IRC server and auto-join channels
--------------------------------------------
== Connect to IRC server and auto-join channels
----------------------------------------
----
/connect oftc
----------------------------------------
----
[NOTE]
This command can be used to create and connect to a new server without using
@ -202,37 +195,35 @@ between 'core' buffer and server buffers, you can use ctrl-X.
It is possible to disable auto merge of server buffers to have independent
server buffers:
----------------------------------------
----
/set irc.look.server_buffer independent
----------------------------------------
----
[[join_part_irc_channels]]
Join/part IRC channels
----------------------
== Join/part IRC channels
Join a channel:
----------------------------------------
----
/join #channel
----------------------------------------
----
Part a channel (keeping buffer open):
----------------------------------------
----
/part [quit message]
----------------------------------------
----
Close server or channel buffer (`/close` is an alias for `/buffer close`):
----------------------------------------
----
/close
----------------------------------------
----
[[buffer_window]]
Buffer/window management
------------------------
== Buffer/window management
A buffer is a component linked to a plugin with a number, a category,
and a name. A buffer contains the data displayed on the screen.
@ -243,24 +234,23 @@ with many buffers at same time.
Commands to manage buffers and windows:
----------------------------------------
----
/buffer
/window
----------------------------------------
----
(I'll not repeat here that you can get help with /help on these commands)
For example, to vertically split your screen into a small window (1/3 width),
and a large window (2/3), use command:
----------------------------------------
----
/window splitv 33
----------------------------------------
----
[[key_bindings]]
Key bindings
------------
== Key bindings
WeeChat uses many keys by default. All these keys are in the documentation,
but you should know at least some vital keys:
@ -279,26 +269,25 @@ A useful key is meta-k (alt-k) to find key codes.
For example, to bind meta-y (alt-y) to command `/buffer close`:
----------------------------------------
----
/key bind (press meta-k) (press meta-y) /buffer close
----------------------------------------
----
You'll have a command line like:
----------------------------------------
----
/key bind meta-y /buffer close
----------------------------------------
----
To remove key:
----------------------------------------
----
/key unbind meta-y
----------------------------------------
----
[[plugins_scripts]]
Plugins/scripts
---------------
== Plugins/scripts
On some distros like Debian, plugins are available via a separate package
(like weechat-plugins).
@ -313,8 +302,7 @@ for more info).
[[more_doc]]
More documentation
------------------
== More documentation
You can now use WeeChat and read FAQ/documentation for any other questions:
http://weechat.org/doc

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
WeeChat Scripting Guide
=======================
= WeeChat Scripting Guide
Sébastien Helleu <flashcode@flashtux.org>
@ -10,8 +9,7 @@ http://weechat.org/doc
[[introduction]]
Introduction
------------
== Introduction
WeeChat (Wee Enhanced Environment for Chat) is a free chat client, fast and
light, designed for many operating systems.
@ -31,28 +29,23 @@ Almost all examples in this doc are written in Python, but API is the same for
other languages.
[[scripts_in_weechat]]
Scripts in WeeChat
------------------
== Scripts in WeeChat
[[languages_specifities]]
Languages specificities
~~~~~~~~~~~~~~~~~~~~~~~
=== Languages specificities
Python
^^^^^^
==== Python
* You have to `import weechat`
* Functions `print*` are called `prnt*` in python (because 'print' is reserved
keyword)
* Functions are called with `weechat.xxx(arg1, arg2, ...)`
Perl
^^^^
==== Perl
* Functions are called with `weechat::xxx(arg1, arg2, ...);`
Ruby
^^^^
==== Ruby
* You have to define 'weechat_init' and call 'register' inside
* Functions are called with `Weechat.xxx(arg1, arg2, ...)`
@ -61,23 +54,20 @@ Ruby
(3 callbacks + 3 data strings), so a call to this function looks like:
[source,ruby]
----------------------------------------
----
Weechat.config_new_option(config, section, "name", "string", "description of option", "", 0, 0,
"value", "value", 0, ["check_cb", "", "change_cb", "", "delete_cb", ""])
----------------------------------------
----
Lua
^^^
==== Lua
* Functions are called with `weechat.xxx(arg1, arg2, ...)`
Tcl
^^^
==== Tcl
* Functions are called with `weechat::xxx arg1 arg2 ...`
Guile (scheme)
^^^^^^^^^^^^^^
==== Guile (scheme)
* Functions are called with `(weechat:xxx arg1 arg2 ...)`
* Following functions take one list of arguments (instead of many arguments
@ -88,8 +78,7 @@ Guile (scheme)
** bar_new
[[register_function]]
Register function
~~~~~~~~~~~~~~~~~
=== Register function
All WeeChat scripts must "register" themselves to WeeChat, and this must be
first WeeChat function called in script.
@ -97,9 +86,9 @@ first WeeChat function called in script.
Prototype:
[source,python]
----------------------------------------
----
weechat.register(name, author, version, license, description, shutdown_function, charset)
----------------------------------------
----
Arguments:
@ -118,99 +107,97 @@ Example of script, for each language:
* python:
[source,python]
----------------------------------------
----
import weechat
weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Test script", "", "")
weechat.prnt("", "Hello, from python script!")
----------------------------------------
----
* perl:
[source,perl]
----------------------------------------
----
weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Test script", "", "");
weechat::print("", "Hello, from perl script!");
----------------------------------------
----
* ruby:
[source,ruby]
----------------------------------------
----
def weechat_init
Weechat.register("test_ruby", "FlashCode", "1.0", "GPL3", "Test script", "", "")
Weechat.print("", "Hello, from ruby script!")
return Weechat::WEECHAT_RC_OK
end
----------------------------------------
----
* lua:
[source,lua]
----------------------------------------
----
weechat.register("test_lua", "FlashCode", "1.0", "GPL3", "Test script", "", "")
weechat.print("", "Hello, from lua script!")
----------------------------------------
----
* tcl:
[source,tcl]
----------------------------------------
----
weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Test script" "" ""
weechat::print "" "Hello, from tcl script!"
----------------------------------------
----
* guile (scheme):
[source,lisp]
----------------------------------------
----
(weechat:register "test_scheme" "FlashCode" "1.0" "GPL3" "Test script" "" "")
(weechat:print "" "Hello, from scheme script!")
----------------------------------------
----
[[load_script]]
Load script
~~~~~~~~~~~
=== Load script
It is recommended to use the "script" plugin to load scripts, for example:
----------------------------------------
----
/script load script.py
/script load script.pl
/script load script.rb
/script load script.lua
/script load script.tcl
/script load script.scm
----------------------------------------
----
Each language has also its own command:
----------------------------------------
----
/python load python/script.py
/perl load perl/script.pl
/ruby load ruby/script.rb
/lua load lua/script.lua
/tcl load tcl/script.tcl
/guile load guile/script.scm
----------------------------------------
----
You can make link in directory 'language/autoload' to autoload script when
WeeChat is starting.
For example with Python:
----------------------------------------
----
$ cd ~/.weechat/python/autoload
$ ln -s ../script.py
----------------------------------------
----
[NOTE]
When installing a script with command `/script install` the link in 'autoload'
directory is automatically created.
[[differences_with_c_api]]
Differences with C API
----------------------
== Differences with C API
Script API is almost the same as C plugin API.
You can look at 'WeeChat Plugin API Reference' for detail about each function
@ -223,28 +210,27 @@ a 'script' is a text file loaded with a plugin like 'python' with command
When your script 'test.py' calls a WeeChat API function, path is like that:
........................................
....
┌──────────────────────┐ ╔══════════════════╗
│ python plugin │ ║ WeeChat "core" ║
├────────────┬─────────┤ ╟─────────┐ ║
test.py ─────► │ script API │ C API │ ─────► ║ C API │ ║
└────────────┴─────────┘ ╚═════════╧════════╝
........................................
....
When WeeChat calls a callback in your script 'test.py', it's reverse of
previous path:
........................................
....
╔══════════════════╗ ┌──────────────────────┐
║ WeeChat "core" ║ │ python plugin │
║ ┌─────────╢ ├─────────┬────────────┤
║ │ C API ║ ─────► │ C API │ script API │ ─────► test.py
╚════════╧═════════╝ └─────────┴────────────┘
........................................
....
[[pointers]]
Pointers
~~~~~~~~
=== Pointers
As you probably know, there is not really "pointers" in scripts. So when API
functions return pointer, it is converted to string for script.
@ -260,9 +246,9 @@ Empty string or "0x0" are allowed, they means NULL in C.
For example, to print data on core buffer (WeeChat main buffer), you can do:
[source,python]
----------------------------------------
----
weechat.prnt("", "hi!")
----------------------------------------
----
[WARNING]
In many functions, for speed reasons, WeeChat does not check if your pointer
@ -270,8 +256,7 @@ is correct or not. It's your job to check you're giving a valid pointer,
otherwise you may see a nice crash report ;)
[[callbacks]]
Callbacks
~~~~~~~~~
=== Callbacks
Almost all WeeChat callbacks must return WEECHAT_RC_OK or WEECHAT_RC_ERROR
(exception is modifier callback, which returns a string).
@ -284,18 +269,18 @@ Example of callback, for each language:
* python:
[source,python]
----------------------------------------
----
def timer_cb(data, remaining_calls):
weechat.prnt("", "timer! data=%s" % data)
return weechat.WEECHAT_RC_OK
weechat.hook_timer(1000, 0, 1, "timer_cb", "test")
----------------------------------------
----
* perl:
[source,perl]
----------------------------------------
----
sub timer_cb {
my ($data, $remaining_calls) = @_;
weechat::print("", "timer! data=$data");
@ -303,71 +288,69 @@ sub timer_cb {
}
weechat::hook_timer(1000, 0, 1, "timer_cb", "test");
----------------------------------------
----
* ruby:
[source,ruby]
----------------------------------------
----
def timer_cb(data, remaining_calls)
Weechat.print("", "timer! data=#{data}");
return Weechat::WEECHAT_RC_OK
end
Weechat.hook_timer(1000, 0, 1, "timer_cb", "test");
----------------------------------------
----
* lua:
[source,lua]
----------------------------------------
----
function timer_cb(data, remaining_calls)
weechat.print("", "timer! data="..data)
return weechat.WEECHAT_RC_OK
end
weechat.hook_timer(1000, 0, 1, "timer_cb", "test")
----------------------------------------
----
* tcl:
[source,tcl]
----------------------------------------
----
proc timer_cb { data remaining_calls } {
weechat::print {} "timer! data=$data"
return $::weechat::WEECHAT_RC_OK
}
weechat::hook_timer 1000 0 1 timer_cb test
----------------------------------------
----
* guile (scheme):
[source,lisp]
----------------------------------------
----
(define (timer_cb data remaining_calls)
(weechat:print "" (string-append "timer! data=" data))
weechat:WEECHAT_RC_OK
)
(weechat:hook_timer 1000 0 1 "timer_cb" "test")
----------------------------------------
----
[[script_api]]
Script API
----------
== Script API
For more information about functions in API, please read
'WeeChat Plugin API Reference'.
[[script_api_functions]]
Functions
~~~~~~~~~
=== Functions
List of functions in script API:
[width="100%",cols="^1,10",options="header"]
|========================================
|===
| Category | Functions
| general |
register
@ -444,16 +427,15 @@ List of functions in script API:
hdata_pointer, hdata_time, hdata_hashtable, hdata_update, hdata_get_string
| upgrade |
upgrade_new, upgrade_write_object, upgrade_read, upgrade_close
|========================================
|===
[[script_api_constants]]
Constants
~~~~~~~~~
=== Constants
List of constants in script API:
[width="100%",cols="^1,10",options="header"]
|========================================
|===
| Category | Constants
| return codes |
WEECHAT_RC_OK, WEECHAT_RC_OK_EAT, WEECHAT_RC_ERROR
@ -481,23 +463,20 @@ List of constants in script API:
WEECHAT_HOOK_CONNECT_SOCKET_ERROR
| hook signal |
WEECHAT_HOOK_SIGNAL_STRING, WEECHAT_HOOK_SIGNAL_INT, WEECHAT_HOOK_SIGNAL_POINTER
|========================================
|===
[[common_tasks]]
Common tasks
------------
== Common tasks
This chapter shows some common tasks, with examples.
Only partial things in API are used here, for full reference, see
'WeeChat Plugin API Reference'.
[[buffers]]
Buffers
~~~~~~~
=== Buffers
[[buffers_display_messages]]
Display messages
^^^^^^^^^^^^^^^^
==== Display messages
An empty string is often used to work with WeeChat core buffer. For other
buffers, you must give pointer (as string, see <<pointers,pointers>>).
@ -505,7 +484,7 @@ buffers, you must give pointer (as string, see <<pointers,pointers>>).
Examples:
[source,python]
----------------------------------------
----
# display "hello" on core buffer
weechat.prnt("", "hello")
@ -532,14 +511,13 @@ weechat.prnt(buffer, "message on #weechat channel")
# (note that server and channel are separated by a comma)
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.prnt(buffer, "message on #weechat channel")
----------------------------------------
----
[NOTE]
Print function is called `print` in Perl/Ruby/Lua/Tcl and `prnt` in Python.
[[buffers_send_text]]
Send text to buffer
^^^^^^^^^^^^^^^^^^^
==== Send text to buffer
You can send text or command to a buffer. This is exactly like if you type text
on command line and press [Enter].
@ -547,18 +525,17 @@ on command line and press [Enter].
Examples:
[source,python]
----------------------------------------
----
# execute command "/help" on current buffer (result is on core buffer)
weechat.command("", "/help")
# send "hello" to #weechat IRC channel (users on channel will see message)
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.command(buffer, "hello")
----------------------------------------
----
[[buffers_new]]
Create new buffer
^^^^^^^^^^^^^^^^^
==== Create new buffer
You can create a new buffer in your script, then use it for displaying messages.
@ -569,7 +546,7 @@ closed (for example by `/buffer close`).
Example:
[source,python]
----------------------------------------
----
# callback for data received in input
def buffer_input_cb(data, buffer, input_data):
# ...
@ -588,29 +565,28 @@ weechat.buffer_set(buffer, "title", "This is title for my buffer.")
# disable logging, by setting local variable "no_log" to "1"
weechat.buffer_set(buffer, "localvar_set_no_log", "1")
----------------------------------------
----
[[buffers_properties]]
Buffer properties
^^^^^^^^^^^^^^^^^
==== Buffer properties
You can read buffer properties, as string, integer or pointer.
Examples:
[source,python]
----------------------------------------
----
buffer = weechat.current_buffer()
number = weechat.buffer_get_integer(buffer, "number")
name = weechat.buffer_get_string(buffer, "name")
short_name = weechat.buffer_get_string(buffer, "short_name")
----------------------------------------
----
It is possible to add, read or delete local variables in buffer:
[source,python]
----------------------------------------
----
# add local variable
weechat.buffer_set(buffer, "localvar_set_myvar", "my_value")
@ -619,21 +595,19 @@ myvar = weechat.buffer_get_string(buffer, "localvar_myvar")
# delete local variable
weechat.buffer_set(buffer, "localvar_del_myvar", "")
----------------------------------------
----
To see local variables of a buffer, do this command in WeeChat:
----------------------------------------
----
/buffer localvar
----------------------------------------
----
[[hooks]]
Hooks
~~~~~
=== Hooks
[[hook_command]]
Add new command
^^^^^^^^^^^^^^^
==== Add new command
Add a custom command with `hook_command`. You can use a custom completion
template to complete arguments of your command.
@ -641,7 +615,7 @@ template to complete arguments of your command.
Example:
[source,python]
----------------------------------------
----
def my_command_cb(data, buffer, args):
# ...
return weechat.WEECHAT_RC_OK
@ -656,37 +630,35 @@ hook = weechat.hook_command("myfilter", "description of myfilter",
" || add %(filters_names) %(buffers_plugins_names)|*"
" || del %(filters_names)|-all",
"my_command_cb", "")
----------------------------------------
----
And then in WeeChat:
----------------------------------------
----
/help myfilter
/myfilter arguments...
----------------------------------------
----
[[hook_timer]]
Add a timer
^^^^^^^^^^^
==== Add a timer
Add a timer with `hook_timer`.
Example:
[source,python]
----------------------------------------
----
def timer_cb(data, remaining_calls):
# ...
return weechat.WEECHAT_RC_OK
# timer called each minute when second is 00
weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
----------------------------------------
----
[[hook_process]]
Run a background process
^^^^^^^^^^^^^^^^^^^^^^^^
==== Run a background process
You can run a background process with `hook_process`. Your callback will be
called when data is ready. It may be called many times.
@ -697,7 +669,7 @@ return code of command.
Example:
[source,python]
----------------------------------------
----
process_output = ""
def my_process_cb(data, command, rc, out, err):
@ -709,11 +681,10 @@ def my_process_cb(data, command, rc, out, err):
return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
----------------------------------------
----
[[url_transfer]]
URL transfer
^^^^^^^^^^^^
==== URL transfer
_New in version 0.3.7._
@ -724,7 +695,7 @@ Example of URL transfer without option: the HTML page will be received as "out"
in callback (standard output of process):
[source,python]
----------------------------------------
----
# Display current stable version of WeeChat.
weechat_version = ""
@ -738,7 +709,7 @@ def weechat_process_cb(data, command, rc, out, err):
weechat.hook_process("url:http://weechat.org/dev/info/stable/",
30 * 1000, "weechat_process_cb", "")
----------------------------------------
----
[TIP]
All infos available about WeeChat are on page http://weechat.org/dev/info
@ -747,7 +718,7 @@ Example of URL transfer with an option: download latest WeeChat development
package in file '/tmp/weechat-devel.tar.gz':
[source,python]
----------------------------------------
----
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "End of transfer (rc=%s)" % rc)
@ -756,18 +727,16 @@ def my_process_cb(data, command, rc, out, err):
weechat.hook_process_hashtable("url:http://weechat.org/files/src/weechat-devel.tar.gz",
{ "file_out": "/tmp/weechat-devel.tar.gz" },
30 * 1000, "my_process_cb", "")
----------------------------------------
----
For more information about URL transfer and available options, see functions
`hook_process` and `hook_process_hashtable` in 'WeeChat Plugin API Reference'.
[[config_options]]
Config / options
~~~~~~~~~~~~~~~~
=== Config / options
[[config_options_set_script]]
Set options for script
^^^^^^^^^^^^^^^^^^^^^^
==== Set options for script
Function `config_is_set_plugin` is used to check if an option is set or not,
and `config_set_plugin` to set option.
@ -775,7 +744,7 @@ and `config_set_plugin` to set option.
Example:
[source,python]
----------------------------------------
----
script_options = {
"option1" : "value1",
"option2" : "value2",
@ -784,18 +753,17 @@ script_options = {
for option, default_value in script_options.items():
if not weechat.config_is_set_plugin(option):
weechat.config_set_plugin(option, default_value)
----------------------------------------
----
[[config_options_detect_changes]]
Detect changes
^^^^^^^^^^^^^^
==== Detect changes
You must use `hook_config` to be notified if user changes some script options.
Example:
[source,python]
----------------------------------------
----
SCRIPT_NAME = "myscript"
# ...
@ -810,18 +778,17 @@ def config_cb(data, option, value):
weechat.hook_config("plugins.var.python." + SCRIPT_NAME + ".*", "config_cb", "")
# for other languages, change "python" with your language ("perl", "ruby", "lua" or "tcl")
----------------------------------------
----
[[config_options_weechat]]
Read WeeChat options
^^^^^^^^^^^^^^^^^^^^
==== Read WeeChat options
Function `config_get` returns pointer to option. Then, depending on option type,
you must call `config_string`, `config_boolean`, `config_integer` or
`config_color`.
[source,python]
----------------------------------------
----
# string
weechat.prnt("", "value of option weechat.look.item_time_format is: %s"
% (weechat.config_string(weechat.config_get("weechat.look.item_time_format"))))
@ -837,15 +804,13 @@ weechat.prnt("", "value of option weechat.look.scroll_page_percent is: %d"
# color
weechat.prnt("", "value of option weechat.color.chat_delimiters is: %s"
% (weechat.config_color(weechat.config_get("weechat.color.chat_delimiters"))))
----------------------------------------
----
[[irc]]
IRC
~~~
=== IRC
[[irc_catch_messages]]
Catch messages
^^^^^^^^^^^^^^
==== Catch messages
IRC plugin sends two signals for a message received (`xxx` is IRC internal
server name, `yyy` is IRC command name like JOIN, QUIT, PRIVMSG, 301, ..):
@ -857,7 +822,7 @@ xxx,irc_in2_yyy::
signal sent after processing message
[source,python]
----------------------------------------
----
def join_cb(data, signal, signal_data):
# signal is for example: "freenode,irc_in2_join"
# signal_data is IRC message, for example: ":nick!user@host JOIN :#channel"
@ -872,53 +837,49 @@ def join_cb(data, signal, signal_data):
# it is useful here to use "*" as server, to catch JOIN messages on all IRC
# servers
weechat.hook_signal("*,irc_in2_join", "join_cb", "")
----------------------------------------
----
[[irc_modify_messages]]
Modify messages
^^^^^^^^^^^^^^^
==== Modify messages
IRC plugin sends a "modifier" called "irc_in_xxx" ("xxx" is IRC command) for a
message received, so that you can modify it.
[source,python]
----------------------------------------
----
def modifier_cb(data, modifier, modifier_data, string):
# add server name to all messages received
# (OK that's not very useful, but that's just an example!)
return "%s %s" % (string, modifier_data)
weechat.hook_modifier("irc_in_privmsg", "modifier_cb", "")
----------------------------------------
----
[WARNING]
A malformed message could crash WeeChat or cause severe problems!
[[irc_message_parse]]
Parse message
^^^^^^^^^^^^^
==== Parse message
_New in version 0.3.4._
You can parse an IRC message with info_hashtable called "irc_message_parse".
[source,python]
----------------------------------------
----
dict = weechat.info_get_hashtable("irc_message_parse",
{ "message": ":nick!user@host PRIVMSG #weechat :message here" })
weechat.prnt("", "dict: %s" % dict)
# output:
# dict: {'nick': 'nick', 'host': 'nick!user@host', 'command': 'PRIVMSG', 'arguments': '#weechat :message here', 'channel': '#weechat'}
----------------------------------------
----
[[infos]]
Infos
~~~~~
=== Infos
[[infos_weechat_version]]
WeeChat version
^^^^^^^^^^^^^^^
==== WeeChat version
The best way to check version is to ask "version_number" and make integer
comparison with hexadecimal version number.
@ -926,13 +887,13 @@ comparison with hexadecimal version number.
Example:
[source,python]
----------------------------------------
----
version = weechat.info_get("version_number", "") or 0
if int(version) >= 0x00030200:
weechat.prnt("", "This is WeeChat 0.3.2 or newer")
else:
weechat.prnt("", "This is WeeChat 0.3.1 or older")
----------------------------------------
----
[NOTE]
Versions ≤ 0.3.1.1 return empty string for 'info_get("version_number")' so you
@ -941,38 +902,35 @@ must check that value returned is *not* empty.
To get version as string:
[source,python]
----------------------------------------
----
# this will display for example "Version 0.3.2"
weechat.prnt("", "Version %s" % weechat.info_get("version", ""))
----------------------------------------
----
[[infos_other]]
Other infos
^^^^^^^^^^^
==== Other infos
[source,python]
----------------------------------------
----
# WeeChat home directory, for example: "/home/xxxx/.weechat"
weechat.prnt("", "WeeChat home dir: %s" % weechat.info_get("weechat_dir", ""))
# keyboard inactivity
weechat.prnt("", "Inactivity since %s seconds" % weechat.info_get("inactivity", ""))
----------------------------------------
----
[[infolists]]
Infolists
~~~~~~~~~
=== Infolists
[[infolists_read]]
Read an infolist
^^^^^^^^^^^^^^^^
==== Read an infolist
You can read infolist built by WeeChat or other plugins.
Example:
[source,python]
----------------------------------------
----
# read infolist "buffer", to get list of buffers
infolist = weechat.infolist_get("buffer", "", "")
if infolist:
@ -980,7 +938,7 @@ if infolist:
name = weechat.infolist_string(infolist, "name")
weechat.prnt("", "buffer: %s" % name)
weechat.infolist_free(infolist)
----------------------------------------
----
[IMPORTANT]
Don't forget to call `infolist_free` to free memory used by infolist, because

View File

@ -1,11 +1,9 @@
WeeChat Tester's Guide
======================
= WeeChat Tester's Guide
Sébastien Helleu <flashcode@flashtux.org>
[[purpose]]
Purpose
-------
== Purpose
Many thankful users ask us how can they help developing WeeChat. The
easiest (and also most tricky) way to help developing WeeChat is
@ -27,8 +25,7 @@ implementing new stuff (and fixing old bugs) all the time.
[[prepare_system]]
Prepare your system
-------------------
== Prepare your system
It would help us a lot if you enable Linux 'core' files: if WeeChat crashes,
Linux will write a file called 'core'. This file contains very useful debug
@ -36,14 +33,13 @@ info, to know exactly where is problem in WeeChat.
If you're using the 'bash' shell, add following line to your `~/.bashrc`:
----------------------------------------
----
ulimit -c unlimited
----------------------------------------
----
[[download]]
Download devel version
----------------------
== Download devel version
Fresh code (with latest bugs and features) is stored in a GIT repository.
@ -54,57 +50,55 @@ You may decide to build it manually (recommended way):
version of WeeChat.
[[get_sources]]
Get and build sources
~~~~~~~~~~~~~~~~~~~~~
=== Get and build sources
First create a directory, for example 'weechat-git':
----------------------------------------
----
$ mkdir ~/weechat-git
$ cd ~/weechat-git
----------------------------------------
----
If you have git installed, you can just clone the git repository (recommended
way):
----------------------------------------
----
$ git clone git://git.sv.gnu.org/weechat.git
$ cd weechat
----------------------------------------
----
NOTE: Later, you can run "`git pull`" in this directory, to get deltas with
the latest updates.
Otherwise you can download and unpack 'devel' package:
----------------------------------------
----
$ wget http://www.weechat.org/files/src/weechat-devel.tar.bz2
$ tar xvjf weechat-devel.tar.bz2
$ cd weechat-devel
----------------------------------------
----
To build sources, cmake is recommended:
----------------------------------------
----
$ mkdir build
$ cd build
$ cmake .. -DPREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
$ make
$ make install
----------------------------------------
----
If you don't have cmake, it's still possible to use autotools:
----------------------------------------
----
$ ./autogen.sh
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
$ make
$ make install
----------------------------------------
----
[[install_binary_package]]
Install binary package
~~~~~~~~~~~~~~~~~~~~~~
=== Install binary package
According to your Linux distribution:
@ -115,17 +109,16 @@ According to your Linux distribution:
[[run]]
Run WeeChat
-----------
== Run WeeChat
It's recommended to run WeeChat with another directory (different from stable
version), with option `--dir`.
Command is:
----------------------------------------
----
$ ~/weechat-git/bin/weechat
----------------------------------------
----
If you're still awake you should see the familiar interface and brag about
having the newest possible version of WeeChat. ;)
@ -137,8 +130,7 @@ If it doesn't crash - tell us too, we need your feedback!
[[links]]
Useful links
------------
== Useful links
* GIT repository: http://git.savannah.gnu.org/gitweb/?p=weechat.git
* Bug tracker: https://savannah.nongnu.org/bugs/?group=weechat

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,9 @@
WeeChat Quick Start Guide
=========================
= WeeChat Quick Start Guide
Sébastien Helleu <flashcode@flashtux.org>
[[start]]
Iniciar WeeChat
---------------
== Iniciar WeeChat
Es recomendable una terminal emulada para X (pero no indispensable)
rxvt-unicode (tiene un buen soporte para UTF-8, y no da problemas con
@ -14,32 +12,31 @@ los atajas de teclados predeterminados).
// TRANSLATION MISSING
Run from your shell:
----------------------------------------
----
$ weechat
----------------------------------------
----
[[help_options]]
Ayuda en linea / Opciones
-------------------------
== Ayuda en linea / Opciones
WeeChat tiene ayuda para todos los comandos, solo teclee:
----------------------------------------
----
/help
----------------------------------------
----
Para obtener ayuda específicamente de un comando, teclee:
----------------------------------------
----
/help comando
----------------------------------------
----
Para configurar una opción, use:
----------------------------------------
----
/set config.section.option valor
----------------------------------------
----
(donde `config` es el nombre de la configuración del núcleo o del
plugin que desea configurar, `section`, la sección de esa configuración
@ -54,28 +51,28 @@ opciones que contienen esas letras. Por ejemplo:
* mostrará todas las opciones de WeeChat y sus plugins:
----------------------------------------
----
/set
----------------------------------------
----
* mostrará solo las opciones de WeeChat:
----------------------------------------
----
/set weechat.*
----------------------------------------
----
* mostrará las opciones del plugin IRC:
----------------------------------------
----
/set irc.*
----------------------------------------
----
Puede mostrar la ayuda de una opción en especifico con `/help`, por
ejemplo:
----------------------------------------
----
/help weechat.look.highlight
----------------------------------------
----
Todas las opciones se salvarán de manera automática cuando cierre
WeeChat o usando el comando `/save` para forzar la forzar a WeeChat a
@ -87,8 +84,7 @@ comando `/set`.
[[core_vs_plugins]]
Núcleo vs Plugins
-----------------
== Núcleo vs Plugins
Llamaremos "Núcleo de WeeChat" a la aplicación que solo se usa para
mostrar información en pantalla e interactuar con el usuario, eso es lo
@ -103,25 +99,23 @@ seguramente vera irc y otros.
[[create_irc_server]]
Crear un servidor IRC
---------------------
== Crear un servidor IRC
Puede agregar un servidor IRC usando el comando `/server`, por ejemplo:
----------------------------------------
----
/server add oftc irc.oftc.net/6667
----------------------------------------
----
La ayuda está disponible; si te pierdes:
----------------------------------------
----
/help server
----------------------------------------
----
[[irc_server_options]]
Personalizar las opciones de un servidor IRC
--------------------------------------------
== Personalizar las opciones de un servidor IRC
WeeChat usa las opciones por defecto para todos los servidores
("predeterminado") si no le especifica un valor individual a un servidor
@ -136,73 +130,72 @@ Por ejemplo, tenemos el nick por defecto (que se basa en su login) pero
usted puedes sobreescribirlo para el servidor identificado como oftc
de la siguiente manera:
----------------------------------------
----
/set irc.server.oftc.nicks "nick,nick2,nick3,nick4,nick5"
----------------------------------------
----
También para configurar el nombre de usuario y el nombre real:
----------------------------------------
----
/set irc.server.oftc.username "Mi nombre de usuario"
/set irc.server.oftc.realname "Mi nombre real"
----------------------------------------
----
Para que el servidor se conecte cuando WeeChat inicie:
----------------------------------------
----
/set irc.server.oftc.autoconnect on
----------------------------------------
----
// TRANSLATION MISSING
If SASL is available on server, you can use it for authentication (you will be
identified before you join channels):
----------------------------------------
----
/set irc.server_default.sasl_mechanism dh-blowfish
/set irc.server.oftc.sasl_username "nick"
/set irc.server.oftc.sasl_password "xxxxxxx"
----------------------------------------
----
// TRANSLATION MISSING
To run a command after connection to server, for example to authenticate
with nickserv (only if you don't use SASL for authentication):
----------------------------------------
----
/set irc.server.oftc.command "/msg nickserv identify xxxxxxx"
----------------------------------------
----
[NOTE]
Varios comandos pueden ser escritos separados por ';' (punto y coma).
Para unirse automáticamente a canales cuando el servidor se conecte:
----------------------------------------
----
/set irc.server.oftc.autojoin "#uncanal,#otrocanal"
----------------------------------------
----
Para eliminar un valor asignado a una opción de servidor y usar los
valores por defecto en su lugar, por ejemplo, usar el nick por defecto
(irc.server_default.nicks):
----------------------------------------
----
/set irc.server.oftc.nicks null
----------------------------------------
----
Otras opciones: pude configurar otras opciones con el siguiente comando,
donde "xxx" es el nombre de la opción.
----------------------------------------
----
/set irc.server.oftc.xxx valor
----------------------------------------
----
[[connect_to_irc_server]]
Conectarse a un servidor IRC
----------------------------
== Conectarse a un servidor IRC
----------------------------------------
----
/connect oftc
----------------------------------------
----
[NOTE]
Este comando también puede usarse para crear y conectarse a un nuevo
@ -216,38 +209,36 @@ servidores use ctrl+X.
Es posible deshabilitar esta manera de tener todos los buffer de
servidores juntos para tenerlos de manera independiente:
----------------------------------------
----
/set irc.look.server_buffer independent
----------------------------------------
----
[[join_part_irc_channels]]
join/part y canales IRC
-----------------------
== join/part y canales IRC
Se une a un canal llamado "#canal":
----------------------------------------
----
/join #canal
----------------------------------------
----
Sale de un canal (mantiene el buffer abierto):
----------------------------------------
----
/part [mensaje de partida]
----------------------------------------
----
Cierra un servidor o el buffer de un canal (`/close` es un alias de
`/buffer close`):
----------------------------------------
----
/close
----------------------------------------
----
[[buffer_window]]
Manipulando buffer/ventana
--------------------------
== Manipulando buffer/ventana
Un buffer, es un componente vinculado a un plugin con un número, una
categoría y un nombre. El buffer contiene los datos que se muestran en
@ -259,10 +250,10 @@ ventanas conteniendo varios buffer al mismo tiempo.
Comandos para manipular buffer y ventana:
----------------------------------------
----
/buffer
/window
----------------------------------------
----
(le reitero que puede obtener ayuda de los comandos con /help buffer y
/help ventana respectivamente)
@ -270,14 +261,13 @@ Comandos para manipular buffer y ventana:
Por ejemplo, para dividir la pantalla una pequeña ventana (1/3)
junto a otras mas grande (2/3) use el comando
----------------------------------------
----
/window splitv 33
----------------------------------------
----
[[key_bindings]]
Atajos de teclado
-----------------
== Atajos de teclado
WeeChat usa muchas teclas por defecto. Las mismas, están bien
explicadas en la documentación pero debe conocer al menos la mas
@ -299,26 +289,25 @@ alguna tecla.
Por ejemplo, para asignar la combinación meta-y (alt-y) al comando
`/buffer close`:
----------------------------------------
----
/key bind (presionamos meta-k) (presionamos meta-y) /buffer close
----------------------------------------
----
El comando se vera mas o menos así:
----------------------------------------
----
/key bind meta-y /buffer close
----------------------------------------
----
Para eliminar una combinación:
----------------------------------------
----
/key unbind meta-y
----------------------------------------
----
[[plugins_scripts]]
Plugins/scripts
---------------
== Plugins/scripts
En algunas distribuciones como Debian, los plugins están disponibles en
un paquete separado (como weechat-plugin).
@ -335,8 +324,7 @@ for more info).
[[more_doc]]
Más documentación
-----------------
== Más documentación
Ahora puede usar WeeChat y leer las FAQ/documentación para cada pregunta
en: http://weechat.org/doc

View File

@ -1,5 +1,5 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
|===
| Extension | Nom | Description
| alias | alias | liste des alias
@ -130,4 +130,4 @@
| xfer | nick | pseudos de la discussion DCC
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="^1,^2,5,5,5",options="header"]
|========================================
|===
| Extension | Nom | Description | Pointeur | Paramètres
| alias | alias | liste des alias | pointeur vers l'alias (optionnel) | nom d'alias (peut démarrer ou se terminer par "*" comme joker) (optionnel)
@ -70,4 +70,4 @@
| xfer | xfer | liste des xfer | pointeur vers le xfer (optionnel) | -
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="^1,^2,6,6",options="header"]
|========================================
|===
| Extension | Nom | Description | Paramètres
| aspell | aspell_dict | liste de dictionnaires (séparés par des virgules) utilisés sur le tampon | pointeur vers un tampon ("0x12345678") ou nom complet de tampon ("irc.freenode.#weechat")
@ -62,4 +62,4 @@
| weechat | weechat_upgrading | 1 si WeeChat est en cours de mise à jour (commande `/upgrade`) | -
|========================================
|===

View File

@ -1,9 +1,9 @@
[width="100%",cols="^1,^2,6,6,6",options="header"]
|========================================
|===
| Extension | Nom | Description | Hashtable (entrée) | Hashtable (sortie)
| irc | irc_message_parse | analyse un message IRC | "message": message IRC, "server": nom du serveur (optionnel) | "tags": étiquettes, "message_without_tags": message sans les étiquettes, "nick": pseudo, "host": nom d'hôte, "command": commande, "channel": canal, "arguments": paramètres (inclut le canal)
| irc | irc_message_split | découper un message IRC (pour tenir dans les 512 octets) | "message": message IRC, "server": nom du serveur (optionnel) | "msg1" ... "msgN": messages à envoyer (sans le "\r\n" final), "args1" ... "argsN": paramètres des messages, "count": nombre de messages
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="2,^1,7",options="header"]
|========================================
|===
| Option | Type | Constantes ^(1)^
| verbose | long |
@ -298,4 +298,4 @@
| new_directory_perms | long |
|========================================
|===

View File

@ -1,7 +1,7 @@
[[command_alias_alias]]
[command]*`alias`* créer un alias pour une commande::
----------------------------------------
----
/alias [-completion <complétion>] alias [<commande> [;<commande>...]]
complétion: complétion pour l'alias (optionnel, par défaut la complétion se fait avec la commande cible)
@ -30,5 +30,5 @@ Exemples:
/alias hello /allchan -exclude=#weechat msg * hello
alias /forcejoin pour envoyer la commande IRC "forcejoin" avec la complétion de /sajoin :
/alias -completion %%sajoin forcejoin /quote forcejoin
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_aspell_aspell]]
[command]*`aspell`* configuration de l'extension aspell::
----------------------------------------
----
/aspell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
@ -23,5 +23,5 @@ Pour activer aspell sur tous les tampons, utilisez l'option "default_dict", par
/aspell enable
La touche par défaut pour activer/désactiver aspell est alt-s.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_charset_charset]]
[command]*`charset`* changer le charset pour le tampon courant::
----------------------------------------
----
/charset decode|encode <charset>
reset
@ -9,5 +9,5 @@
encode: changer le charset d'encodage
charset: nouveau charset pour le tampon courant
reset: réinitialiser les charsets pour le tampon courant
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_guile_guile]]
[command]*`guile`* lister/charger/décharger des scripts::
----------------------------------------
----
/guile list|listfull [<nom>]
load [-q] <fichier>
autoload
@ -18,5 +18,5 @@ autoload: charger tous les scripts dans le répertoire "autoload"
-q: mode silencieux: ne pas afficher de messages
Sans paramètre, cette commande liste les scripts chargés.
----------------------------------------
----

View File

@ -1,16 +1,16 @@
[[command_irc_admin]]
[command]*`admin`* trouver les informations sur l'administrateur du serveur::
----------------------------------------
----
/admin [<cible>]
cible: serveur
----------------------------------------
----
[[command_irc_allchan]]
[command]*`allchan`* exécuter une commande sur tous les canaux de tous les serveurs connectés::
----------------------------------------
----
/allchan [-current] [-exclude=<canal>[,<canal>...]] <commande> [<paramètres>]
-current: exécuter la commande pour les canaux du serveur courant seulement
@ -25,12 +25,12 @@ Exemples:
/allchan -exclude=#weechat msg * bonjour
dire 'bonjour' partout sauf sur #weechat et les canaux commençant par #linux:
/allchan -exclude=#weechat,#linux* msg * bonjour
----------------------------------------
----
[[command_irc_allserv]]
[command]*`allserv`* exécuter une commande sur tous les serveurs connectés::
----------------------------------------
----
/allserv [-exclude=<serveur>[,<serveur>...]] <commande> [<paramètres>]
-exclude: exclude certains serveurs ('*' est autorisé en début ou fin du nom du serveur, pour exclure plusieurs serveurs)
@ -44,24 +44,24 @@ Exemples:
/allserv away Je suis absent
faire un whois sur mon pseudo sur tous les serveurs:
/allserv whois $nick
----------------------------------------
----
[[command_irc_ban]]
[command]*`ban`* bannir des pseudos ou hôtes::
----------------------------------------
----
/ban [<canal>] [<pseudo> [<pseudo>...]]
canal: nom du canal pour supprimer le bannissement
pseudo: pseudo ou hôte pour supprimer le bannissement
Sans paramètre, cette commande affiche la liste des bans pour le canal courant.
----------------------------------------
----
[[command_irc_connect]]
[command]*`connect`* se connecter à un/plusieurs serveur(s) IRC::
----------------------------------------
----
/connect [<serveur> [<serveur>...] [-<option>[=<valeur>]] [-no<option>] [-nojoin] [-switch]
-all|-auto|-open [-nojoin] [-switch]
@ -85,33 +85,33 @@ Exemples:
/connect my.server.org/6697 -ssl -password=test
/connect irc://nick@irc.oftc.net/#channel
/connect -switch
----------------------------------------
----
[[command_irc_ctcp]]
[command]*`ctcp`* envoyer un message CTCP (Client-To-Client Protocol)::
----------------------------------------
----
/ctcp <cible> <type> [<arguments>]
cible: pseudo ou canal à qui envoyer le CTCP
type: type de CTCP (exemples: "version", "ping", etc...)
arguments: paramètres pour le CTCP
----------------------------------------
----
[[command_irc_cycle]]
[command]*`cycle`* quitter et rejoindre un canal::
----------------------------------------
----
/cycle [<canal>[,<canal>...]] [message]
canal: canal à quitter
message: message de fin (affiché aux autres utilisateurs)
----------------------------------------
----
[[command_irc_dcc]]
[command]*`dcc`* démarrer un DCC (transfert de fichier ou discussion directe)::
----------------------------------------
----
/dcc chat <pseudo>
send <pseudo> <fichier>
@ -123,76 +123,76 @@ Exemples:
/dcc chat toto
envoyer le fichier "/home/foo/bar.txt" au pseudo "toto":
/dcc send toto /home/foo/bar.txt
----------------------------------------
----
[[command_irc_dehalfop]]
[command]*`dehalfop`* retirer le statut de demi-opérateur du canal à/aux pseudo(s)::
----------------------------------------
----
/dehalfop <pseudo> [<pseudo>...]
pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker)
*: retirer le statut de demi-opérateur de tout le monde sur le canal excepté vous-même
----------------------------------------
----
[[command_irc_deop]]
[command]*`deop`* retirer le statut d'opérateur du canal à/aux pseudo(s)::
----------------------------------------
----
/deop <pseudo> [<pseudo>...]
* -yes
pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker)
*: retirer le statut d'opérateur de tout le monde sur le canal excepté vous-même
----------------------------------------
----
[[command_irc_devoice]]
[command]*`devoice`* retirer la voix du/des pseudo(s)::
----------------------------------------
----
/devoice <pseudo> [<pseudo>...]
* -yes
pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker)
*: retirer la voix de tout le monde sur le canal
----------------------------------------
----
[[command_irc_die]]
[command]*`die`* arrêter le serveur::
----------------------------------------
----
/die [<cible>]
cible: nom du serveur
----------------------------------------
----
[[command_irc_disconnect]]
[command]*`disconnect`* se déconnecter d'un ou de tous les serveurs IRC::
----------------------------------------
----
/disconnect [<serveur>|-all|-pending [<raison>]]
serveur: nom du serveur pour se déconnecter
-all: se déconnecter de tous les serveurs
-pending: annuler la reconnexion automatique sur les serveurs en cours de reconnexion
raison: raison pour le quit
----------------------------------------
----
[[command_irc_halfop]]
[command]*`halfop`* donner le statut de demi-opérateur à un/des pseudo(s)::
----------------------------------------
----
/halfop <pseudo> [<pseudo>...]
* -yes
pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker)
*: donner le statut de demi-opérateur à tout le monde sur le canal
----------------------------------------
----
[[command_irc_ignore]]
[command]*`ignore`* ignorer des pseudos/hôtes de serveurs ou canaux::
----------------------------------------
----
/ignore list
add [re:]<pseudo> [<serveur> [<canal>]]
del <numéro>|-all
@ -215,40 +215,40 @@ Exemples:
/ignore add toto@domain.com freenode
ignorer le hôte "toto*@*.domain.com" sur freenode/#weechat:
/ignore add toto*@*.domain.com freenode #weechat
----------------------------------------
----
[[command_irc_info]]
[command]*`info`* voir les informations décrivant le serveur::
----------------------------------------
----
/info [<cible>]
cible: nom du serveur
----------------------------------------
----
[[command_irc_invite]]
[command]*`invite`* inviter un pseudo sur un canal::
----------------------------------------
----
/invite <pseudo> [<pseudo>...] [<canal>]
pseudo: pseudo à inviter
canal: canal pour l'invitation
----------------------------------------
----
[[command_irc_ison]]
[command]*`ison`* vérifier si un pseudo est actuellement sur IRC::
----------------------------------------
----
/ison <pseudo> [<pseudo>...]
pseudo: pseudo
----------------------------------------
----
[[command_irc_join]]
[command]*`join`* rejoindre un canal::
----------------------------------------
----
/join [-noswitch] [-server <serveur>] [<canal1>[,<canal2>...]] [<clé1>[,<clé2>...]]
-noswitch: ne pas basculer sur le nouveau tampon
@ -261,23 +261,23 @@ Exemples:
/join #protectedchan,#weechat key
/join -server freenode #weechat
/join -noswitch #weechat
----------------------------------------
----
[[command_irc_kick]]
[command]*`kick`* retirer par la force un utilisateur d'un canal::
----------------------------------------
----
/kick [<canal>] <pseudo> [<raison>]
canal: canal où l'utilisateur se trouve
pseudo: pseudo à éliminer
raison: raison pour l'élimination (les variables spéciales $nick, $channel et $server sont remplacées par leur valeur)
----------------------------------------
----
[[command_irc_kickban]]
[command]*`kickban`* retirer par la force un pseudo d'un canal et le bannir::
----------------------------------------
----
/kickban [<canal>] <pseudo> [<raison>]
canal: canal où l'utilisateur se trouve
@ -289,32 +289,32 @@ Il est possible d'éliminer/bannir avec un masque, le pseudo sera extrait du mas
Exemple:
bannir "*!*@host.com" puis éliminer "toto":
/kickban toto!*@host.com
----------------------------------------
----
[[command_irc_kill]]
[command]*`kill`* fermer la connexion client-serveur::
----------------------------------------
----
/kill <pseudo> <raison>
pseudo: pseudo
raison: raison
----------------------------------------
----
[[command_irc_links]]
[command]*`links`* lister tous les noms de serveurs connus du serveur qui répondent à la requête::
----------------------------------------
----
/links [[<serveur>] <masque_serveur>]
serveur: ce serveur doit répondre à la requête
masque_serveur: liste des serveurs correspondant au masque
----------------------------------------
----
[[command_irc_list]]
[command]*`list`* lister les canaux et leur titre::
----------------------------------------
----
/list [<canal>[,<canal>...]] [<serveur>] [-re <regex>]
canal: canal à lister
@ -328,37 +328,37 @@ Exemples:
/list #weechat
lister tous les canaux commençant par "#weechat" (peut être très lent pour les grands réseaux):
/list -re #weechat.*
----------------------------------------
----
[[command_irc_lusers]]
[command]*`lusers`* obtenir des statistiques sur la taille du réseau IRC::
----------------------------------------
----
/lusers [<masque> [<cible>]]
masque: serveurs qui correspondent au masque seulement
cible: serveur pour faire suivre la requête
----------------------------------------
----
[[command_irc_map]]
[command]*`map`* afficher une carte graphique du réseau IRC::
----------------------------------------
----------------------------------------
----
----
[[command_irc_me]]
[command]*`me`* envoyer une action CTCP au canal courant::
----------------------------------------
----
/me <message>
message: message à envoyer
----------------------------------------
----
[[command_irc_mode]]
[command]*`mode`* changer le mode du canal ou de l'utilisateur::
----------------------------------------
----
/mode [<canal>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<paramètres>]
<pseudo> [+|-]i|s|w|o
@ -390,62 +390,62 @@ Exemples:
/mode #weechat +t
devenir invisible sur le serveur:
/mode nick +i
----------------------------------------
----
[[command_irc_motd]]
[command]*`motd`* obtenir le message du jour::
----------------------------------------
----
/motd [<cible>]
cible: nom du serveur
----------------------------------------
----
[[command_irc_msg]]
[command]*`msg`* envoyer un message à un pseudo ou canal::
----------------------------------------
----
/msg [-server <serveur>] <cible>[,<cible>...] <texte>
serveur: envoyer à ce serveur (nom interne)
cible: pseudo ou canal (peut-être un masque, '*' = canal courant)
texte: texte à envoyer
----------------------------------------
----
[[command_irc_names]]
[command]*`names`* lister les pseudos sur des canaux::
----------------------------------------
----
/names [<canal>[,<canal>...]]
canal: nom du canal
----------------------------------------
----
[[command_irc_nick]]
[command]*`nick`* changer le pseudo courant::
----------------------------------------
----
/nick [-all] <pseudo>
-all: définir le nouveau pseudo sur tous les serveurs connectés
pseudo: nouveau pseudo
----------------------------------------
----
[[command_irc_notice]]
[command]*`notice`* envoyer un message notice à un utilisateur::
----------------------------------------
----
/notice [-server <serveur>] <cible> <texte>
serveur: envoyer à ce serveur (nom interne)
cible: pseudo ou canal
texte: texte à envoyer
----------------------------------------
----
[[command_irc_notify]]
[command]*`notify`* ajouter une notification de présence ou de statut d'absence pour des pseudos sur les serveurs::
----------------------------------------
----
/notify add <pseudo> [<serveur> [-away]]
del <pseudo>|-all [<serveur>]
@ -465,96 +465,96 @@ Exemples:
/notify add toto freenode
notifier quand "toto" est absent ou de retour sur le serveur freenode:
/notify add toto freenode -away
----------------------------------------
----
[[command_irc_op]]
[command]*`op`* donner le statut d'opérateur à un/des pseudo(s)::
----------------------------------------
----
/op <pseudo> [<pseudo>...]
* -yes
pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker)
*: donner le statut d'opérateur à tout le monde sur le canal
----------------------------------------
----
[[command_irc_oper]]
[command]*`oper`* obtenir le statut d'opérateur::
----------------------------------------
----
/oper <utilisateur> <mot_de_passe>
utilisateur: utilisateur
mot_de_passe: mot de passe
----------------------------------------
----
[[command_irc_part]]
[command]*`part`* quitter un canal::
----------------------------------------
----
/part [<canal>[,<canal>...]] [message]
canal: canal à quitter
message: message de fin (affiché aux autres utilisateurs)
----------------------------------------
----
[[command_irc_ping]]
[command]*`ping`* envoyer un ping au serveur::
----------------------------------------
----
/ping <serveur1> [<serveur2>]
serveur1: serveur
serveur2: faire suivre le ping à ce serveur
----------------------------------------
----
[[command_irc_pong]]
[command]*`pong`* répondre à un message ping::
----------------------------------------
----
/pong <démon> [<démon2>]
démon: démon qui a répondu au message Ping
démon2: faire suivre le message à ce démon
----------------------------------------
----
[[command_irc_query]]
[command]*`query`* envoyer un message privé à un pseudo::
----------------------------------------
----
/query [-server <serveur>] <pseudo>[,<pseudo>...] [<texte>]
serveur: envoyer à ce serveur (nom interne)
pseudo: pseudo pour la conversation privée
texte: texte à envoyer
----------------------------------------
----
[[command_irc_quiet]]
[command]*`quiet`* faire taire des pseudos ou hôtes::
----------------------------------------
----
/quiet [<canal>] [<pseudo> [<pseudo>...]]
canal: nom du canal pour faire taire
pseudo: pseudo ou hôte à faire taire
Sans paramètre, cette commande affiche la liste des "quiet" pour le canal courant.
----------------------------------------
----
[[command_irc_quote]]
[command]*`quote`* envoyer des données brutes au serveur sans analyse::
----------------------------------------
----
/quote [-server <serveur>] <données>
serveur: envoyer à ce serveur (nom interne)
données: données brutes à envoyer
----------------------------------------
----
[[command_irc_reconnect]]
[command]*`reconnect`* se reconnecter à un/plusieurs serveur(s)::
----------------------------------------
----
/reconnect <serveur> [<serveur>...] [-nojoin] [-switch]
-all [-nojoin] [-switch]
@ -562,80 +562,80 @@ serveur: nom du serveur pour se reconnecter
-all: se reconnecter à tous les serveurs
-nojoin: ne rejoindre aucun canal (même si l'autojoin est activé pour le serveur)
-switch: basculer vers l'adresse suivante du serveur
----------------------------------------
----
[[command_irc_rehash]]
[command]*`rehash`* demander au serveur de recharger son fichier de configuration::
----------------------------------------
----
/rehash [<option>]
option: option supplémentaire, pour certains serveurs
----------------------------------------
----
[[command_irc_restart]]
[command]*`restart`* demander au serveur de redémarrer::
----------------------------------------
----
/restart [<cible>]
cible: nom du serveur
----------------------------------------
----
[[command_irc_sajoin]]
[command]*`sajoin`* forcer un utilisateur à rejoindre un ou plusieurs canaux::
----------------------------------------
----
/sajoin <pseudo> <canal>[,<canal>...]
pseudo: pseudo
canal: canal
----------------------------------------
----
[[command_irc_samode]]
[command]*`samode`* changer le mode du canal, sans avoir le statut d'opérateur::
----------------------------------------
----
/samode <canal> <mode>
canal: nom du canal
mode: mode pour le canal
----------------------------------------
----
[[command_irc_sanick]]
[command]*`sanick`* forcer un utilisateur à utiliser un autre pseudo::
----------------------------------------
----
/sanick <pseudo> <nouveau_pseudo>
pseudo: pseudo
nouveau_pseudo: nouveau pseudo
----------------------------------------
----
[[command_irc_sapart]]
[command]*`sapart`* forcer un utilisateur à quitter un ou plusieurs canaux::
----------------------------------------
----
/sapart <pseudo> <canal>[,<canal>...]
pseudo: pseudo
canal: canal
----------------------------------------
----
[[command_irc_saquit]]
[command]*`saquit`* forcer un utilisateur à quitter le serveur avec une raison::
----------------------------------------
----
/saquit <pseudo> <raison>
pseudo: pseudo
raison: raison
----------------------------------------
----
[[command_irc_server]]
[command]*`server`* lister, ajouter ou retirer des serveurs IRC::
----------------------------------------
----
/server list|listfull [<serveur>]
add <serveur> <nom>[/<port>] [-temp] [-<option>[=<valeur>]] [-no<option>]
copy|rename <serveur> <nouveau_nom>
@ -668,179 +668,179 @@ Exemples:
/server rename oftc newoftc
/server del freenode
/server deloutq
----------------------------------------
----
[[command_irc_service]]
[command]*`service`* enregistrer un nouveau service::
----------------------------------------
----
/service <pseudo> <réservé> <distribution> <type> <réservé> <info>
distribution: visibilité du service
type: réservé pour une utilisation future
----------------------------------------
----
[[command_irc_servlist]]
[command]*`servlist`* lister les services actuellement connectés au réseau::
----------------------------------------
----
/servlist [<masque> [<type>]]
masque: lister seulement les services qui correspondent à ce masque
type: lister seulement les services de ce type
----------------------------------------
----
[[command_irc_squery]]
[command]*`squery`* envoyer un message à un service::
----------------------------------------
----
/squery <service> <texte>
service: nom du service
texte: texte à envoyer
----------------------------------------
----
[[command_irc_squit]]
[command]*`squit`* déconnecter les liens vers un serveur::
----------------------------------------
----
/squit <serveur> <commentaire>
serveur: nom du serveur
commentaire: commentaire pour quitter
----------------------------------------
----
[[command_irc_stats]]
[command]*`stats`* demander des statistiques sur le serveur::
----------------------------------------
----
/stats [<requête> [<serveur>]]
requête: c/h/i/k/l/m/o/y/u (voir la RFC1459)
serveur: nom du serveur
----------------------------------------
----
[[command_irc_summon]]
[command]*`summon`* envoyer aux utilisateurs d'un serveur IRC un message leur demandant de rejoindre IRC::
----------------------------------------
----
/summon <utilisateur> [<cible> [<canal>]]
utilisateur: nom d'utilisateur
cible: nom du serveur
canal: nom du canal
----------------------------------------
----
[[command_irc_time]]
[command]*`time`* demander l'heure locale de serveur::
----------------------------------------
----
/time [<cible>]
cible: demander l'heure de ce serveur
----------------------------------------
----
[[command_irc_topic]]
[command]*`topic`* recevoir/définir le titre du canal::
----------------------------------------
----
/topic [<canal>] [<titre>|-delete]
canal: nom du canal
titre: nouveau titre pour le canal
-delete: supprime le titre du canal
----------------------------------------
----
[[command_irc_trace]]
[command]*`trace`* trouver le chemin jusqu'à un serveur spécifique::
----------------------------------------
----
/trace [<cible>]
cible: serveur
----------------------------------------
----
[[command_irc_unban]]
[command]*`unban`* supprimer le bannissement sur des pseudos ou hôtes::
----------------------------------------
----
/unban [<canal>] <pseudo> [<pseudo>...]
canal: nom du canal pour supprimer le bannissement
pseudo: pseudo ou hôte pour supprimer le bannissement
----------------------------------------
----
[[command_irc_userhost]]
[command]*`userhost`* retourner une liste d'informations sur des pseudos::
----------------------------------------
----
/userhost <pseudo> [<pseudo>...]
pseudo: pseudo
----------------------------------------
----
[[command_irc_users]]
[command]*`users`* liste des utilisateurs connectés au serveur::
----------------------------------------
----
/users [<cible>]
cible: serveur
----------------------------------------
----
[[command_irc_version]]
[command]*`version`* retourner la version du pseudo ou du serveur (courant ou spécifié)::
----------------------------------------
----
/version [<serveur>|<pseudo>]
serveur: nom du serveur
pseudo: pseudo
----------------------------------------
----
[[command_irc_voice]]
[command]*`voice`* donner la voix à/aux pseudo(s)::
----------------------------------------
----
/voice <pseudo> [<pseudo>...]
pseudo: pseudo ou masque (peut démarrer ou se terminer par "*" comme joker)
*: donner la voix à tout le monde sur le canal
----------------------------------------
----
[[command_irc_wallchops]]
[command]*`wallchops`* envoyer une notice aux opérateurs du canal::
----------------------------------------
----
/wallchops [<canal>] <texte>
canal: nom du canal
texte: texte à envoyer
----------------------------------------
----
[[command_irc_wallops]]
[command]*`wallops`* envoyer un message à tous les utilisateurs connectés qui ont activé le mode utilisateur 'w' pour eux-mêmes::
----------------------------------------
----
/wallops <texte>
texte: texte à envoyer
----------------------------------------
----
[[command_irc_who]]
[command]*`who`* générer une requête qui retourne une liste d'information::
----------------------------------------
----
/who [<masque> [o]]
masque: information qui correspond à ce masque uniquement
o: seul les opérateurs sont retournés correspondant au masque fourni
----------------------------------------
----
[[command_irc_whois]]
[command]*`whois`* demander les informations sur le(s) utilisateur(s)::
----------------------------------------
----
/whois [<serveur>] [<pseudo>[,<pseudo>...]]
serveur: nom de serveur
@ -849,16 +849,16 @@ serveur: nom de serveur
Sans paramètre, cette commande effectuera un whois sur :
- votre propre pseudo si le tampon est un serveur/canal
- le pseudo distant si le tampon est un privé.
----------------------------------------
----
[[command_irc_whowas]]
[command]*`whowas`* demander de l'information sur un pseudo qui n'existe plus::
----------------------------------------
----
/whowas <pseudo>[,<pseudo>...] [<nombre> [<cible>]]
pseudo: pseudo à chercher
nombre: nombre de réponses à retourner (recherche complète si nombre négatif)
cible: la réponse doit correspondre à ce masque
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_logger_logger]]
[command]*`logger`* configuration de l'extension logger::
----------------------------------------
----
/logger list
set <niveau>
flush
@ -33,5 +33,5 @@ Exemples:
/set logger.level.core.weechat 0
utiliser un répertoire par serveur IRC et un fichier par canal dedans:
/set logger.mask.irc "$server/$channel.weechatlog"
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_lua_lua]]
[command]*`lua`* lister/charger/décharger des scripts::
----------------------------------------
----
/lua list|listfull [<nom>]
load [-q] <fichier>
autoload
@ -18,5 +18,5 @@ autoload: charger tous les scripts dans le répertoire "autoload"
-q: mode silencieux: ne pas afficher de messages
Sans paramètre, cette commande liste les scripts chargés.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_perl_perl]]
[command]*`perl`* lister/charger/décharger des scripts::
----------------------------------------
----
/perl list|listfull [<nom>]
load [-q] <fichier>
autoload
@ -18,5 +18,5 @@ autoload: charger tous les scripts dans le répertoire "autoload"
-q: mode silencieux: ne pas afficher de messages
Sans paramètre, cette commande liste les scripts chargés.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_python_python]]
[command]*`python`* lister/charger/décharger des scripts::
----------------------------------------
----
/python list|listfull [<nom>]
load [-q] <fichier>
autoload
@ -18,5 +18,5 @@ autoload: charger tous les scripts dans le répertoire "autoload"
-q: mode silencieux: ne pas afficher de messages
Sans paramètre, cette commande liste les scripts chargés.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_relay_relay]]
[command]*`relay`* contrôle du relai::
----------------------------------------
----
/relay list|listfull|listrelay
add [ipv4.][ipv6.][ssl.]<protocole.nom> <port>
del [ipv4.][ipv6.][ssl.]<protocole.nom>
@ -42,5 +42,5 @@ Exemples:
/relay add ipv6.ssl.weechat 9001
protocole weechat avec SSL, en utilisant IPv4 + IPv6:
/relay add ipv4.ipv6.ssl.weechat 9001
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_rmodifier_rmodifier]]
[command]*`rmodifier`* modifier des chaînes de "modifier" avec des expressions régulières::
----------------------------------------
----
/rmodifier list|listdefault
add <nom> <modifiers> <groupes> <regex>
del <nom>|-all [<nom>...]
@ -27,5 +27,5 @@ Exemples:
/rmodifier del password
supprimer tous les rmodifiers:
/rmodifier del -all
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_ruby_ruby]]
[command]*`ruby`* lister/charger/décharger des scripts::
----------------------------------------
----
/ruby list|listfull [<nom>]
load [-q] <fichier>
autoload
@ -18,5 +18,5 @@ autoload: charger tous les scripts dans le répertoire "autoload"
-q: mode silencieux: ne pas afficher de messages
Sans paramètre, cette commande liste les scripts chargés.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_script_script]]
[command]*`script`* Gestionnaire de scripts WeeChat::
----------------------------------------
----
/script list [-o|-i]
search <texte>
show <script>
@ -73,5 +73,5 @@ Exemples:
/script hold urlserver.py
/script reload urlserver
/script upgrade
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_tcl_tcl]]
[command]*`tcl`* lister/charger/décharger des scripts::
----------------------------------------
----
/tcl list|listfull [<nom>]
load [-q] <fichier>
autoload
@ -18,5 +18,5 @@ autoload: charger tous les scripts dans le répertoire "autoload"
-q: mode silencieux: ne pas afficher de messages
Sans paramètre, cette commande liste les scripts chargés.
----------------------------------------
----

View File

@ -1,17 +1,17 @@
[[command_weechat_away]]
[command]*`away`* définir ou supprimer le statut d'absence::
----------------------------------------
----
/away [-all] [<message>]
-all: définir ou supprimer le statut d'absence sur tous les serveurs connectés
message: message pour l'absence (si pas de message donné, le statut d'absence est supprimé)
----------------------------------------
----
[[command_weechat_bar]]
[command]*`bar`* gestion des barres::
----------------------------------------
----
/bar list|listfull|listitems
add <nom> <type>[,<conditions>] <position> <taille> <séparateur> <objet1>[,<objet2>...]
default [input|title|status|nicklist]
@ -58,12 +58,12 @@ Exemples:
/bar scroll nicklist * y+10
faire défiler la liste des pseudos à la fin sur le tampon courant:
/bar scroll nicklist * ye
----------------------------------------
----
[[command_weechat_buffer]]
[command]*`buffer`* gestion des tampons::
----------------------------------------
----
/buffer list
clear [<nombre>|<nom>|-merged|-all]
move|merge <nombre>
@ -120,12 +120,12 @@ Exemples:
/buffer #weechat
aller au tampon suivant:
/buffer +1
----------------------------------------
----
[[command_weechat_color]]
[command]*`color`* définir des alias de couleurs et afficher la palette des couleurs::
----------------------------------------
----
/color alias <couleur> <nom>
unalias <couleur>
reset
@ -145,22 +145,22 @@ Exemples:
/color alias 214 orange
supprimer la couleur 214:
/color unalias 214
----------------------------------------
----
[[command_weechat_command]]
[command]*`command`* lancer explicitement une commande WeeChat ou d'une extension::
----------------------------------------
----
/command <extension> <commande>
extension: nom de l'extension ('weechat' pour une commande interne WeeChat)
commande: commande à exécuter (un '/' est automatiquement ajouté s'il n'est pas trouvé au début de la commande)
----------------------------------------
----
[[command_weechat_cursor]]
[command]*`cursor`* mouvement libre du curseur sur l'écran pour exécuter des actions sur des zones spécifiques de l'écran::
----------------------------------------
----
/cursor go chat|<barre>|<x>,<y>
move up|down|left|right|area_up|area_down|area_left|area_right
stop
@ -178,12 +178,12 @@ Exemples:
/cursor go nicklist
aller aux coordonnées x=10, y=5:
/cursor go 10,5
----------------------------------------
----
[[command_weechat_debug]]
[command]*`debug`* contrôle du debug pour le cœur/les extensions::
----------------------------------------
----
/debug list
set <extension> <niveau>
dump [<extension>]
@ -208,12 +208,12 @@ infolists: afficher des infos sur les infolists
tags: afficher les étiquettes pour les lignes
term: afficher des infos sur le terminal
windows: afficher l'arbre des fenêtres
----------------------------------------
----
[[command_weechat_eval]]
[command]*`eval`* évaluer une expression et envoyer le résultat au tampon::
----------------------------------------
----
/eval [-n] <expression>
[-n] -c <expression1> <opérateur> <expression2>
@ -266,12 +266,12 @@ Exemples:
/eval -n -c abcd =~ (?-i)^ABC ==> 0
/eval -n -c abcd =~ (?-i)^abc ==> 1
/eval -n -c abcd !~ abc ==> 0
----------------------------------------
----
[[command_weechat_filter]]
[command]*`filter`* filtrer les messages dans les tampons, pour les cacher/afficher selon des tags ou expressions régulières::
----------------------------------------
----
/filter list
enable|disable|toggle [<nom>]
add <nom> <tampon>[,<tampon>...] <tags> <regex>
@ -320,12 +320,12 @@ Exemples:
/filter add toto irc.freenode.#weechat nick_toto *
filtrer les lignes contenant "weechat sucks" sur le canal IRC #weechat:
/filter add sucks irc.freenode.#weechat * weechat sucks
----------------------------------------
----
[[command_weechat_help]]
[command]*`help`* afficher l'aide sur les commandes et les options::
----------------------------------------
----
/help -list|-listfull [<extension> [<extension>...]]
<commande>
<option>
@ -335,23 +335,23 @@ Exemples:
extension: lister les commandes de cette extension
commande: un nom de commande
option: un nom d'option (utilisez /set pour voir la liste)
----------------------------------------
----
[[command_weechat_history]]
[command]*`history`* afficher l'historique des commandes du tampon::
----------------------------------------
----
/history clear
<valeur>
clear: effacer l'historique
valeur: nombre d'entrées dans l'historique à afficher
----------------------------------------
----
[[command_weechat_input]]
[command]*`input`* fonctions pour la ligne de commande::
----------------------------------------
----
/input <action> [<paramètres>]
liste des actions:
@ -406,12 +406,12 @@ liste des actions:
paste_stop: fin de collage (mode "bracketed paste")
Cette commande est utilisé par les associations de touches ou les extensions.
----------------------------------------
----
[[command_weechat_key]]
[command]*`key`* associer/libérer des touches::
----------------------------------------
----
/key list|listdefault|listdiff [<contexte>]
bind <touche> [<commande> [<args>]]
bindctxt <contexte> <touche> [<commande> [<args>]]
@ -461,12 +461,12 @@ Exemples:
/key bindctxt search ctrl-I /input search_stop
bouton du milieu de la souris sur un pseudo pour récupérer les infos sur le pseudo:
/key bindctxt mouse @item(buffer_nicklist):button3 /msg nickserv info ${nick}
----------------------------------------
----
[[command_weechat_layout]]
[command]*`layout`* sauver/appliquer/réinitialiser la disposition des tampons et fenêtres::
----------------------------------------
----
/layout save [<nom>] [buffers|windows]
apply [<nom>] [buffers|windows]
leave
@ -484,12 +484,12 @@ buffers: sauver/appliquer seulement pour les tampons (ordre des tampons)
windows: sauver/appliquer seulement pour les fenêtres (le tampon affiché par chaque fenêtre)
Sans paramètre, cette commande affiche les dispositions sauvegardées.
----------------------------------------
----
[[command_weechat_mouse]]
[command]*`mouse`* contrôle de la souris::
----------------------------------------
----
/mouse enable|disable|toggle [<délai>]
enable: activer la souris
@ -504,12 +504,12 @@ Exemples:
/mouse enable
activer/désactiver la souris pendant 5 secondes:
/mouse toggle 5
----------------------------------------
----
[[command_weechat_mute]]
[command]*`mute`* exécuter une commande silencieusement::
----------------------------------------
----
/mute [-current | -buffer <nom> | -all] commande
-current: pas d'affichage sur le tampon courant
@ -527,12 +527,12 @@ Exemples:
/mute -current msg * bonjour !
message au canal #weechat:
/mute -buffer irc.freenode.#weechat msg #weechat bonjour !
----------------------------------------
----
[[command_weechat_plugin]]
[command]*`plugin`* lister/charger/décharger des extensions::
----------------------------------------
----
/plugin list|listfull [<nom>]
load <fichier> [<paramètres>]
autoload [<paramètres>]
@ -550,12 +550,12 @@ Exemples:
paramètres: paramètres donnés à l'extension lors de son chargement
Sans paramètre, cette commande liste les extensions chargées.
----------------------------------------
----
[[command_weechat_proxy]]
[command]*`proxy`* gestion des proxies::
----------------------------------------
----
/proxy list
add <nom> <type> <adresse> <port> [<utilisateur> [<mot_de_passe>]]
del <nom>|-all
@ -584,34 +584,34 @@ Exemples:
/proxy add myproxy socks5 sample.host.org 3128 myuser mypass
supprimer un proxy:
/proxy del myproxy
----------------------------------------
----
[[command_weechat_quit]]
[command]*`quit`* quitter WeeChat::
----------------------------------------
----
/quit [-yes] [<paramètres>]
-yes: requis si l'option weechat.look.confirm_quit est activée
paramètres: texte envoyé avec le signal "quit"
(par exemple l'extension irc utilise ce texte pour envoyer le message de quit au serveur)
----------------------------------------
----
[[command_weechat_reload]]
[command]*`reload`* recharger les fichiers de configuration depuis le disque::
----------------------------------------
----
/reload [<fichier> [<fichier>...]]
fichier: fichier de configuration à recharger (sans l'extension ".conf")
Sans paramètre, tous les fichiers (WeeChat et extensions) sont rechargés.
----------------------------------------
----
[[command_weechat_repeat]]
[command]*`repeat`* exécuter une commande plusieurs fois::
----------------------------------------
----
/repeat [-interval <délai>] <nombre> <commande>
délai: délai entre l'exécution des commandes (en millisecondes)
@ -623,23 +623,23 @@ Toutes les commandes sont exécutées sur le tampon où la commande a été lanc
Exemple:
faire défiler de 2 pages vers le haut:
/repeat 2 /window page_up
----------------------------------------
----
[[command_weechat_save]]
[command]*`save`* sauvegarder les fichiers de configuration sur disque::
----------------------------------------
----
/save [<fichier> [<fichier>...]]
fichier: fichier de configuration à sauvegarder (sans l'extension ".conf")
Sans paramètre, tous les fichiers (WeeChat et extensions) sont sauvegardés.
----------------------------------------
----
[[command_weechat_secure]]
[command]*`secure`* gestion des données sécurisées (mots de passe ou données privées chiffrés dans le fichier sec.conf)::
----------------------------------------
----
/secure passphrase <phrase de chiffrement>|-delete
decrypt <phrase de chiffrement>|-discard
set <nom> <valeur>
@ -676,12 +676,12 @@ Exemples :
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
alias pour ghost du pseudo "pseudo" :
/alias ghost /eval /msg -server freenode nickserv ghost pseudo ${sec.data.freenode}
----------------------------------------
----
[[command_weechat_set]]
[command]*`set`* modifier des options de configuration::
----------------------------------------
----
/set [<option> [<valeur>]]
diff [<option> [<option>...]]
@ -706,12 +706,12 @@ Exemples:
/set diff
afficher les options modifiées dans l'extension irc:
/set diff irc.*
----------------------------------------
----
[[command_weechat_unset]]
[command]*`unset`* supprimer/réinitialiser des options de configuration::
----------------------------------------
----
/unset <option>
option: nom d'une option (peut commencer ou se terminer par "*" pour réinitialiser plusieurs options, à utiliser avec prudence !)
@ -723,12 +723,12 @@ Exemples:
/unset weechat.look.item_time_format
réinitialiser toutes les options de couleur:
/unset weechat.color.*
----------------------------------------
----
[[command_weechat_upgrade]]
[command]*`upgrade`* mettre à jour WeeChat sans se déconnecter des serveurs::
----------------------------------------
----
/upgrade [<chemin_vers_binaire>|-quit]
chemin_vers_binaire: chemin vers le binaire WeeChat (par défaut le binaire courant)
@ -754,32 +754,32 @@ Avec l'option "-quit", le processus est légèrement différent :
Et plus tard vous pouvez restaurer la session avec la commande: weechat --upgrade
IMPORTANT: vous devez restaurer la session avec exactement la même configuration (fichiers *.conf).
Il est également possible de restaurer la session WeeChat sur une autre machine si vous y copiez le contenu du répertoire "~/.weechat".
----------------------------------------
----
[[command_weechat_uptime]]
[command]*`uptime`* montrer l'uptime de WeeChat::
----------------------------------------
----
/uptime [-o | -ol]
-o: envoyer l'uptime sur le tampon courant comme entrée (chaîne en anglais)
-ol: envoyer l'uptime sur le tampon courant comme entrée (chaîne traduite)
----------------------------------------
----
[[command_weechat_version]]
[command]*`version`* afficher la version de WeeChat et la date de compilation::
----------------------------------------
----
/version [-o | -ol]
-o: envoyer la version sur le tampon courant comme entrée (chaîne en anglais)
-ol: envoyer la version sur le tampon courant comme entrée (chaîne traduite)
----------------------------------------
----
[[command_weechat_wait]]
[command]*`wait`* planifier l'exécution d'une commande dans le futur::
----------------------------------------
----
/wait <nombre>[<unité>] <commande>
nombre: temps à attendre (nombre entier)
@ -799,12 +799,12 @@ Exemples:
/wait 15m /away -all I'm away
dire 'bonjour' dans 2 minutes:
/wait 2m bonjour
----------------------------------------
----
[[command_weechat_window]]
[command]*`window`* gestion des fenêtres::
----------------------------------------
----
/window list
-1|+1|b#|up|down|left|right [-window <numéro>]
<numéro>
@ -863,5 +863,5 @@ Exemples:
/window scroll -d
zoom sur la fenêtre numéro 2:
/window zoom -window 2
----------------------------------------
----

View File

@ -1,21 +1,21 @@
[[command_xfer_me]]
[command]*`me`* envoyer une action CTCP à l'hôte distant::
----------------------------------------
----
/me <message>
message: message à envoyer
----------------------------------------
----
[[command_xfer_xfer]]
[command]*`xfer`* contrôle xfer::
----------------------------------------
----
/xfer [list|listfull]
list: lister les xfer
listfull: lister les xfer (verbeux)
Sans paramètre, cette commande ouvre le tampon avec la liste des xfer.
----------------------------------------
----

View File

@ -1,14 +1,11 @@
WEECHAT(1)
==========
= WEECHAT(1)
:doctype: manpage
NOM
---
== NOM
weechat - le client de discussion extensible
SYNOPSIS
--------
== SYNOPSIS
[verse]
'weechat' [-a|--no-connect] [-d|--dir <répertoire>] [-p|--no-plugin] [-r|--run-command <commande>] [-s|--no-script] [--upgrade] [extension:option...]
@ -18,21 +15,18 @@ SYNOPSIS
'weechat' [-l|--license]
'weechat' [-v|--version]
DESCRIPTION
-----------
== DESCRIPTION
WeeChat est un client de discussion rapide, léger et extensible.
Il est modulaire (cœur léger avec des extensions), multi-protocoles (IRC et
Jabber), extensible avec du C et des scripts écrits en différents langages.
OPTIONS
-------
== OPTIONS
include::cmdline_options.fr.txt[]
OPTIONS D'EXTENSION
-------------------
== OPTIONS D'EXTENSION
Pour une documentation complète sur les options des extensions, merci de
consulter la documentation des extensions dans le
@ -52,8 +46,7 @@ après, par exemple :
irc://monpseudo@[2001:db8:0:85a3::ac1f:8001]:6668/#test
FICHIERS
--------
== FICHIERS
$HOME/.weechat/weechat.conf::
fichier de configuration principal de WeeChat
@ -91,8 +84,7 @@ $HOME/.weechat/xfer.conf::
$HOME/.weechat/weechat.log::
fichier de log de WeeChat
AUTEURS
-------
== AUTEURS
WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complète
est dans le fichier AUTHORS).
@ -108,8 +100,7 @@ Merci de consulter le fichier COPYING pour plus d'informations.
Site web : <http://weechat.org/>
SIGNALER DES BUGS
-----------------
== SIGNALER DES BUGS
Merci de signaler les bugs ou demandes de nouvelles fonctionnalités sur le site
Savannah :

View File

@ -1,5 +1,4 @@
WeeChat FAQ (Questions Fréquemment Posées)
==========================================
= WeeChat FAQ (Questions Fréquemment Posées)
Sébastien Helleu <flashcode@flashtux.org>
@ -8,12 +7,10 @@ Ce document est écrit pour les versions de WeeChat ≥ 0.3.0 mais devrait être
utilisé de préférence avec la dernière version stable de WeeChat.
Général
-------
== Général
[[weechat_name]]
D'où vient le nom "WeeChat" ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== D'où vient le nom "WeeChat" ?
"Wee" est un acronyme récursif qui signifie "Wee Enhanced Environment".
Donc le nom complet est "Wee Enhanced Environment for Chat".
@ -22,20 +19,17 @@ Donc le nom complet est "Wee Enhanced Environment for Chat".
mais elle ne s'applique pas à WeeChat !).
[[why_choose_weechat]]
Pourquoi choisir WeeChat ? X-Chat et Irssi sont si bien...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Pourquoi choisir WeeChat ? X-Chat et Irssi sont si bien...
Parce que WeeChat est très léger et apporte des fonctionnalités innovantes.
Plus d'infos sur cette page : http://weechat.org/about/features
[[compilation_install]]
Compilation / installation
--------------------------
== Compilation / installation
[[gui]]
J'ai entendu parler de plusieurs interfaces pour WeeChat. Comment puis-je les compiler/utiliser ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== J'ai entendu parler de plusieurs interfaces pour WeeChat. Comment puis-je les compiler/utiliser ?
Des interfaces distantes sont disponibles :
@ -45,8 +39,7 @@ Des interfaces distantes sont disponibles :
* https://github.com/eirikb/weecloud[weecloud] (Web)
[[compile_git]]
Je ne peux pas compiler WeeChat après avoir cloné la base git, pourquoi ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Je ne peux pas compiler WeeChat après avoir cloné la base git, pourquoi ?
La méthode recommandée pour compiler WeeChat est d'utiliser cmake.
@ -60,8 +53,7 @@ git et qu'il est moins pratique que de cloner la base git pour installer des
mises à jour.
[[lost]]
J'ai lancé WeeChat, mais je suis perdu, que puis-je faire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== J'ai lancé WeeChat, mais je suis perdu, que puis-je faire ?
Pour obtenir de l'aide tapez `/help`. Pour de l'aide sur une commande, tapez
`/help commande`. Les touches et commandes sont listées dans la documentation.
@ -70,12 +62,10 @@ Il est recommandé pour les nouveaux utilisateurs de lire le guide de démarrage
rapide (voir la page de doc sur le site).
[[display]]
Affichage
---------
== Affichage
[[charset]]
Je ne vois pas bien certains accents dans WeeChat, que faire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Je ne vois pas bien certains accents dans WeeChat, que faire ?
C'est un problème courant, merci de lire attentivement et vérifier *TOUS* les
points ci-dessous :
@ -106,8 +96,7 @@ locale, assurez-vous que *tout* soit configuré en ISO (terminal, screen, ...)
et *pas* en UTF-8.
[[bars_background]]
Des barres telles que le titre et le statut ne sont pas remplies, la couleur de fond s'arrête après le texte, pourquoi ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Des barres telles que le titre et le statut ne sont pas remplies, la couleur de fond s'arrête après le texte, pourquoi ?
Cela peut être du à la variable TERM qui n'a pas la bonne valeur (regardez la
sortie de `echo $TERM` dans votre terminal).
@ -122,8 +111,7 @@ Selon la façon de lancer WeeChat, vous devriez avoir :
Si besoin, corrigez la variable TERM : `export TERM="xxx"`.
[[screen_weird_chars]]
Quand j'utilise weechat sous screen/tmux, j'ai des caractères bizarres et aléatoires, comment corriger ça ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Quand j'utilise weechat sous screen/tmux, j'ai des caractères bizarres et aléatoires, comment corriger ça ?
Cela peut être du à la variable TERM qui n'a pas la bonne valeur (regardez la
sortie de `echo $TERM` dans votre terminal, *en dehors de screen/tmux*).
@ -134,8 +122,7 @@ Par exemple 'xterm-color' provoque ce genre de problèmes, utilisez
Si besoin, corrigez la variable TERM : `export TERM="xxx"`.
[[osx_display_broken]]
J'ai compilé WeeChat sous OS X, et je vois des "(null)" partout sur l'écran, pourquoi ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== J'ai compilé WeeChat sous OS X, et je vois des "(null)" partout sur l'écran, pourquoi ?
Si vous avez compilé ncursesw vous-même, essayez avec le ncurses standard (celui
fourni avec le système).
@ -144,8 +131,7 @@ De plus, sous OS X, il est recommandé d'installer WeeChat avec le gestionnaire
de paquets Homebrew.
[[buffer_vs_window]]
J'ai entendu parler de "buffer" et "window", quelle est la différence ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== J'ai entendu parler de "buffer" et "window", quelle est la différence ?
Un tampon ('buffer') est composé d'un numéro, un nom, des lignes affichées
(ainsi que d'autres données).
@ -158,42 +144,39 @@ Chaque fenêtre affiche un tampon. Un tampon peut être caché (affiché par
aucune fenêtre) ou affiché par une ou plusieurs fenêtres.
[[buffers_list]]
Comment afficher la liste des tampons sur la gauche ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment afficher la liste des tampons sur la gauche ?
Utilisez le script 'buffers.pl'.
Pour limiter la taille de la barre :
----------------------------------------
----
/set weechat.bar.buffers.size_max 15
----------------------------------------
----
Pour déplacer la barre en bas :
----------------------------------------
----
/set weechat.bar.buffers.position bottom
----------------------------------------
----
[[customize_prefix]]
Comment puis-je réduire la longueur des pseudos ou supprimer l'alignement des pseudos dans la zone de discussion ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je réduire la longueur des pseudos ou supprimer l'alignement des pseudos dans la zone de discussion ?
Pour réduire la longueur maximum des pseudos dans la zone de discussion :
----------------------------------------
----
/set weechat.look.prefix_align_max 15
----------------------------------------
----
Pour supprimer l'alignement sur les pseudos :
----------------------------------------
----
/set weechat.look.prefix_align none
----------------------------------------
----
[[input_bar_size]]
Comment utiliser une ligne de commande sur plusieurs lignes ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment utiliser une ligne de commande sur plusieurs lignes ?
L'option 'size' dans la barre input peut être définie à une valeur supérieure
à 1 (pour une taille fixe, la taille par défaut est 1) ou 0 pour une taille
@ -202,41 +185,39 @@ limite).
Exemple avec une taille dynamique :
----------------------------------------
----
/set weechat.bar.input.size 0
----------------------------------------
----
Taille maximum de 2 :
----------------------------------------
----
/set weechat.bar.input.size_max 2
----------------------------------------
----
[[one_input_root_bar]]
Est-il possible d'avoir une seule bar input pour toutes les fenêtres (après un découpage) ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Est-il possible d'avoir une seule bar input pour toutes les fenêtres (après un découpage) ?
Oui, vous devez créer une barre de type "root" (avec un objet pour savoir dans
quelle fenêtre vous êtes), puis supprimer la barre input courante.
Par exemple :
----------------------------------------
----
/bar add rootinput root bottom 1 0 [buffer_name]+[input_prompt]+(away),[input_search],[input_paste],input_text
/bar del input
----------------------------------------
----
Si jamais vous n'étiez pas satisfait avec ça, supprimez simplement la nouvelle
barre, WeeChat recréera automatiquement la barre par défaut "input" si l'objet
"input_text" n'est utilisé dans aucune barre :
----------------------------------------
----
/bar del rootinput
----------------------------------------
----
[[terminal_copy_paste]]
Comment puis-je copier/coller du texte sans coller la liste des pseudos ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je copier/coller du texte sans coller la liste des pseudos ?
Vous pouvez utiliser un terminal qui propose la sélection rectangulaire (comme
rxvt-unicode, konsole, gnome-terminal, etc...). La touche est habituellement
@ -245,32 +226,31 @@ rxvt-unicode, konsole, gnome-terminal, etc...). La touche est habituellement
Une autre solution est de déplacer la liste des pseudos en haut ou en bas, par
exemple :
----------------------------------------
----
/set weechat.bar.nicklist.position top
----------------------------------------
----
[[urls]]
Comment puis-je cliquer sur les longs URLs (plus d'une ligne) ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je cliquer sur les longs URLs (plus d'une ligne) ?
Par défaut, WeeChat affiche l'heure et un préfixe pour chaque ligne avec des
barres optionnelles autour de la zone de discussion. Pour rendre la le clic
d'URL plus facile, vous pouvez déplacer la liste des pseudos en haut et
supprimer l'alignement sur les pseudos :
----------------------------------------
----
/set weechat.bar.nicklist.position top
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines time
----------------------------------------
----
Avec WeeChat ≥ 0.3.6, vous pouvez activer l'option "eat_newline_glitch", pour
éviter qu'un caractère de nouvelle ligne soit affiché après chaque ligne (donc
cela ne cassera pas la sélection d'une URL) :
----------------------------------------
----
/set weechat.look.eat_newline_glitch on
----------------------------------------
----
[IMPORTANT]
Cette option peut causer des problèmes d'affichage. Si vous rencontrez de tels
@ -280,23 +260,21 @@ Une autre solution est d'utiliser un script :
http://weechat.org/scripts/stable/tag/url
[[change_locale_without_quit]]
Je souhaite changer la langue des messages affichés par WeeChat, mais sans quitter WeeChat, est-ce possible ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Je souhaite changer la langue des messages affichés par WeeChat, mais sans quitter WeeChat, est-ce possible ?
Oui, il faut utiliser le script python 'shell.py' (disponible sur le site de
WeeChat) et taper ces commandes une fois le script chargé :
----------------------------------------
----
/shell setenv LANG=fr_FR.UTF-8
/upgrade
----------------------------------------
----
Pour avoir des messages anglais avec encodage UTF-8 pour le terminal, pour les
utilisateurs en ISO, vous pouvez taper : `/shell setenv LANG=fr_FR`.
[[use_256_colors]]
Comment puis-je utiliser 256 couleurs sous WeeChat ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je utiliser 256 couleurs sous WeeChat ?
Les 256 couleurs sont supportées avec WeeChat ≥ 0.3.4.
@ -312,18 +290,18 @@ valeurs dans la variable 'TERM'.
Si vous utilisez screen, vous pouvez ajouter cette ligne dans votre '~/.screenrc':
----------------------------------------
----
term screen-256color
----------------------------------------
----
Si votre variable 'TERM' a une valeur erronée et que WeeChat est déjà lancé,
ne paniquez pas ! Vous pouvez la changer sans redémarrer, grâce au script
'shell.py' :
----------------------------------------
----
/shell setenv TERM=screen-256color
/upgrade
----------------------------------------
----
Pour la version 0.3.4, vous devez utiliser la commande `/color` pour ajouter
des nouvelles couleurs.
@ -336,8 +314,7 @@ Merci de lire le guide utilisateur pour plus d'information sur la gestion des
couleurs.
[[search_text]]
Comment puis-je chercher du texte dans le tampon (comme /lastlog dans irssi) ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je chercher du texte dans le tampon (comme /lastlog dans irssi) ?
La touche par défaut est @k(C-)@k(r) (la commande est : `/input search_text`).
Et sauter aux highlights : @k(A-)@k(p)/@k(n).
@ -346,31 +323,28 @@ Voir le guide utilisateur pour plus d'information sur cette fonctionnalité
(raccourcis clavier par défaut).
[[key_bindings]]
Raccourcis clavier
------------------
== Raccourcis clavier
[[meta_keys]]
Quelques touches meta (alt + touche) ne fonctionnent pas, pourquoi ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Quelques touches meta (alt + touche) ne fonctionnent pas, pourquoi ?
Si vous utilisez certains terminaux comme xterm ou uxterm, quelques touches
meta ne fonctionnent pas par défaut. Vous pouvez ajouter cette ligne dans le
fichier '~/.Xresources':
* pour xterm:
----------------------------------------
----
XTerm*metaSendsEscape: true
----------------------------------------
----
* pour uxterm:
----------------------------------------
----
UXTerm*metaSendsEscape: true
----------------------------------------
----
Puis recharger les ressources (`xrdb -override ~/.Xresources`) ou redémarrez X.
[[customize_key_bindings]]
Comment puis-je configurer les raccourcis clavier ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je configurer les raccourcis clavier ?
Les raccourcis clavier sont modifiables avec la commande `/key`.
@ -378,33 +352,31 @@ La touche par défaut @k(A-)@k(k) permet de capturer le code d'une touche et de
l'inclure dans la ligne de commande.
[[jump_to_buffer_11_or_higher]]
Quelle est la touche pour sauter vers le tampon 11 (ou numéro plus élevé) ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Quelle est la touche pour sauter vers le tampon 11 (ou numéro plus élevé) ?
La touche est @k(A-)@k(j) puis 2 chiffres, par exemple @k(A-)@k(j) puis @k(1),
@k(1) pour sauter au tampon 11.
Vous pouvez définir une touche, par exemple :
----------------------------------------
----
/key bind meta-q /buffer *11
----------------------------------------
----
La liste des touches par défaut est dans le Guide utilisateur.
[[global_history]]
Comment utiliser l'historique global (au lieu de l'historique du tampon) avec les touches haut et bas ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment utiliser l'historique global (au lieu de l'historique du tampon) avec les touches haut et bas ?
Vous pouvez assigner les touches haut et bas sur l'historique global (les
touches par défaut pour l'historique global sont @k(C-)@k(↑) et @k(C-)@k(↓)).
Exemple :
----------------------------------------
----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----------------------------------------
----
[NOTE]
Les touches "meta2-A" et "meta2-B" peuvent être différentes dans votre terminal.
@ -412,20 +384,18 @@ Pour trouver le code de la touche appuyez sur @k(A-)@k(k) puis la touche (haut
ou bas).
[[mouse]]
Souris
------
== Souris
[[mouse_not_working]]
La souris ne fonctionne pas du tout, que puis-je faire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== La souris ne fonctionne pas du tout, que puis-je faire ?
La souris est supportée avec WeeChat ≥ 0.3.6.
Premièrement essayez d'activer la souris :
----------------------------------------
----
/mouse enable
----------------------------------------
----
Si la souris ne fonctionne toujours pas, vérifiez la variable TERM dans votre
shell (regardez la sortie de `echo $TERM` dans votre terminal).
@ -433,22 +403,21 @@ Selon le terminfo utilisé, la souris peut ne pas être supportée.
Vous pouvez tester le support de la souris dans le terminal :
----------------------------------------
----
$ printf '\033[?1002h'
----------------------------------------
----
Et cliquez sur le premier caractère du terminal (en haut à gauche). Vous devriez
voir " !!#!!".
Pour désactiver la souris dans le terminal :
----------------------------------------
----
$ printf '\033[?1002l'
----------------------------------------
----
[[mouse_coords]]
La souris ne fait rien pour un X ou Y supérieur à 94, pourquoi ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== La souris ne fait rien pour un X ou Y supérieur à 94, pourquoi ?
Certains terminaux envoient seulement des caractères ISO pour les coordonnées
de la souris, donc cela ne fonctionne pas avec un X/Y supérieur à 94.
@ -457,8 +426,7 @@ Vous devriez utiliser un terminal qui supporte les coordonnées UTF-8 pour la
souris, comme rxvt-unicode.
[[mouse_select_paste]]
Comment puis-je sélectionner ou coller du texte quand la souris est activée dans WeeChat ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je sélectionner ou coller du texte quand la souris est activée dans WeeChat ?
Lorsque la souris est activée dans WeeChat, vous pouvez utiliser la touche
@k(-S-) pour sélectionner ou cliquer dans le terminal, comme si la souris était
@ -466,49 +434,45 @@ désactivée (sous certains terminaux comme iTerm, vous devez utiliser @k(-A-) a
lieu de @k(-S-)).
[[irc]]
IRC
---
== IRC
[[irc_ssl_connection]]
J'ai des problèmes pour me connecter au serveur avec SSL, que puis-je faire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== J'ai des problèmes pour me connecter au serveur avec SSL, que puis-je faire ?
Si vous voyez des erreurs à propos de la poignée de main gnutls ("handshake"),
vous pouvez utiliser une valeur plus petite pour la clé Diffie-Hellman (par
défaut 2048) :
----------------------------------------
----
/set irc.server.freenode.ssl_dhkey_size 1024
----------------------------------------
----
Si vous voyez des erreurs à propos du certificat, vous pouvez désactiver
"ssl_verify" (attention, la connexion sera moins sûre en faisant cela) :
----------------------------------------
----
/set irc.server.freenode.ssl_verify off
----------------------------------------
----
[[irc_ssl_handshake_error]]
Lors de la connexion SSL à un serveur, je vois juste une erreur "TLS handshake failed", que puis-je faire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Lors de la connexion SSL à un serveur, je vois juste une erreur "TLS handshake failed", que puis-je faire ?
Vous pouvez essayer une chaîne de priorité différente (WeeChat ≥ 0.3.5
seulement), remplacez "xxx" par le nom de votre serveur :
----------------------------------------
----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----------------------------------------
----
[[irc_ssl_freenode]]
Comment puis-je me connecter à freenode avec SSL ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je me connecter à freenode avec SSL ?
Positionnez l'option 'weechat.network.gnutls_ca_file' avec le fichier des
certificats :
----------------------------------------
----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----------------------------------------
----
[NOTE]
Vérifiez que vous avez bien ce fichier (fourni généralement par le paquet
@ -516,16 +480,15 @@ Vérifiez que vous avez bien ce fichier (fourni généralement par le paquet
Configurez le port du serveur, SSL, dhkey_size, puis connectez-vous :
----------------------------------------
----
/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_oauth]]
Comment se connecter à un serveur qui requiert "oauth" ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment se connecter à un serveur qui requiert "oauth" ?
Des serveurs tels que 'twitch' requièrent oauth pour se connecter.
@ -534,34 +497,32 @@ L'oauth est simplement un mot de passe avec la valeur "oauth:XXXX".
Vous pouvez créer un tel serveur et vous y connecter avec les commandes
suivantes (remplacez le nom et l'adresse par les valeurs appropriées) :
----------------------------------------
----
/server add nom irc.server.org -password="oauth:XXXX"
/connect nom
----------------------------------------
----
[[irc_sasl]]
Comment puis-je être identifié avant de rejoindre les canaux ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je être identifié avant de rejoindre les canaux ?
Si le serveur supporte SASL, vous devriez l'utiliser au lieu d'envoyer une
commande pour l'authentification avec nickserv, par exemple :
----------------------------------------
----
/set irc.server_default.sasl_mechanism dh-blowfish
/set irc.server.freenode.sasl_username "mynick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----------------------------------------
----
Si le serveur ne supporte pas SASL, vous pouvez ajouter un délai (entre la
commande et le join des canaux) :
----------------------------------------
----
/set irc.server.freenode.command_delay 5
----------------------------------------
----
[[ignore_vs_filter]]
Quelle est la différence entre les commandes /ignore et /filter ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Quelle est la différence entre les commandes /ignore et /filter ?
La commande `/ignore` est une commande IRC, donc elle s'applique uniquement aux
tampons IRC (serveurs et canaux).
@ -579,38 +540,36 @@ de les voir en désactivant les filtres (par défaut, la touche @k(A-)@k(=)
active/désactive les filtres).
[[filter_irc_join_part_quit]]
Comment puis-je filtrer les messages join/part/quit sur les canaux IRC ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je filtrer les messages join/part/quit sur les canaux IRC ?
Avec le filtre intelligent (pour garder les join/part/quit des utilisateurs qui
ont parlé récemment) :
----------------------------------------
----
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
----------------------------------------
----
Avec un filtre global (pour cacher *tous* les join/part/quit) :
----------------------------------------
----
/filter add joinquit * irc_join,irc_part,irc_quit *
----------------------------------------
----
[NOTE]
Pour l'aide : `/help filter` et `/help irc.look.smart_filter`
[[filter_irc_join_channel_messages]]
Comment puis-je filtrer certains messages affichés quand je rejoins un canal IRC ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je filtrer certains messages affichés quand je rejoins un canal IRC ?
Avec WeeChat ≥ 0.4.1, vous pouvez désactiver des messages avec l'option
'irc.look.display_join_message'.
Par exemple, pour désactiver les noms (qui est le message IRC '366') :
----------------------------------------
----
/set irc.look.display_join_message "329,332,333"
----------------------------------------
----
[NOTE]
Pour l'aide : `/help irc.look.display_join_message`
@ -627,17 +586,16 @@ tampon des données brutes IRC (`/server raw`).
Exemples :
* filtrer les noms :
----------------------------------------
----
/filter add irc_join_names * irc_366 *
----------------------------------------
----
* filtrer le titre (et la date):
----------------------------------------
----
/filter add irc_join_topic_date * irc_332,irc_333 *
----------------------------------------
----
[[filter_voice_messages]]
Comment puis-je filtrer les messages voice (par exemple sur le serveur Bitlbee) ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je filtrer les messages voice (par exemple sur le serveur Bitlbee) ?
Il n'est pas facile de filtrer les messages voice, car le mode voice peut être
positionné avec d'autres modes dans le même message IRC.
@ -649,15 +607,15 @@ couleur spéciale pour les pseudos absents dans la liste des pseudos.
Pour Bitlbee ≥ 3, faites ceci sur le canal '&bitlbee' :
----------------------------------------
----
channel set show_users online,away
----------------------------------------
----
Pour une version plus ancienne de Bitlbee, faites ceci sur le canal '&bitlbee':
----------------------------------------
----
set away_devoice false
----------------------------------------
----
Pour vérifier les pseudos absents dans WeeChat, voir la question à propos des
<<color_away_nicks,pseudos absents>>.
@ -666,13 +624,12 @@ Si vous voulez vraiment filtrer les messages voice, vous pouvez utiliser cette
commande, mais elle n'est pas parfaite (elle fonctionne seulement si le
premier mode changé est voice) :
----------------------------------------
----
/filter add hidevoices * irc_mode (\+|\-)v
----------------------------------------
----
[[color_away_nicks]]
Comment puis-je voir les pseudos absents dans la liste des pseudos ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je voir les pseudos absents dans la liste des pseudos ?
Vous devez positionner l'option 'irc.server_default.away_check' avec une valeur
positive (minutes entre chaque vérification des pseudos absents).
@ -683,56 +640,51 @@ pour limiter la vérification d'absence sur les petits canaux seulement.
Par exemple, pour vérifier les pseudos absents toutes les 5 minutes, pour les
canaux avec maximum 25 pseudos :
----------------------------------------
----
/set irc.server_default.away_check 5
/set irc.server_default.away_check_max_nicks 25
----------------------------------------
----
[NOTE]
Pour WeeChat ≤ 0.3.3, les options sont 'irc.network.away_check' et
'irc.network.away_check_max_nicks'.
[[highlight_notification]]
Comment être averti lorsque quelqu'un prononce mon pseudo sur un canal ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment être averti lorsque quelqu'un prononce mon pseudo sur un canal ?
Vous pouvez utiliser un script comme 'beep.pl' ou 'launcher.pl'.
Pour 'launcher.pl', vous devez configurer la commande :
----------------------------------------
----
/set plugins.var.perl.launcher.signal.weechat_highlight "/chemin/vers/commande paramètres"
----------------------------------------
----
Autres scripts sur ce sujet : http://weechat.org/scripts/stable/tag/notify/
[[irc_target_buffer]]
Comment puis-je changer le serveur cible pour les commandes avec des tampons mélangés (comme le tampon avec les serveurs) ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je changer le serveur cible pour les commandes avec des tampons mélangés (comme le tampon avec les serveurs) ?
La touche par défaut est @k(C-)@k(x) (la commande est : `/input switch_active_buffer`).
[[plugins_scripts]]
Extensions / scripts
--------------------
== Extensions / scripts
[[openbsd_plugins]]
J'utilise OpenBSD et WeeChat ne charge aucune extension, pourquoi ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== J'utilise OpenBSD et WeeChat ne charge aucune extension, pourquoi ?
Sous OpenBSD, le nom des extensions se termine par ".so.0.0" (".so" sous
Linux).
Vous devez configurer ça :
----------------------------------------
----
/set weechat.plugin.extension ".so.0.0"
/plugin autoload
----------------------------------------
----
[[load_scripts]]
Comment puis-je charger des scripts Perl/Python/Ruby/Lua/Tcl ? Les scripts sont-ils compatibles avec d'autres clients IRC ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je charger des scripts Perl/Python/Ruby/Lua/Tcl ? Les scripts sont-ils compatibles avec d'autres clients IRC ?
Les commandes `/perl`, `/python`, `/ruby`, `/lua` et `/tcl` permettent de
charger les scripts (le chemin par défaut est '~/.weechat/<langage>/').
@ -746,12 +698,10 @@ Notes :
* l'extension 'tcl' est disponible à partir de la version 0.3.0.
[[settings]]
Réglages
--------
== Réglages
[[memory_usage]]
Comment configurer WeeChat pour consommer moins de mémoire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment configurer WeeChat pour consommer moins de mémoire ?
Vous pouvez essayer les astuces suivantes pour consommer moins de mémoire :
@ -768,12 +718,10 @@ Vous pouvez essayer les astuces suivantes pour consommer moins de mémoire :
* réduire la valeur de l'option 'weechat.history.max_commands'
[[development]]
Développement
-------------
== Développement
[[bug_task_patch]]
Comment puis-je reporter un bug, demander une nouvelle fonctionnalité ou envoyer un patch ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Comment puis-je reporter un bug, demander une nouvelle fonctionnalité ou envoyer un patch ?
Il y a 3 possibilités :
@ -787,29 +735,27 @@ Il y a 3 possibilités :
(vous pouvez souscrire et envoyer à la liste de diffusion nommée "support")
[[gdb_error_threads]]
Quand je lance WeeChat sous gdb, il y a une erreur à propos des threads, que puis-je faire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Quand je lance WeeChat sous gdb, il y a une erreur à propos des threads, que puis-je faire ?
Quand vous lancez WeeChat sous gdb, vous pouvez avoir cette erreur :
----------------------------------------
----
$ gdb /path/to/weechat
(gdb) run
[Thread debugging using libthread_db enabled]
Cannot find new threads: generic error
----------------------------------------
----
Pour corriger ça, vous pouvez lancer gdb avec cette commande (remplacez le
chemin vers libpthread et WeeChat avec les chemins sur votre système) :
----------------------------------------
----
$ LD_PRELOAD=/lib/libpthread.so.0 gdb /path/to/weechat
(gdb) run
----------------------------------------
----
[[supported_os]]
Quelle est la liste des plates-formes supportées par WeeChat ? Sera-t-il porté sur d'autres systèmes d'exploitation ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Quelle est la liste des plates-formes supportées par WeeChat ? Sera-t-il porté sur d'autres systèmes d'exploitation ?
La liste complète est sur cette page : http://weechat.org/download
@ -818,8 +764,7 @@ Toute aide est la bienvenue pour les systèmes que nous n'avons pas, pour y
tester WeeChat.
[[help_developers]]
Je souhaiterais aider les développeurs WeeChat. Que puis-je faire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Je souhaiterais aider les développeurs WeeChat. Que puis-je faire ?
Il y a plusieurs choses à faire (test, code, documentation, etc...)
@ -827,8 +772,7 @@ Merci de prendre contact avec nous par IRC ou mail, consultez la page
support : http://weechat.org/dev/support
[[donate]]
Puis-je donner de l'argent ou d'autres choses aux développeurs WeeChat ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Puis-je donner de l'argent ou d'autres choses aux développeurs WeeChat ?
Vous pouvez donner de l'argent pour aider le développement.
Plus de détails sur http://weechat.org/about/donate

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,9 @@
Guide de Démarrage Rapide WeeChat
=================================
= Guide de Démarrage Rapide WeeChat
Sébastien Helleu <flashcode@flashtux.org>
[[start]]
Démarrer WeeChat
----------------
== Démarrer WeeChat
Un émulateur de terminal recommandé pour X (mais pas obligatoire) est
rxvt-unicode (il a un bon support UTF-8, et aucun problème avec les
@ -13,32 +11,31 @@ touches par défaut).
Lancer depuis votre shell :
----------------------------------------
----
$ weechat
----------------------------------------
----
[[help_options]]
Aide en ligne / options
-----------------------
== Aide en ligne / options
WeeChat dispose d'aide pour toutes les commandes, tapez simplement :
----------------------------------------
----
/help
----------------------------------------
----
Pour avoir de l'aide sur une commande, tapez :
----------------------------------------
----
/help commande
----------------------------------------
----
Pour modifier des options, tapez :
----------------------------------------
----
/set config.section.option valeur
----------------------------------------
----
(où `config` est le nom de la configuration (`weechat` pour le cœur, ou
un nom d'extension), `section` la section de cette configuration et
@ -55,27 +52,27 @@ Par exemple :
* afficher toutes les options (WeeChat et extensions) :
----------------------------------------
----
/set
----------------------------------------
----
* afficher les options WeeChat :
----------------------------------------
----
/set weechat.*
----------------------------------------
----
* afficher les options de l'extension IRC :
----------------------------------------
----
/set irc.*
----------------------------------------
----
Vous pouvez afficher de l'aide sur une option avec `/help`, par exemple :
----------------------------------------
----
/help weechat.look.highlight
----------------------------------------
----
Toutes les options sont sauvées quand WeeChat quitte (ou avec la commande
`/save` pour forcer une écriture des options).
@ -86,8 +83,7 @@ commande `/set`.
[[core_vs_plugins]]
Cœur vs extensions
------------------
== Cœur vs extensions
Le cœur de WeeChat ("core") ne fait qu'afficher les données à l'écran et
interagir avec l'utilisateur, cela signifie que le cœur sans extension
@ -101,25 +97,23 @@ devriez voir "irc" et d'autres extensions dans cette liste.
[[create_irc_server]]
Créer un serveur IRC
--------------------
== Créer un serveur IRC
Vous pouvez ajouter un serveur IRC par la commande `/server`, par exemple :
----------------------------------------
----
/server add oftc irc.oftc.net/6667
----------------------------------------
----
Comme d'habitude, de l'aide est disponible si vous êtes perdus :
----------------------------------------
----
/help server
----------------------------------------
----
[[irc_server_options]]
Définir les options du serveur IRC
----------------------------------
== Définir les options du serveur IRC
WeeChat utilise des valeurs par défaut pour tous les serveurs, si vous ne
spécifiez pas de valeur spécifique pour une option de serveur.
@ -132,72 +126,71 @@ définie (non "null"). Sinon WeeChat utilise la valeur par défaut
Par exemple il y a des pseudos par défaut (basés sur votre login un*x), et
vous pouvez les écraser pour le serveur oftc avec la commande suivante :
----------------------------------------
----
/set irc.server.oftc.nicks "pseudo,pseudo2,pseudo3,pseudo4,pseudo5"
----------------------------------------
----
Pour modifier le nom d'utilisateur et nom réel :
----------------------------------------
----
/set irc.server.oftc.username "Mon nom d'utilisateur"
/set irc.server.oftc.realname "Mon nom réel"
----------------------------------------
----
Pour activer la connexion automatique au serveur lors du démarrage :
----------------------------------------
----
/set irc.server.oftc.autoconnect on
----------------------------------------
----
Si SASL est disponible sur le serveur, vous pouvez l'utiliser pour
l'authentification (vous serez identifié avant de rejoindre les canaux) :
----------------------------------------
----
/set irc.server_default.sasl_mechanism dh-blowfish
/set irc.server.oftc.sasl_username "pseudo"
/set irc.server.oftc.sasl_password "xxxxxxx"
----------------------------------------
----
Pour lancer une commande après connexion au serveur, par exemple pour
s'authentifier auprès de nickserv (seulement si vous n'utilisez pas SASL pour
l'authentification) :
----------------------------------------
----
/set irc.server.oftc.command "/msg nickserv identify xxxxxxx"
----------------------------------------
----
[NOTE]
Plusieurs commandes peuvent être séparées par ';' (point-virgule).
Pour rejoindre automatiquement des canaux lors de la connexion au serveur :
----------------------------------------
----
/set irc.server.oftc.autojoin "#canal1,#canal2"
----------------------------------------
----
Pour supprimer la valeur d'une option du serveur et utiliser sa valeur par
défaut à la place, par exemple pour utiliser les pseudos par défaut
(irc.server_default.nicks) :
----------------------------------------
----
/set irc.server.oftc.nicks null
----------------------------------------
----
Autres options : vous pouvez modifier les autres options avec la commande
suivante ("xxx" est le nom d'une option) :
----------------------------------------
----
/set irc.server.oftc.xxx valeur
----------------------------------------
----
[[connect_to_irc_server]]
Se connecter au serveur IRC et rejoindre les canaux
---------------------------------------------------
== Se connecter au serveur IRC et rejoindre les canaux
----------------------------------------
----
/connect oftc
----------------------------------------
----
[NOTE]
Cette commande peut aussi être utilisée pour créer et se connecter au serveur
@ -211,38 +204,36 @@ faut utiliser la touche ctrl-X.
Il est possible de désactiver le mélange des tampons serveurs pour avoir un
tampon distinct par serveur :
----------------------------------------
----
/set irc.look.server_buffer independent
----------------------------------------
----
[[join_part_irc_channels]]
Rejoindre/quitter les canaux IRC
------------------------------
== Rejoindre/quitter les canaux IRC
Rejoindre un canal :
----------------------------------------
----
/join #channel
----------------------------------------
----
Quitter un canal (en laissant le tampon ouvert) :
----------------------------------------
----
/part [message de fin]
----------------------------------------
----
quitter un canal et fermer le tampon (`/close` est un alias sur
`/buffer close`) :
----------------------------------------
----
/close
----------------------------------------
----
[[buffer_window]]
Gérer les tampons/fenêtres
--------------------------
== Gérer les tampons/fenêtres
Un tampon ("buffer") est un composant lié à une extension, avec une
catégorie et un nom. Le tampon contient les données affichées à l'écran.
@ -253,10 +244,10 @@ alors plusieurs fenêtres avec plusieurs tampons en même temps.
Commandes pour gérer les tampons et les fenêtres :
----------------------------------------
----
/buffer
/window
----------------------------------------
----
(je ne répéterai pas que vous pouvez avoir de l'aide sur ces commandes
avec /help)
@ -264,14 +255,13 @@ avec /help)
Par exemple, pour découper verticalement l'écran en une petite fenêtre
(1/3 de la largeur) et une large (2/3), utilisez la commande :
----------------------------------------
----
/window splitv 33
----------------------------------------
----
[[key_bindings]]
Raccourcis clavier
------------------
== Raccourcis clavier
WeeChat utilise un certain nombre de touches par défaut. Toutes ces
touches sont dans la documentation, mais vous devriez connaître au moins
@ -291,26 +281,25 @@ Une touche utile est meta-k (alt-k) pour trouver le code des touches.
Par exemple, pour associer meta-y (alt-y) à la commande `/buffer close` :
----------------------------------------
----
/key bind (pressez meta-k) (pressez meta-y) /buffer close
----------------------------------------
----
Vous aurez une ligne de commande qui ressemble à ceci :
----------------------------------------
----
/key bind meta-y /buffer close
----------------------------------------
----
Pour enlever la touche :
----------------------------------------
----
/key unbind meta-y
----------------------------------------
----
[[plugins_scripts]]
Extensions/scripts
------------------
== Extensions/scripts
Sur certaines distributions comme Debian, les extensions sont disponibles
via un paquet séparé (par exemple weechat-plugins).
@ -326,8 +315,7 @@ Vous pouvez gérer les scripts dans WeeChat avec la commande `/script` (voir
[[more_doc]]
Plus de documentation
---------------------
== Plus de documentation
Vous pouvez maintenant utiliser WeeChat et lire la FAQ/documentation pour
toute autre question : http://weechat.org/doc

View File

@ -1,5 +1,4 @@
WeeChat Guide pour Scripts
==========================
= WeeChat Guide pour Scripts
Sébastien Helleu <flashcode@flashtux.org>
@ -11,8 +10,7 @@ http://weechat.org/doc
[[introduction]]
Introduction
------------
== Introduction
WeeChat (Wee Enhanced Environment for Chat) est un client de discussion libre,
rapide et léger, conçu pour différents systèmes d'exploitation.
@ -32,28 +30,23 @@ La majorité des exemples de cette documentation sont écrits en Python, mais
l'API est la même pour les autres langages.
[[scripts_in_weechat]]
Scripts dans WeeChat
--------------------
== Scripts dans WeeChat
[[languages_specifities]]
Spécificités des langages
~~~~~~~~~~~~~~~~~~~~~~~~~
=== Spécificités des langages
Python
^^^^^^
==== Python
* Vous devez utiliser `import weechat`
* Les fonctions `print*` se nomment `prnt*` en python (car 'print' est un mot
clé réservé)
* Les fonctions sont appelées par `weechat.xxx(arg1, arg2, ...)`
Perl
^^^^
==== Perl
* Les fonctions sont appelées par `weechat::xxx(arg1, arg2, ...);`
Ruby
^^^^
==== Ruby
* Vous devez définir 'weechat_init' et appeler 'register' dedans
* Les fonctions sont appelées par `Weechat.xxx(arg1, arg2, ...)`
@ -63,23 +56,20 @@ Ruby
cette fonction ressemble à ceci :
[source,ruby]
----------------------------------------
----
Weechat.config_new_option(config, section, "name", "string", "description of option", "", 0, 0,
"value", "value", 0, ["check_cb", "", "change_cb", "", "delete_cb", ""])
----------------------------------------
----
Lua
^^^
==== Lua
* Les fonctions sont appelées par `weechat.xxx(arg1, arg2, ...)`
Tcl
^^^
==== Tcl
* Les fonctions sont appelées par `weechat::xxx arg1 arg2 ...`
Guile (scheme)
^^^^^^^^^^^^^^
==== Guile (scheme)
* Les fonctions sont appelées par `(weechat:xxx arg1 arg2 ...)`
* Les fonctions suivantes prennent une liste de paramètres en entrée (au lieu
@ -90,8 +80,7 @@ Guile (scheme)
** bar_new
[[register_function]]
Fonction register
~~~~~~~~~~~~~~~~~
=== Fonction register
Tous les scripts WeeChat doivent s'enregistrer ("register") auprès de WeeChat,
et cela doit être la première fonction WeeChat appelée dans le script.
@ -99,9 +88,9 @@ et cela doit être la première fonction WeeChat appelée dans le script.
Prototype :
[source,python]
----------------------------------------
----
weechat.register(name, author, version, license, description, shutdown_function, charset)
----------------------------------------
----
Paramètres :
@ -121,100 +110,98 @@ Exemple, pour chaque langage :
* python :
[source,python]
----------------------------------------
----
import weechat
weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Script de test", "", "")
weechat.prnt("", "Bonjour, du script python !")
----------------------------------------
----
* perl :
[source,perl]
----------------------------------------
----
weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Script de test", "", "");
weechat::print("", "Bonjour, du script perl !");
----------------------------------------
----
* ruby :
[source,ruby]
----------------------------------------
----
def weechat_init
Weechat.register("test_ruby", "FlashCode", "1.0", "GPL3", "Script de test", "", "")
Weechat.print("", "Bonjour, du script ruby !")
return Weechat::WEECHAT_RC_OK
end
----------------------------------------
----
* lua :
[source,lua]
----------------------------------------
----
weechat.register("test_lua", "FlashCode", "1.0", "GPL3", "Script de test", "", "")
weechat.print("", "Bonjour, du script lua !")
----------------------------------------
----
* tcl :
[source,tcl]
----------------------------------------
----
weechat::register "test_tcl" "FlashCode" "1.0" "GPL3" "Script de test" "" ""
weechat::print "" "Bonjour, du script tcl !"
----------------------------------------
----
* guile (scheme):
[source,lisp]
----------------------------------------
----
(weechat:register "test_scheme" "FlashCode" "1.0" "GPL3" "Script de test" "" "")
(weechat:print "" "Bonjour, du script scheme !")
----------------------------------------
----
[[load_script]]
Chargement du script
~~~~~~~~~~~~~~~~~~~~
=== Chargement du script
Il est recommandé d'utiliser l'extension "script" pour charger les scripts,
par exemple :
----------------------------------------
----
/script load script.py
/script load script.pl
/script load script.rb
/script load script.lua
/script load script.tcl
/script load script.scm
----------------------------------------
----
Chaque langage a également sa propre commande :
----------------------------------------
----
/python load python/script.py
/perl load perl/script.pl
/ruby load ruby/script.rb
/lua load lua/script.lua
/tcl load tcl/script.tcl
/guile load guile/script.scm
----------------------------------------
----
Vous pouvez faire un lien dans le répertoire 'langage/autoload' pour charger
automatiquement le script quand WeeChat démarre.
Par exemple en Python :
----------------------------------------
----
$ cd ~/.weechat/python/autoload
$ ln -s ../script.py
----------------------------------------
----
[NOTE]
Lors de l'installation d'un script avec la commande `/script install` le lien
dans le répertoire 'autoload' est automatiquement créé.
[[differences_with_c_api]]
Différences avec l'API C
------------------------
== Différences avec l'API C
L'API script est quasiment identique à l'API C.
Vous pouvez consulter la 'Référence API Extension WeeChat' pour le détail de
@ -228,28 +215,27 @@ extension comme 'python' par la commande `/python`.
Quand votre script 'test.py' appelle une fonction de l'API WeeChat, le chemin
est le suivant :
........................................
....
┌──────────────────────┐ ╔══════════════════╗
│ extension python │ ║ WeeChat "core" ║
├────────────┬─────────┤ ╟─────────┐ ║
test.py ─────► │ API script │ API C │ ─────► ║ API C │ ║
└────────────┴─────────┘ ╚═════════╧════════╝
........................................
....
Quand WeeChat appelle un "callback" dans votre script 'test.py', le chemin
est inversé :
........................................
....
╔══════════════════╗ ┌──────────────────────┐
║ WeeChat "core" ║ │ extension python │
║ ┌─────────╢ ├─────────┬────────────┤
║ │ API C ║ ─────► │ API C │ API script │ ─────► test.py
╚════════╧═════════╝ └─────────┴────────────┘
........................................
....
[[pointers]]
Pointeurs
~~~~~~~~~
=== Pointeurs
Comme vous le savez probablement, il n'y a pas vraiment de "pointeurs" dans les
scripts. Donc quand les fonctions de l'API retournent un pointeur, il est
@ -267,9 +253,9 @@ Par exemple, pour afficher un message sur le tampon core (tampon principal
WeeChat), vous pouvez faire :
[source,python]
----------------------------------------
----
weechat.prnt("", "bonjour !")
----------------------------------------
----
[WARNING]
Dans beaucoup de fonctions, pour des raisons de vitesse, WeeChat ne vérifie pas
@ -278,8 +264,7 @@ vérifier que vous donnez un pointeur valide, sinon vous pourriez voir un joli
rapport de crash ;)
[[callbacks]]
Callbacks
~~~~~~~~~
=== Callbacks
Tous les "callbacks" WeeChat doivent retourner WEECHAT_RC_OK ou
WEECHAT_RC_ERROR (l'exception est le callback du "modifier", qui retourne une
@ -294,18 +279,18 @@ Exemple de callback, pour chaque langage :
* python:
[source,python]
----------------------------------------
----
def timer_cb(data, remaining_calls):
weechat.prnt("", "timer! data=%s" % data)
return weechat.WEECHAT_RC_OK
weechat.hook_timer(1000, 0, 1, "timer_cb", "test")
----------------------------------------
----
* perl:
[source,perl]
----------------------------------------
----
sub timer_cb {
my ($data, $remaining_calls) = @_;
weechat::print("", "timer! data=$data");
@ -313,71 +298,69 @@ sub timer_cb {
}
weechat::hook_timer(1000, 0, 1, "timer_cb", "test");
----------------------------------------
----
* ruby:
[source,ruby]
----------------------------------------
----
def timer_cb(data, remaining_calls)
Weechat.print("", "timer! data=#{data}");
return Weechat::WEECHAT_RC_OK
end
Weechat.hook_timer(1000, 0, 1, "timer_cb", "test");
----------------------------------------
----
* lua:
[source,lua]
----------------------------------------
----
function timer_cb(data, remaining_calls)
weechat.print("", "timer! data="..data)
return weechat.WEECHAT_RC_OK
end
weechat.hook_timer(1000, 0, 1, "timer_cb", "test")
----------------------------------------
----
* tcl:
[source,tcl]
----------------------------------------
----
proc timer_cb { data remaining_calls } {
weechat::print {} "timer! data=$data"
return $::weechat::WEECHAT_RC_OK
}
weechat::hook_timer 1000 0 1 timer_cb test
----------------------------------------
----
* guile (scheme):
[source,lisp]
----------------------------------------
----
(define (timer_cb data remaining_calls)
(weechat:print "" (string-append "timer! data=" data))
weechat:WEECHAT_RC_OK
)
(weechat:hook_timer 1000 0 1 "timer_cb" "test")
----------------------------------------
----
[[script_api]]
API script
----------
== API script
Pour plus d'informations sur les fonctions de l'API, merci de consulter la
'Référence API Extension WeeChat'.
[[script_api_functions]]
Fonctions
~~~~~~~~~
=== Fonctions
Liste des fonctions de l'API script :
[width="100%",cols="^1,10",options="header"]
|========================================
|===
| Catégorie | Fonctions
| général |
register
@ -454,16 +437,15 @@ Liste des fonctions de l'API script :
hdata_pointer, hdata_time, hdata_hashtable, hdata_update, hdata_get_string
| mise à jour |
upgrade_new, upgrade_write_object, upgrade_read, upgrade_close
|========================================
|===
[[script_api_constants]]
Constantes
~~~~~~~~~~
=== Constantes
Liste des constantes de l'API script :
[width="100%",cols="^1,10",options="header"]
|========================================
|===
| Catégorie | Constantes
| codes retour |
WEECHAT_RC_OK, WEECHAT_RC_OK_EAT, WEECHAT_RC_ERROR
@ -491,23 +473,20 @@ Liste des constantes de l'API script :
WEECHAT_HOOK_CONNECT_SOCKET_ERROR
| hook signal |
WEECHAT_HOOK_SIGNAL_STRING, WEECHAT_HOOK_SIGNAL_INT, WEECHAT_HOOK_SIGNAL_POINTER
|========================================
|===
[[common_tasks]]
Tâches courantes
----------------
== Tâches courantes
Ce chapitre montre quelques tâches courantes, avec des exemples.
Seule une partie de l'API est utilisée ici, pour une référence complète, voir la
'Référence API Extension WeeChat'.
[[buffers]]
Tampons
~~~~~~~
=== Tampons
[[buffers_display_messages]]
Afficher des messages
^^^^^^^^^^^^^^^^^^^^^
==== Afficher des messages
Une chaîne vide est souvent utilisée pour travailler avec le tampon core WeeChat.
Pour les autres tampons, vous devez passer un pointeur (sous forme de chaîne,
@ -516,7 +495,7 @@ voir <<pointers,pointeurs>>).
Exemples :
[source,python]
----------------------------------------
----
# afficher "bonjour" sur le tampon core
weechat.prnt("", "bonjour")
@ -543,15 +522,14 @@ weechat.prnt(buffer, "message sur le canal #weechat")
# (notez que le serveur et le canal sont séparés par une virgule)
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.prnt(buffer, "message sur le canal #weechat")
----------------------------------------
----
[NOTE]
La fonction d'affichage est appelée `print` en Perl/Ruby/Lua/Tcl et `prnt` en
Python.
[[buffers_send_text]]
Envoyer du texte au tampon
^^^^^^^^^^^^^^^^^^^^^^^^^^
==== Envoyer du texte au tampon
Vous pouvez envoyer du texte ou une commande à un tampon. C'est exactement comme
si vous tapiez le texte sur la ligne de commande et que vous pressiez [Enter].
@ -559,18 +537,17 @@ si vous tapiez le texte sur la ligne de commande et que vous pressiez [Enter].
Exemples :
[source,python]
----------------------------------------
----
# exécuter la commande "/help" sur le tampon courant (le résultat est sur le tampon core)
weechat.command("", "/help")
# envoyer "bonjour" au canal IRC #weechat (les utilisateurs sur le canal verront le message)
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.command(buffer, "bonjour")
----------------------------------------
----
[[buffers_new]]
Créer un nouveau tampon
^^^^^^^^^^^^^^^^^^^^^^^
==== Créer un nouveau tampon
Vous pouvez créer un nouveau tampon dans votre script, et l'utiliser pour
afficher des messages.
@ -582,7 +559,7 @@ est appelé lorsque le tampon est fermé (par exemple avec `/buffer close`).
Exemple :
[source,python]
----------------------------------------
----
# callback pour les données reçues en entrée
def buffer_input_cb(data, buffer, input_data):
# ...
@ -601,11 +578,10 @@ weechat.buffer_set(buffer, "title", "Ceci est le titre du tampon.")
# désactiver l'enregistrement (log), en définissant la variable locale "no_log" à "1"
weechat.buffer_set(buffer, "localvar_set_no_log", "1")
----------------------------------------
----
[[buffers_properties]]
Propriétés du tampon
^^^^^^^^^^^^^^^^^^^^
==== Propriétés du tampon
Vous pouvez lire des propriétés du tampon, sous forme de chaîne, entier ou
pointeur.
@ -613,19 +589,19 @@ pointeur.
Exemples :
[source,python]
----------------------------------------
----
buffer = weechat.current_buffer()
number = weechat.buffer_get_integer(buffer, "number")
name = weechat.buffer_get_string(buffer, "name")
short_name = weechat.buffer_get_string(buffer, "short_name")
----------------------------------------
----
Il est possible d'ajouter, lire ou supprimer des variables locales dans le
tampon :
[source,python]
----------------------------------------
----
# ajouter une variable locale
weechat.buffer_set(buffer, "localvar_set_myvar", "my_value")
@ -634,22 +610,20 @@ myvar = weechat.buffer_get_string(buffer, "localvar_myvar")
# supprimer une variable locale
weechat.buffer_set(buffer, "localvar_del_myvar", "")
----------------------------------------
----
Pour voir les variables locales d'un tampon, exécutez cette commande dans
WeeChat :
----------------------------------------
----
/buffer localvar
----------------------------------------
----
[[hooks]]
Hooks
~~~~~
=== Hooks
[[hook_command]]
Ajouter une nouvelle commande
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
==== Ajouter une nouvelle commande
Ajoutez une nouvelle commande avec `hook_command`. Vous pouvez utiliser une
complétion personnalisée pour compléter les paramètres de votre commande.
@ -657,7 +631,7 @@ complétion personnalisée pour compléter les paramètres de votre commande.
Exemple :
[source,python]
----------------------------------------
----
def my_command_cb(data, buffer, args):
# ...
return weechat.WEECHAT_RC_OK
@ -672,37 +646,35 @@ hook = weechat.hook_command("monfiltre", "description de mon filtre",
" || add %(filters_names) %(buffers_plugins_names)|*"
" || del %(filters_names)|-all",
"my_command_cb", "")
----------------------------------------
----
Puis sous WeeChat :
----------------------------------------
----
/help monfiltre
/monfiltre paramètres...
----------------------------------------
----
[[hook_timer]]
Ajouter un timer
^^^^^^^^^^^^^^^^
==== Ajouter un timer
Ajoutez un timer avec `hook_timer`.
Exemple :
[source,python]
----------------------------------------
----
def timer_cb(data, remaining_calls):
# ...
return weechat.WEECHAT_RC_OK
# timer appelé chaque minute quand la seconde est 00
weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
----------------------------------------
----
[[hook_process]]
Lancer un processus en tâche de fond
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
==== Lancer un processus en tâche de fond
Vous pouvez lancer un processus en tâche de fond avec `hook_process`. Votre
"callback" sera appelé quand des données seront prêtes. Il peut être appelé
@ -714,7 +686,7 @@ positive, c'est le code retour de la commande.
Exemple :
[source,python]
----------------------------------------
----
process_output = ""
def my_process_cb(data, command, rc, out, err):
@ -726,11 +698,10 @@ def my_process_cb(data, command, rc, out, err):
return weechat.WEECHAT_RC_OK
weechat.hook_process("/bin/ls -l /etc", 10 * 1000, "my_process_cb", "")
----------------------------------------
----
[[url_transfer]]
Transfert d'URL
^^^^^^^^^^^^^^^
==== Transfert d'URL
_Nouveau dans la version 0.3.7._
@ -742,7 +713,7 @@ Exemple de transfert d'URL sans option : la page HTML sera reçue comme "out"
dans le "callback" (sortie standard du processus) :
[source,python]
----------------------------------------
----
# Afficher la version stable courante de WeeChat.
weechat_version = ""
@ -756,7 +727,7 @@ def weechat_process_cb(data, command, rc, out, err):
weechat.hook_process("url:http://weechat.org/dev/info/stable/",
30 * 1000, "weechat_process_cb", "")
----------------------------------------
----
[TIP]
Toutes les infos disponibles à propos de WeeChat sont sur la page
@ -766,7 +737,7 @@ Exemple de transfert d'URL avec une option : télécharger le dernier paquet de
développement WeeChat dans le fichier '/tmp/weechat-devel.tar.gz' :
[source,python]
----------------------------------------
----
def my_process_cb(data, command, rc, out, err):
if int(rc) >= 0:
weechat.prnt("", "Fin du transfert (rc=%s)" % rc)
@ -775,19 +746,17 @@ def my_process_cb(data, command, rc, out, err):
weechat.hook_process_hashtable("url:http://weechat.org/files/src/weechat-devel.tar.gz",
{ "file_out": "/tmp/weechat-devel.tar.gz" },
30 * 1000, "my_process_cb", "")
----------------------------------------
----
Pour plus d'information sur le transfert d'URL et les options disponibles, voir
les fonctions `hook_process` et `hook_process_hashtable` dans la
'Référence API Extension WeeChat'.
[[config_options]]
Config / options
~~~~~~~~~~~~~~~~
=== Config / options
[[config_options_set_script]]
Définir des options pour le script
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
==== Définir des options pour le script
La fonction `config_is_set_plugin` est utilisée pour vérifier si une option est
définie ou pas, et `config_set_plugin` pour définir une option.
@ -795,7 +764,7 @@ définie ou pas, et `config_set_plugin` pour définir une option.
Exemple :
[source,python]
----------------------------------------
----
script_options = {
"option1" : "valeur1",
"option2" : "valeur2",
@ -804,11 +773,10 @@ script_options = {
for option, default_value in script_options.items():
if not weechat.config_is_set_plugin(option):
weechat.config_set_plugin(option, default_value)
----------------------------------------
----
[[config_options_detect_changes]]
Détecter des changements
^^^^^^^^^^^^^^^^^^^^^^^^
==== Détecter des changements
Vous devez utiliser `hook_config` pour être notifié si l'utilisateur modifie
certaines options du script.
@ -816,7 +784,7 @@ certaines options du script.
Exemple :
[source,python]
----------------------------------------
----
SCRIPT_NAME = "monscript"
# ...
@ -831,18 +799,17 @@ def config_cb(data, option, value):
weechat.hook_config("plugins.var.python." + SCRIPT_NAME + ".*", "config_cb", "")
# pour les autres langages, remplacez "python" par le langage ("perl", "ruby", "lua" ou "tcl")
----------------------------------------
----
[[config_options_weechat]]
Lire les options WeeChat
^^^^^^^^^^^^^^^^^^^^^^^^
==== Lire les options WeeChat
La fonction `config_get` retourne un pointeur vers une option. Ensuite, en
fonction du type de l'option, il faut appeler `config_string`, `config_boolean`,
`config_integer` ou `config_color`.
[source,python]
----------------------------------------
----
# chaîne
weechat.prnt("", "la valeur de l'option weechat.look.item_time_format est : %s"
% (weechat.config_string(weechat.config_get("weechat.look.item_time_format"))))
@ -858,15 +825,13 @@ weechat.prnt("", "la valeur de l'option weechat.look.scroll_page_percent est : %
# couleur
weechat.prnt("", "la valeur de l'option weechat.color.chat_delimiters est : %s"
% (weechat.config_color(weechat.config_get("weechat.color.chat_delimiters"))))
----------------------------------------
----
[[irc]]
IRC
~~~
=== IRC
[[irc_catch_messages]]
Intercepter des messages
^^^^^^^^^^^^^^^^^^^^^^^^
==== Intercepter des messages
L'extension IRC envoie deux signaux pour un message reçu (`xxx` est le nom
interne du serveur IRC, `yyy` est le nom de la commande IRC comme JOIN, QUIT,
@ -879,7 +844,7 @@ xxx,irc_in2_yyy::
message sent après traitement du message
[source,python]
----------------------------------------
----
def join_cb(data, signal, signal_data):
# signal est par exemple : "freenode,irc_in2_join"
# signal_data est le message IRC, par exemple : ":nick!user@host JOIN :#canal"
@ -894,32 +859,30 @@ def join_cb(data, signal, signal_data):
# il est pratique ici d'utiliser "*" comme serveur, pour intercepter les
# messages JOIN de tous les serveurs IRC
weechat.hook_signal("*,irc_in2_join", "join_cb", "")
----------------------------------------
----
[[irc_modify_messages]]
Modifier des messages
^^^^^^^^^^^^^^^^^^^^^
==== Modifier des messages
L'extension IRC envoie un "modifier" appelé "irc_in_xxx" ("xxx" est la commande
IRC) pour un message reçu, de sorte que vous puissiez le modifier.
[source,python]
----------------------------------------
----
def modifier_cb(data, modifier, modifier_data, string):
# ajouter le nom du serveur à tous les messages reçus
# (ok ce n'est pas très utile, mais c'est juste un exemple !)
return "%s %s" % (string, modifier_data)
weechat.hook_modifier("irc_in_privmsg", "modifier_cb", "")
----------------------------------------
----
[WARNING]
Un message mal formé peut provoquer un plantage de WeeChat ou de sérieux
problèmes !
[[irc_message_parse]]
Analyser un message
^^^^^^^^^^^^^^^^^^^
==== Analyser un message
_Nouveau dans la version 0.3.4._
@ -927,22 +890,20 @@ Vous pouvez analyser un message IRC avec l'info_hashtable appelée
"irc_message_parse".
[source,python]
----------------------------------------
----
dict = weechat.info_get_hashtable("irc_message_parse",
{ "message": ":nick!user@host PRIVMSG #weechat :message ici" })
weechat.prnt("", "dict: %s" % dict)
# output:
# dict: {'nick': 'nick', 'host': 'nick!user@host', 'command': 'PRIVMSG', 'arguments': '#weechat :message ici', 'channel': '#weechat'}
----------------------------------------
----
[[infos]]
Infos
~~~~~
=== Infos
[[infos_weechat_version]]
Version de WeeChat
^^^^^^^^^^^^^^^^^^
==== Version de WeeChat
Le meilleur moyen de vérifier la version est de demander "version_number" et de
faire une comparaison entre nombre entiers avec la version hexadécimale de la
@ -951,13 +912,13 @@ version.
Exemple :
[source,python]
----------------------------------------
----
version = weechat.info_get("version_number", "") or 0
if int(version) >= 0x00030200:
weechat.prnt("", "C'est WeeChat 0.3.2 ou plus récent")
else:
weechat.prnt("", "C'est WeeChat 0.3.1 ou plus ancien")
----------------------------------------
----
[NOTE]
Les versions ≤ 0.3.1.1 retournent une chaîne vide pour
@ -967,38 +928,35 @@ n'est *pas* vide.
Pour obtenir la version sous forme de chaîne :
[source,python]
----------------------------------------
----
# ceci affichera par exemple "Version 0.3.2"
weechat.prnt("", "Version %s" % weechat.info_get("version", ""))
----------------------------------------
----
[[infos_other]]
Autres infos
^^^^^^^^^^^^
==== Autres infos
[source,python]
----------------------------------------
----
# répertoire de WeeChat, par exemple : "/home/xxxx/.weechat"
weechat.prnt("", "Répertoire WeeChat : %s" % weechat.info_get("weechat_dir", ""))
# inactivité clavier
weechat.prnt("", "Inactivité depuis %s secondes" % weechat.info_get("inactivity", ""))
----------------------------------------
----
[[infolists]]
Infolists
~~~~~~~~~
=== Infolists
[[infolists_read]]
Lire une infolist
^^^^^^^^^^^^^^^^^
==== Lire une infolist
Vous pouvez lire une infolist construite par WeeChat ou d'autres extensions.
Exemple :
[source,python]
----------------------------------------
----
# lecture de l'infolist "buffer", pour avoir la liste des tampons
infolist = weechat.infolist_get("buffer", "", "")
if infolist:
@ -1006,7 +964,7 @@ if infolist:
name = weechat.infolist_string(infolist, "name")
weechat.prnt("", "buffer: %s" % name)
weechat.infolist_free(infolist)
----------------------------------------
----
[IMPORTANT]
N'oubliez pas d'appeler `infolist_free` pour libérer la mémoire utilisée par

View File

@ -1,11 +1,9 @@
Guide du testeur WeeChat
========================
= Guide du testeur WeeChat
Sébastien Helleu <flashcode@flashtux.org>
[[purpose]]
Objet
-----
== Objet
Beaucoup d'utilisateurs nous demandent comment aider WeeChat. La façon
la plus facile (et aussi la plus rusée) consiste à le tester !
@ -29,8 +27,7 @@ fonctionnalités (et à corriger des anciens bugs).
[[prepare_system]]
Préparez votre système
----------------------
== Préparez votre système
Cela nous aiderait beaucoup si vous activiez les fichiers 'core' Linux : si
WeeChat se plante, Linux écrit un fichier 'core'. Ce fichier contient des
@ -39,14 +36,13 @@ se situe dans WeeChat).
Si vous utilisez le shell 'bash', ajoutez cette ligne dans votre `~/.bashrc` :
----------------------------------------
----
ulimit -c unlimited
----------------------------------------
----
[[download]]
Téléchargement de la version devel
----------------------------------
== Téléchargement de la version devel
Le code tout frais (avec les derniers bugs et fonctionnalités) est stocké dans
GIT.
@ -59,56 +55,54 @@ Vous pouvez décider de le construire manuellement (méthode recommandée) :
WeeChat.
[[get_sources]]
Obtenir et compiler les sources
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=== Obtenir et compiler les sources
Créez tout d'abord un répertoire, par exemple 'weechat-git' :
----------------------------------------
----
$ mkdir ~/weechat-git
$ cd ~/weechat-git
----------------------------------------
----
Si vous avez git installé, vous pouvez cloner la base GIT (recommandé) :
----------------------------------------
----
$ git clone git://git.sv.gnu.org/weechat.git
$ cd weechat
----------------------------------------
----
NOTE: Plus tard, vous pourrez utiliser la commande "`git pull`" dans ce répertoire
pour obtenir juste les deltas avec la version d'aujourd'hui.
Sinon vous pouvez installer le paquet 'devel' :
----------------------------------------
----
$ wget http://www.weechat.org/files/src/weechat-devel.tar.bz2
$ tar xvjf weechat-devel.tar.bz2
$ cd weechat-devel
----------------------------------------
----
Pour compiler les sources, cmake est recommandé :
----------------------------------------
----
$ mkdir build
$ cd build
$ cmake .. -DPREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
$ make
$ make install
----------------------------------------
----
Si vous n'avez pas cmake, il est toujours possible d'utiliser les autotools :
----------------------------------------
----
$ ./autogen.sh
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
$ make
$ make install
----------------------------------------
----
[[install_binary_package]]
Obtenir un paquet binaire
~~~~~~~~~~~~~~~~~~~~~~~~~
=== Obtenir un paquet binaire
Selon votre distribution Linux :
@ -119,17 +113,16 @@ Selon votre distribution Linux :
[[run]]
Lancer WeeChat
--------------
== Lancer WeeChat
Il est conseillé de lancer WeeChat avec un répertoire différent de la version
stable, avec l'option `--dir`.
La commande est :
----------------------------------------
----
$ ~/weechat-git/bin/weechat
----------------------------------------
----
Si vous êtes encore éveillé, vous devriez voir une interface familière et
pouvoir vous vanter d'utiliser la version la plus récente possible de WeeChat ;)
@ -142,8 +135,7 @@ retour et de vos impressions !
[[links]]
Liens intéressants
------------------
== Liens intéressants
* Base GIT : http://git.savannah.gnu.org/gitweb/?p=weechat.git
* Bug tracker : https://savannah.nongnu.org/bugs/?group=weechat

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
|===
| Plugin | Nome | Descrizione
| alias | alias | elenco di alias
@ -130,4 +130,4 @@
| xfer | nick | nick della chat DCC
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="^1,^2,5,5,5",options="header"]
|========================================
|===
| Plugin | Nome | Descrizione | Puntatore | Argomenti
| alias | alias | elenco di alias | puntatore all'alias (opzionale) | nome alias (può iniziare o terminare con "*" come carattere jolly) (opzionale)
@ -70,4 +70,4 @@
| xfer | xfer | elenco di xfer | puntatore a xfer (opzionale) | -
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="^1,^2,6,6",options="header"]
|========================================
|===
| Plugin | Nome | Descrizione | Argomenti
| aspell | aspell_dict | elenco separato da virgole di dizionari usati nel buffer | puntatore al buffer ("0x12345678") o buffer con il nome completo ("irc.freenode.weechat")
@ -62,4 +62,4 @@
| weechat | weechat_upgrading | 1 se si sta aggiornando WeeChat (comando `/upgrade`) | -
|========================================
|===

View File

@ -1,9 +1,9 @@
[width="100%",cols="^1,^2,6,6,6",options="header"]
|========================================
|===
| Plugin | Nome | Descrizione | Tabella hash (input) | Tabella hash (output)
| irc | irc_message_parse | controlla un messaggio IRC | "message": messaggio IRC, "server": nome server (opzionale) | "tags": tag, "message_without_tags": messaggio senza tag, "nick": nick, "host": nome host, "command": comando, "channel": canale, "arguments": argomenti (include il canale)
| irc | irc_message_split | divide un messaggio IRC (per adattarlo in 512 byte) | "message": messaggio IRC, "server": nome server (opzionale) | "msg1" ... "msgN": messaggio da inviare (senza "\r\n" finale), "args1" ... "argsN": argomenti dei messaggi, "count": numero di messaggi
|========================================
|===

View File

@ -1,5 +1,5 @@
[width="100%",cols="2,^1,7",options="header"]
|========================================
|===
| Opzione | Tipo | Costanti ^(1)^
| verbose | long |
@ -298,4 +298,4 @@
| new_directory_perms | long |
|========================================
|===

View File

@ -1,7 +1,7 @@
[[command_alias_alias]]
[command]*`alias`* crea un alias per un comando::
----------------------------------------
----
/alias [-completion <completamento>] <alias> [<comando> [;<comando>...]]
completion: completion for alias (optional, by default completion is done with target command)
@ -30,5 +30,5 @@ Examples:
/alias hello /allchan -exclude=#weechat msg * hello
alias /forcejoin to send IRC command "forcejoin" with completion of /sajoin:
/alias -completion %%sajoin forcejoin /quote forcejoin
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_aspell_aspell]]
[command]*`aspell`* configurazione del plugin aspell::
----------------------------------------
----
/aspell enable|disable|toggle
listdict
setdict <dizionario>[,<dizionario>...]
@ -23,5 +23,5 @@ Per abilitare aspell su tutti i buffer, usare l'opzione "default_dict", poi abil
/aspell enable
Il tasto predefinito per (dis)abilitare aspell è alt-s.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_charset_charset]]
[command]*`charset`* modifica il set di caratteri per il buffer corrente::
----------------------------------------
----
/charset decode|encode <set_caratteri>
reset
@ -9,5 +9,5 @@
encode: modifica il set di caratteri per la codifica
set_caratteri: nuovo set di caratteri per il buffer corrente
reset: resetta il set di caratteri per il buffer corrente
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_guile_guile]]
[command]*`guile`* elenca/carica/scarica script::
----------------------------------------
----
/guile list|listfull [<nome>]
load [-q] <nomefile>
autoload
@ -18,5 +18,5 @@ nome_file: (file) script da caricare
-q: modalità silenziosa: non mostra messaggi
Senza argomento, questo comando elenca tutti i plugin caricati.
----------------------------------------
----

View File

@ -1,16 +1,16 @@
[[command_irc_admin]]
[command]*`admin`* trova informazioni sull'amministratore del server::
----------------------------------------
----
/admin [<destinazione>]
destinazione: server
----------------------------------------
----
[[command_irc_allchan]]
[command]*`allchan`* esegue un comando su tutti i canali di tutti i server connessi::
----------------------------------------
----
/allchan [-current] [-exclude=<canale>[,<canale>...]] <comando> [<argomenti>]
-current: execute command for channels of current server only
@ -25,12 +25,12 @@ Examples:
/allchan -exclude=#weechat msg * hello
say 'hello' everywhere but not on #weechat and channels beginning with #linux:
/allchan -exclude=#weechat,#linux* msg * hello
----------------------------------------
----
[[command_irc_allserv]]
[command]*`allserv`* esegue un comando su tutti i server connessi::
----------------------------------------
----
/allserv [-exclude=<server>[,<server>...]] <comando> [<argomenti>]
-exclude: exclude some servers ('*' is allowed at beginning or end of server name, to exclude many servers)
@ -44,24 +44,24 @@ Examples:
/allserv away I'm away
do a whois on my nick on all servers:
/allserv whois $nick
----------------------------------------
----
[[command_irc_ban]]
[command]*`ban`* banna nick oppure host::
----------------------------------------
----
/ban [<canale>] [<nick> [<nick>...]]
canale: canale per il ban
nick: utente o host su cui effettuare il ban
Senza argomento, il comando mostra la lista dei ban per il canale corrente.
----------------------------------------
----
[[command_irc_connect]]
[command]*`connect`* connette ad uno o più server IRC::
----------------------------------------
----
/connect <server> [<server>...] [-<opzione>[=<valore>]] [-no<option>] [-nojoin] [-switch]
-all|-auto|-open [-nojoin] [-switch]
@ -85,33 +85,33 @@ Esempi:
/connect mio.server.org/6697 -ssl -password=test
/connect irc://nick@irc.oftc.net/#canale
/connect -switch
----------------------------------------
----
[[command_irc_ctcp]]
[command]*`ctcp`* invia un messaggio CTCP (Protocollo Client-A-Client)::
----------------------------------------
----
/ctcp <destinazione> <tipo> [<argomenti>]
destinazione: nick o canale a cui inviare il CTCP
tipo: tipo CTCP (esempi: "version", "ping", ..)
argomenti: argomenti per il CTCP
----------------------------------------
----
[[command_irc_cycle]]
[command]*`cycle`* esce e rienta in un canale::
----------------------------------------
----
/cycle [<canale>[,<canale>...]] [<messaggio>]
canale: nome del canale per il ciclo
messaggio: messaggio di uscita (mostrato agli altri utenti)
----------------------------------------
----
[[command_irc_dcc]]
[command]*`dcc`* avvia una DCC (trasferimento file o chat diretta)::
----------------------------------------
----
/dcc chat <nick>
send <nick> <file>
@ -123,76 +123,76 @@ Esempi:
/dcc chat tizio
invia file "/home/foo/bar.txt al nick "tizio":
/dcc send tizio /home/foo/bar.txt
----------------------------------------
----
[[command_irc_dehalfop]]
[command]*`dehalfop`* revoca lo stato di half-op del canale da uno o più nick::
----------------------------------------
----
/dehalfop <nick> [<nick>...]
nick: nick or mask (can start or end with "*" as wildcard)
*: remove channel half-operator status from everybody on channel except yourself
----------------------------------------
----
[[command_irc_deop]]
[command]*`deop`* revoca lo stato di operatore del canale da uno o più nick::
----------------------------------------
----
/deop <nick> [<nick>...]
* -yes
nick: nick or mask (can start or end with "*" as wildcard)
*: remove channel operator status from everybody on channel except yourself
----------------------------------------
----
[[command_irc_devoice]]
[command]*`devoice`* revoca il voice da uno o più nick::
----------------------------------------
----
/devoice <nick> [<nick>...]
* -yes
nick: nick or mask (can start or end with "*" as wildcard)
*: remove voice from everybody on channel
----------------------------------------
----
[[command_irc_die]]
[command]*`die`* arresta il server::
----------------------------------------
----
/die [<destinazione>]
destinazione: nome server
----------------------------------------
----
[[command_irc_disconnect]]
[command]*`disconnect`* disconnette da uno o tutti i server IRC::
----------------------------------------
----
/disconnect [<server>|-all|-pending [<motivo>]]
server: nome del server da cui disconnettersi
-all: disconnette da tutti i server
-pending: annulla la riconnessione automatica sui server in fase di riconnessione
motivo: motivo per la disconnessione
----------------------------------------
----
[[command_irc_halfop]]
[command]*`halfop`* concede lo stato di half-op del canale ad uno o più nick::
----------------------------------------
----
/halfop <nick> [<nick>...]
* -yes
nick: nick or mask (can start or end with "*" as wildcard)
*: give channel half-operator status to everybody on channel
----------------------------------------
----
[[command_irc_ignore]]
[command]*`ignore`* ignora nick/host dai server o dai canali::
----------------------------------------
----
/ignore list
add [re:]<nick> [<server> [<canale>]]
del <numero>|-all
@ -215,40 +215,40 @@ Esempi:
/ignore add tizio@dominio.com freenode
ignora l'host "tizio*@*.dominio.com" su freenode/#weechat:
/ignore add tizio*@*.dominio.com freenode #weechat
----------------------------------------
----
[[command_irc_info]]
[command]*`info`* ottieni informazioni sul server::
----------------------------------------
----
/info [<destinazione>]
destinazione: nome server
----------------------------------------
----
[[command_irc_invite]]
[command]*`invite`* invita un nick su un canale::
----------------------------------------
----
/invite <nick> [<nick>...] [<canale>]
nick: nick da invitare
canale: canale su cui invitare
----------------------------------------
----
[[command_irc_ison]]
[command]*`ison`* verifica se un nick è collegato IRC::
----------------------------------------
----
/ison <nick> [<nick>...]
nick: nick
----------------------------------------
----
[[command_irc_join]]
[command]*`join`* entra in un canale::
----------------------------------------
----
/join [-noswitch] [-server <server>] [<canale1>[,<canale2>...]] [<chiave1>[,<chiave2>...]]
-noswitch: non passare al nuovo buffer
@ -261,23 +261,23 @@ Esempi:
/join #canaleprotetto,#weechat chiave
/join -server freenode #weechat
/join -noswitch #weechat
----------------------------------------
----
[[command_irc_kick]]
[command]*`kick`* caccia forzatamente un utente da un canale::
----------------------------------------
----
/kick [<canale>] <nick> [<motivo>]
channel: channel where user is
nick: nick to kick
reason: reason for kick (special variables $nick, $channel and $server are replaced by their value)
----------------------------------------
----
[[command_irc_kickban]]
[command]*`kickban`* caccia e banna un nick da un canale::
----------------------------------------
----
/kickban [<canale>] <nick> [<motivo>]
channel: channel where user is
@ -289,32 +289,32 @@ It is possible to kick/ban with a mask, nick will be extracted from mask and rep
Example:
ban "*!*@host.com" and then kick "toto":
/kickban toto!*@host.com
----------------------------------------
----
[[command_irc_kill]]
[command]*`kill`* chiude connessione client-server::
----------------------------------------
----
/kill <nick> <motivo>
nick: nick per il kill
motivo: motivo per il kill
----------------------------------------
----
[[command_irc_links]]
[command]*`links`* elenca tutti i nomi server conosciuti dal server che risponde alla richiesta::
----------------------------------------
----
/links [[<server>] <mask_server>]
server: questo server dovrebbe rispondere alla richiesta
mask_server: elenco dei server che devono corrispondere a questa mask
----------------------------------------
----
[[command_irc_list]]
[command]*`list`* elenca i canali ed i loro argomenti::
----------------------------------------
----
/list [<canale>[,<canale>...]] [<server>] [-re <regexp>]
canale: canale da elencare
@ -328,37 +328,37 @@ Esempi:
/list #weechat.*
elenca tutti i canali che iniziano con "#weechat" (può essere molto lento su grandi network):
/list -re #weechat.*
----------------------------------------
----
[[command_irc_lusers]]
[command]*`lusers`* ottiene statistiche sulla dimensione del network IRC::
----------------------------------------
----
/lusers [<mask> [<destinazione>]]
mask: server corrispondenti alla mask
destinazione: server per redirigere la richiesta
----------------------------------------
----
[[command_irc_map]]
[command]*`map`* mostra una mappa grafica della rete IRC::
----------------------------------------
----------------------------------------
----
----
[[command_irc_me]]
[command]*`me`* invia un'azione CTCP al canale corrente::
----------------------------------------
----
/me <messaggio>
messaggio: messaggio da inviare
----------------------------------------
----
[[command_irc_mode]]
[command]*`mode`* cambia modalità canale o utente::
----------------------------------------
----
/mode [<canale>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<arguments>]
<nick> [+|-]i|s|w|o
@ -390,62 +390,62 @@ Esempi:
/mode #weechat +t
diventa invisibile sul server:
/mode nick +i
----------------------------------------
----
[[command_irc_motd]]
[command]*`motd`* riceve il "Messaggio Del Giorno"::
----------------------------------------
----
/motd [<destinazione>]
destinazione: nome server
----------------------------------------
----
[[command_irc_msg]]
[command]*`msg`* invia un messaggio ad un nick o a un canale::
----------------------------------------
----
/msg [-server <server>] <destinazione>[,<destinazione>...] <testo>
server: invia a questo server (nome interno)
destinazione: nick o canale (può essere una mask, '*' = canale corrente)
testo: testo da inviare
----------------------------------------
----
[[command_irc_names]]
[command]*`names`* elenca i nick sul canale::
----------------------------------------
----
/names [<canale>[,<canale>...]]
canale: nome canale
----------------------------------------
----
[[command_irc_nick]]
[command]*`nick`* cambia il nick corrente::
----------------------------------------
----
/nick [-all] <nick>
-all: imposta nuovo nick per tutti i server connessi
nick: nuovo nick
----------------------------------------
----
[[command_irc_notice]]
[command]*`notice`* invia messaggio di notifica all'utente::
----------------------------------------
----
/notice [-server <server>] <destinazione> <testo>
server: invia a questo server (nome interno)
destinazione: nick o canale
testo: testo da inviare
----------------------------------------
----
[[command_irc_notify]]
[command]*`notify`* aggiunge una notifica per lo stato di presenza o assenza dei nick sui server::
----------------------------------------
----
/notify add <nick> [<server> [-away]]
del <nick>|-all [<server>]
@ -465,96 +465,96 @@ Esempi:
/notify add toto freenode
notifica quando "tizio" è assente o presente sul server freenode:
/notify add toto freenode -away
----------------------------------------
----
[[command_irc_op]]
[command]*`op`* concede lo stato di operatore del canale ad uno o più nick::
----------------------------------------
----
/op <nick> [<nick>...]
* -yes
nick: nick or mask (can start or end with "*" as wildcard)
*: give channel operator status to everybody on channel
----------------------------------------
----
[[command_irc_oper]]
[command]*`oper`* ottiene i privilegi di operatore::
----------------------------------------
----
/oper <utente> <password>
user: utente
password: password
----------------------------------------
----
[[command_irc_part]]
[command]*`part`* esce da un canale::
----------------------------------------
----
/part [<canale>[,<canale>...]] [<messaggio>]
canale: nome del canale da lasciare
messaggio: messaggio di uscita (mostrato agli altri utenti)
----------------------------------------
----
[[command_irc_ping]]
[command]*`ping`* invia un ping al server::
----------------------------------------
----
/ping <server1> [<server2>]
server1: server su cui effettuare il ping
server2: reindirizza il ping a questo server
----------------------------------------
----
[[command_irc_pong]]
[command]*`pong`* risponde ad un messaggio ping::
----------------------------------------
----
/pong <demone> [<demone2>]
demone: demone che ha risposto al messaggio di Ping
demone2: reindirizza messaggio a questo demone
----------------------------------------
----
[[command_irc_query]]
[command]*`query`* invia un messaggio privato ad un nick::
----------------------------------------
----
/query [-server <server>] <nick>[,<nick>...] [<testo>]
server: invia a questo server (nome interno)
nick: nick per la conversazione privata
testo: testo da inviare
----------------------------------------
----
[[command_irc_quiet]]
[command]*`quiet`* fa tacere nick o host::
----------------------------------------
----
/quiet [<canale>] [<nick> [<nick>...]]
canale: canale da mettere a tacere
nick: utente o host da mettere a tacere
Senza argomento, il comando mostra la lista dei ban per il canale corrente.
----------------------------------------
----
[[command_irc_quote]]
[command]*`quote`* invia dati grezzi al server senza analisi::
----------------------------------------
----
/quote [-server <server>] <dati>
server: invia a questo server (nome interno)
dati: dati raw da inviare
----------------------------------------
----
[[command_irc_reconnect]]
[command]*`reconnect`* riconnette a uno o più server::
----------------------------------------
----
/reconnect <server> [<server>...] [-nojoin] [-switch]
-all [-nojoin] [-switch]
@ -562,80 +562,80 @@ server: invia a questo server (nome interno)
-all: riconnetti a tutti i server
-nojoin: non entrare in nessun canale (anche se l'ingresso automatico è abilitato sul server)
-switch: passa al server successivo
----------------------------------------
----
[[command_irc_rehash]]
[command]*`rehash`* chiede al server di ricaricare il proprio file di configurazione::
----------------------------------------
----
/rehash [<opzione>]
opzione: opzione extra, per alcuni server
----------------------------------------
----
[[command_irc_restart]]
[command]*`restart`* chiede al server di riavviarsi::
----------------------------------------
----
/restart [<destinazione>]
destinazione: nome server
----------------------------------------
----
[[command_irc_sajoin]]
[command]*`sajoin`* forza un utente ad entrare su uno o più canali::
----------------------------------------
----
/sajoin <nick> <canale>[,<canale>...]
nick: nick
canale: nome del canale
----------------------------------------
----
[[command_irc_samode]]
[command]*`samode`* cambia modalità sul canale, senza avere lo status di operatore::
----------------------------------------
----
/samode <canale> <modalità>
canale: nome del canale
modalità: modalità per il canale
----------------------------------------
----
[[command_irc_sanick]]
[command]*`sanick`* forza un utente ad usare un altro nick::
----------------------------------------
----
/sanick <nick> <nuovo_nick>
nick: nick
nuovo_nick: nuovo nick
----------------------------------------
----
[[command_irc_sapart]]
[command]*`sapart`* forza un utente a lasciare uno o più canali::
----------------------------------------
----
/sapart <nick> <canale>[,<canale>...]
nick: nick
canale: nome del canale
----------------------------------------
----
[[command_irc_saquit]]
[command]*`saquit`* forza un utente ad abbandonare il server con un motivo::
----------------------------------------
----
/saquit <nick> <motivo>
nick: nick
motivo: motivo
----------------------------------------
----
[[command_irc_server]]
[command]*`server`* elenca, aggiunge o rimuove server IRC::
----------------------------------------
----
/server list|listfull [<server>]
add <server> <host>[/<porta>] [-temp] [-<opzione>[=<valore>]] [-no<option>]
copy|rename <server> <nuovo_nome>
@ -668,179 +668,179 @@ Esempi:
/server rename oftc newoftc
/server del freenode
/server deloutq
----------------------------------------
----
[[command_irc_service]]
[command]*`service`* registra un nuovo servizio::
----------------------------------------
----
/service <nick> <riservato> <distribuzione> <tipo> <riservato> <info>
distrubuzione: visibilità del servizio
tipo: riservato per un uso futuro
----------------------------------------
----
[[command_irc_servlist]]
[command]*`servlist`* elenca servizi attualmente connessi al network::
----------------------------------------
----
/servlist [<mask> [<tipo>]]
mask: elenca solo i servizi che corrispondono a questa mask
tipo: elenca solo i servizi di questo tipo
----------------------------------------
----
[[command_irc_squery]]
[command]*`squery`* invia un messaggio ad un servizio::
----------------------------------------
----
/squery <servizio> <testo>
servizio: nome del servizio
testo: testo da inviare
----------------------------------------
----
[[command_irc_squit]]
[command]*`squit`* disconnette collegamenti al server::
----------------------------------------
----
/squit <server> <commento>
server: nome server
commento: commento per l'uscita
----------------------------------------
----
[[command_irc_stats]]
[command]*`stats`* richiede statistiche sul server::
----------------------------------------
----
/stats [<query> [<server>]]
query: c/h/i/k/l/m/o/y/u (per info RFC1459)
server: nome server
----------------------------------------
----
[[command_irc_summon]]
[command]*`summon`* invia agli utenti connessi ad un host con un server IRC in esecuzione un messaggio per invitarli ad entrare su IRC::
----------------------------------------
----
/summon <utente> [<destinazione> [<canale>]]
utente: nome utente
destinazione: nome server
canale: nome canale
----------------------------------------
----
[[command_irc_time]]
[command]*`time`* richiede l'ora locale dal server::
----------------------------------------
----
/time [<destinazione>]
destinazione: richiede l'ora dal server specificato
----------------------------------------
----
[[command_irc_topic]]
[command]*`topic`* legge/modifica argomento del canale::
----------------------------------------
----
/topic <[canale>] [<argomento>|delete]
canale: nome canale
argomento: nuovo argomento per il canale
-delete: elimina argomento del canale
----------------------------------------
----
[[command_irc_trace]]
[command]*`trace`* trova il path del server specifico::
----------------------------------------
----
/trace [<destinazione>]
destinazione: server
----------------------------------------
----
[[command_irc_unban]]
[command]*`unban`* rimuove il ban da nick o host::
----------------------------------------
----
/unban [<canale>] <nick> [<nick>...]
canale: canale da cui rimuovere il ban
nick: utente o host a cui rimuovere il ban
----------------------------------------
----
[[command_irc_userhost]]
[command]*`userhost`* restituisce un elenco di informazioni sui nick::
----------------------------------------
----
/userhost <nick> [<nick>...]
nick: nick
----------------------------------------
----
[[command_irc_users]]
[command]*`users`* lista di utenti autenticati sul server::
----------------------------------------
----
/users [<destinazione>]
destinazione: server
----------------------------------------
----
[[command_irc_version]]
[command]*`version`* riceve informazioni di versione del nick o del server (corrente o specificato)::
----------------------------------------
----
/version [<server>|<nick>]
server: nome server
nick: nick
----------------------------------------
----
[[command_irc_voice]]
[command]*`voice`* concede il voice ad uno o più utenti::
----------------------------------------
----
/voice <nick> [<nick>...]
nick: nick o mask (può iniziare o terminare con "*" come carattere jolly)
*: concede il voice a tutti sul canale
----------------------------------------
----
[[command_irc_wallchops]]
[command]*`wallchops`* invia una notifica agli operatori del canale::
----------------------------------------
----
/wallchops [<canale>] <testo>
canale: nome del canale
testo: testo da inviare
----------------------------------------
----
[[command_irc_wallops]]
[command]*`wallops`* invia un messaggio a tutti gli utenti attualmente connessi che hanno impostato la modalità 'w'::
----------------------------------------
----
/wallops <testo>
testo: testo da inviare
----------------------------------------
----
[[command_irc_who]]
[command]*`who`* genera una richiesta per ottenere una lista di informazioni::
----------------------------------------
----
/who [<mask> [o]]
mask: solo l'informazione corrispondente al mask
o: vengono restituiti solo gli operatori in base alla mask fornita
----------------------------------------
----
[[command_irc_whois]]
[command]*`whois`* richiedi informazioni su uno o più utenti::
----------------------------------------
----
/whois [<server>] [<nick>[,<nick>...]]
server: server name
@ -849,16 +849,16 @@ server: server name
Without argument, this command will do a whois on:
- your own nick if buffer is a server/channel
- remote nick if buffer is a private.
----------------------------------------
----
[[command_irc_whowas]]
[command]*`whowas`* richiede informazioni su un nick non più esistente::
----------------------------------------
----
/whowas <nick>[,<nick>...] [<count> [<destinazione>]]
nick: nick da cercare
count: numero di risultati da visualizzare (ricerca completa se il numero è negativo)
destinazione: la risposta dovrebbe coincidere con la mask
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_logger_logger]]
[command]*`logger`* configurazione del plugin logger::
----------------------------------------
----
/logger list
set <livello>
flush
@ -33,5 +33,5 @@ Esempi:
/set logger.level.core.weechat 0
usa una directory per il server IRC e un file per ogni canale al suo interno:
/set logger.mask.irc "$server/$channel.weechatlog"
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_lua_lua]]
[command]*`lua`* elenca/carica/scarica script::
----------------------------------------
----
/lua list|listfull [<nome>]
load [-q] <nomefile>
autoload
@ -18,5 +18,5 @@ nome_file: (file) script da caricare
-q: modalità silenziosa: non mostra messaggi
Senza argomento, questo comando elenca tutti i plugin caricati.
----------------------------------------
----

View File

@ -1,7 +1,7 @@
[[command_perl_perl]]
[command]*`perl`* elenca/carica/scarica script::
----------------------------------------
----
/perl list|listfull [<nome>]
load [-q] <nomefile>
autoload
@ -18,5 +18,5 @@ nome_file: (file) script da caricare
-q: modalità silenziosa: non mostra messaggi
Senza argomento, questo comando elenca tutti i plugin caricati.
----------------------------------------
----

Some files were not shown because too many files have changed in this diff Show More