The bug is when all buffer lines are unread (so "last_read_line" pointer
is NULL), and that the option weechat.look.read_marker_always_show is on.
The read marker was displayed at bottom after switch to the buffer.
Thanks to Nils Görs.
Now the full name of buffer is displayed, without parentheses around the
plugin name.
The old ouput was:
[1] (core) weechat (notification: all)
[1] (irc) server.freenode (notification: all)
[2] (irc) freenode.#weechat (notification: all)
Now it is:
[1] core.weechat (notification: all)
[1] irc.server.freenode (notification: all)
[2] irc.freenode.#weechat (notification: all)
lua_open() isn't defined on Lua 5.2 on Fedora 20. luaL_newstate() is
used in lua 5.1+, but lua 5.0 only has lua_main(). This adds a test
using luaL_newstate() if the lua_main() test fails.
On OpenBSD, the variable "tv_sec" in struct timeval has type "long"
(type "time_t" under Linux).
So we need to copy this value to a temporary variable before using its
pointer with function localtime().
The buffer property "highlight_tags" is renamed to "highlight_tags_restrict".
New behavior for buffer property "highlight_tags": force highlight on tags.
Option irc.look.highlight_tags is renamed to irc.look.highlight_tags_restrict.
The logical "and" is made with the separator "+".
Example: "irc_notice+nick_toto,nick_test"
will match a notice from nick "toto" or any message from nick "test".
The "save" option does not save to disk (so it was a bit confusing with
/save command); therefore it is renamed to "add".
The "reset" option does not really reset but delete things in the layout
(or the layout itself); therefore it is renamed to "del" (for consistency,
like other commands in WeeChat core and plugins).
The value of option can be:
- "end": buffer is added after the end of list (number = last number + 1)
- "first_gap": buffer is added at first number available in the list
(after the end of list if no number is available)
Since commits d03eb52d49 and
0c48b7ab8b, the IRC color codes are the
same in input line and messages, so the function
irc_color_decode_for_user_entry is not needed any more.
It was used only to decode colors when completing the command /topic
(with the channel topic).
Other clients are using 0x16, and not 0x12 that was the default in
WeeChat (which was able to decode both 0x12 and 0x16).
Now the 0x12 is not decoded and does not make reverse video any more.
The problem happened because we used a pointer to a
"struct t_gui_buffer_visited" for the switch to another buffer,
when the buffer is closed. This is executed in all windows displaying
the buffer, but on each switch to buffer, the visited buffers are
updated and therefore the address can change. The pointer becomes
invalid, and WeeChat still uses it on next windows for the buffer
switch.
It happened rarely because the visited buffer is freed and allocated
immediately after, so the address is often the same in memory.
Thanks to silverd for the tests on OS X to track the problem.
New option: weechat.look.buffer_auto_renumber, boolean which is on by
default, so the behavior is the same: no gap is allowed in numbers,
they start at number 1 and they are auto-renumbered after each command
like /buffer move, /buffer merge, ...
A new option "renumber" has been added in command /buffer, to renumber
a range of buffers (or all).
Changes when the option weechat.look.buffer_auto_renumber is off:
- command "/buffer move":
- the current number will be left free for use, and the
target number can be any number >= 1 (possibly higher than the
current last buffer number)
- the value can be "-" (which moves the buffer to number 1)
or "+" (which moves the buffer to the end, ie last number + 1)
- command "/buffer swap":
- now the buffers are swapped in the list without being "moved"
- comand "/buffer [+/-]N":
- it is now working with gaps in buffer numbers
- command "/buffer merge":
- it can now merge a group of merged buffers into another buffer
(or buffers merged themselves)
- layout can restore buffer numbers with gaps in numbers
This reverts commits 14cf7bd20f and
262dff4b87.
The initial fix was for a problem with irc autojoin and layout: the
current window has not appropriate buffer (as defined in layout) if it
is not the latest channel in "autojoin" option.
So the way to fix this problem is to set the value of option
irc.look.buffer_switch_autojoin to off.
Since commit 14cf7bd20f, the value "auto"
will switch buffer only if there is no layout defined for the current
window, or if the buffer displayed is NOT the buffer in the layout
(so if the buffer is defined in the layout, no switch).
CMake was displaying some warnings about a space in argument used for
asciidoc command:
-a date=`date "+%F"`
Warning displayed:
CMake Warning (dev) in doc/en/CMakeLists.txt:
Syntax Warning in cmake code at
/path/to/doc/en/CMakeLists.txt:41:82
Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.
Bug was visible with such colored string in IRC:
^Cc7,5 one ^Cc ^Cc7 two
Before the fix, the word "two" had a red background.
The "^Cc" should reset both color + background, so now it does not have
a background any more.
All changes:
- import the new division operator and the print function
- replace the %-formatting with .format()
- full PEP8 compliance
- major code cleanup: new function send_cmd() to send an IRC command,
split flood() function into many functions.
The messages sent from a file (or stdin) are formatted with
".format(self=self)", so that attributes from class Client are replaced
with their values. You can use for example these attributes:
{self.nick} current client nick
{self.name} the server name ('weercd')
{self.version} the server version (version of weercd.py)
The configuration file weercd.conf has been removed. Instead, default options
can be set in an environment variable called "WEERCD_OPTIONS".
A file with options can be used, then name must be given as option with a
leading "@", for example: python weercd.py @args.txt
The option "action" has been removed. Default behavior is still to flood the
client. Actions "user" and "file" have been merged into a single option
-f/--file, which accepts a file, or special value "-" to read stdin.
The script now requires python >= 2.7 (because the argparse module is not
available in python 2.6 and older versions).
Some long lines in docs were causing a zoom, and then the text font was
smaller than it should be. Some styles have been fixed to remove the zoom
and keep the original ratio.
New options:
- weechat.look.buffer_search_case_sensitive (boolean, off by default)
- weechat.look.buffer_search_force_default (boolean, off by default)
- weechat.look.buffer_search_regex (boolean, off by default)
- weechat.look.buffer_search_where (prefix, message (by default), prefix_message)
With the new option irc.look.notice_welcome_redirect, a private notice could
have a channel at beginning of message (with format "[#channel]") and then be
displayed on the channel, without difference with a real channel notice
(received by all nicks in channel).
For example with these commands:
/notice nick2 [#channel] private notice
/notice #channel notice for whole channel
Old display was (on receiver side, in #channel):
-- | Notice(nick1): private notice
-- | Notice(nick1): notice for whole channel
New display is:
-- | Notice(nick1) -> nick2: private notice
-- | Notice(nick1) -> #channel: notice for whole channel
The new option weechat.look.day_change_message2 is used to display day change
between two messages, with two dates: the new one, and the old one.
Example:
-- Mon, 02 Sep 2013 (Thu, 22 Aug 2013) --
Changes in options:
- rename option weechat.look.day_change_time_format to weechat.look.day_change_message
(color codes are allowed in this option)
- new option weechat.color.chat_day_change.
Shared strings are stored in a hashtable with pointer for keys (values are not
used).
The key has a reference count + the string.
The initial reference count is set to 1 and is incremented each time the same
string is asked.
When removing a shared string, the reference count is decremented.
If it becomes 0, then the shared string is removed from the hashtable (and then
the string is really destroyed).
The update of variables "buffer_max_length" and "prefix_max_length" in struct
t_gui_lines is now delayed and made during the main refresh (in main loop).
For a buffer with 50K lines, it is up to 3300 times faster to clear/close it.
For a buffer with 4096 lines (default limit), it is up to 120 times faster.
The key hash has been changed from unsigned int to unsigned long, and now the
callback can return any value (not only between 0 and size-1), the modulo is
computed after the call to the callback by the hashtable functions.
Functions hashtable_set and hashtable_set_with_size were returning 1 if OK,
0 if error. Now they return pointer to hashtable item, or NULL if error.
The hashtable is created on first call to eval_expression with pointers == NULL.
On next calls, the hashtable is cleared, then used again.
The hashtable is freed on exit.
A symbolic link weechat-curses -> weechat is now created (by both cmake and
configure), so that the /upgrade will work from an old version.
However, if you upgrade from an old version, it is recommended to force the use
of the new binary name with the command: `/upgrade /path/to/weechat` (replace
the path accordingly).
A regression was introduced by commit bee56c3b7f
(/window scroll_beyond_end).
Scenario to reproduce the problem, for example on an IRC channel with a long
history (more than two pages):
/window page_up
/window page_down
<type some text and send to channel>
It will display -MORE(1)- instead of automatically scrolling to bottom of
buffer.
If user gives no passphrase (for example one space when prompted), the encrypted
data read in sec.conf will be stored in a separate hashtable.
While this hashtable contains something, it is not allowed to do any operation
on passphrase or secured data (and it is not allowed to reload sec.conf).
The user can decrypt data with /secure decrypt <passphrase>.
The AND ("&&") takes precedence over the OR ("||").
Before the fix:
>> 1 || 1 && 0
== [0]
After the fix:
>> 1 || 1 && 0
== [1]
Since the "&&" has higher priority, expression is evaluated as:
"1 || (1 && 0)".
A "-dummy" option has been added too, just to prevent accidental completion with
"-quit" (which is the first option completed).
Thanks to stfn for initial patch.
Packages asciidoc, source-highlight, xsltproc, docbook-xml and docbook-xsl are
now used to build man page in the package weechat-curses, which is not
arch-independent.
So these dependencies are moved from "Build-Depends-Indep" to "Build-Depends".
Enchant is enabled only if the new option for cmake (or configure) is enabled:
- for cmake: cmake -DENABLE_ENCHANT=ON
- for configure: ./configure --enable-enchant
This removes tag "notify_private" from notices like that (sent before message 001):
:irc.network.com NOTICE nick :*** Spoofing your IP
:irc.network.com NOTICE nick :*** You are exempt from K/G/X lines
:irc.network.com NOTICE nick :*** You are exempt from user limits
The temporary option was introduced because the nicklist diff was experimental.
It is now enabled by default, and there is no way to disable it. Therefore any
relay client using weechat protocol must implement the message "_nicklist_diff"
(unless nicklist is ignored by client).
Extra note: a full nicklist may still be sent if a message with diff would be
bigger than whole nicklist. So both full nicklist (message "_nicklist") and
nicklist diff (message "_nicklist_diff") must be implemented by clients.
Problem was happening on a server which has "PREFIX=(Yqaohv)!~&@%+".
Users with prefix "!" were displayed as lightred (color for "~") instead of
lightblue (default key "*").
When a prefix was not found, WeeChat was looping on other prefixes (in
order). Now if color is not found, WeeChat uses immediately the fallback color.
The bug was string_match returning 0 (instead of 1) if mask begins and ends with
"*" and if string and mask have same length (except both "*") with same content:
string_match("abc", "*abc*", 0) == 0 // BUG: it should return 1
string_match("abcd", "*abc*", 0) == 1 // OK
This is an experimental feature, that must be explicitely enabled by clients
(for weechat protocol) in the init command with option "nicklistdiff", for example:
init password=mypasswd,nicklistdiff=1
This option will be removed when clients will handle nicklist diff.
New signals: nicklist_group_removing and nicklist_nick_removing.
New hsignals: nicklist_group_added, nicklist_nick_added, nicklist_group_removing,
nicklist_nick_removing, nicklist_group_changed, nicklist_nick_changed.
New option script.scripts.autoload, new options autoload/noautoload/toggleautoload
for command /script, new action "A" (meta-A) on script buffer (toggle autoload).
Unfortunately this breaks compatibility with existing guile scripts, but this
change is needed to keep consistency with other scripting languages.
Now guile >= 2.0 is required, WeeChat can not compile any more with guile 1.8.
The nick changes are tracked and will be unmasked with the join.
Events triggering the unmask of join are: a message (can be CTCP), a notice or
an update of topic.
This was causing a bug in relay plugin (weechat protocol): when a buffer was
closed, local variables were removed after buffer name, and when signal is sent
to client, the buffer name was wrong (already freed).
Fix:
- use proper arguments in commands sync/desync (use argv[0] instead of argv[1])
- when searching if a buffer is synchronized, its name has higher priority on "*"
(so first check if buffer is synchronized, and if not found, search if "*" is
synchronized)
- when receiving a "nicklist_*" signal, check if the buffer is synchronized with
flag "RELAY_WEECHAT_PROTOCOL_SYNC_NICKLIST"
Two hashtables have been added to store the spellers currently used (in all
buffers) and info for each buffer: array with pointers to spellers and state of
aspell for this buffer.
Therefore the spellers are not destroyed and created again on each buffer switch,
or each time screen is refreshed when window is split.
A size of 32 will use a little more memory but will reduce collisions in key
hashs, and then length of linked lists inside hash structure (faster search in
hashtable).
Error number and string is now displayed when an error is returned by one of
these functions: socket, setsockopt, fcntl, pipe, accept, bind, listen, mkfifo.
Argument "*" is now silently ignored in command /window.
When item "buffer_nicklist" is in a root bar, we use current window/buffer to
find which nick has been clicked (same behaviour as callback used to display bar
item "buffer_nicklist").
This can happen when a window becomes too small for display: then we set the
ncurses chat window to NULL.
So when displaying buffer, we'll skip it if the ncurses chat window is NULL.
Steps to reproduce crash:
1. /window splith
2. /window resize -1 (many times, until chat area is less than one line)
3. /window balance
The bug happened when two buffers have different number of dictionaries and start
with same dictionaries. For example buffer #1 with [en,fr] and buffer #2 with [en].
When switching from buffer #1 to buffer #2, aspell does not use only [en], but [en,fr].
This reverts commit 8b61a55764.
The local variable in buffers introduced new display bugs and would need
some extra code and optimizations to fix.
This will be reintroduced after the release of version 0.4.0.
With this option, the python plugin will be built and linked with Python 3
(if found, or Python 2 as fallback).
This option it not (yet) recommended, because many scripts are working only
with Python 2.x. It should be used only to tests scripts with Python 3.x
in WeeChat.
For a server called "znc" in WeeChat, following command will enable the
"server-time" capability:
/set irc.server.znc.capabilities "znc.in/server-time"
To fix this bug, a feature has been removed: the first message with a nick has
the prefix forced (to not display the value of weechat.look.prefix_same_nick on
top of screen), commit was: 04e98c3f29
This feature may be reintroduced in a future commit.
This commit fixes a problem with the script autoconnect.py: the script hooks
signal "irc_server_disconnected", and this signal was sent 2 times for each
server on /quit: one time when servers are disconnected, and one time when
servers are destroyed (because buffer is closed, and then server disconnected
again). The script forces save of irc.conf on each disconnection, so some
servers were lost in irc.conf, when some servers have already been destroyed.
STRING"WeeChat home directory for config, logs, scripts.. (default is \"~/.weechat\")"
FORCE)
MARK_AS_ADVANCED(CLEARWEECHAT_HOME)
# option CA_FILE
IF(NOTDEFINEDCA_FILEOR"${CA_FILE}"STREQUAL"")
SET(CA_FILE"/etc/ssl/certs/ca-certificates.crt")
ENDIF(NOTDEFINEDCA_FILEOR"${CA_FILE}"STREQUAL"")
SET(CA_FILE"${CA_FILE}"CACHE
STRING"File containing the certificate authorities (default is \"/etc/ssl/certs/ca-certificates.crt\"). This is the default value of option \"weechat.network.gnutls_ca_file\"."
AC_ARG_VAR(WEECHAT_HOME, [WeeChat home directory for config, logs, scripts.. (default is "~/.weechat")])
AC_ARG_VAR(CA_FILE, [File containing the certificate authorities (default is "/etc/ssl/certs/ca-certificates.crt"). This is the default value of option "weechat.network.gnutls_ca_file".])
$(ASCIIDOC) -a lang=de -a toc -a toclevels=4 -a date=`date "+%F"` -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -f $(abs_top_srcdir)/doc/asciidoc.conf -n -o weechat_user.de.html $(abs_top_srcdir)/doc/de/weechat_user.de.txt
$(ASCIIDOC) -a lang=de -a toc -a toclevels=3 -a date=`date "+%F"` -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -n -o weechat_scripting.de.html $(abs_top_srcdir)/doc/de/weechat_scripting.de.txt
$(ASCIIDOC) -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -f $(abs_top_srcdir)/doc/asciidoc.conf -n -o weechat_scripting.de.html $(abs_top_srcdir)/doc/de/weechat_scripting.de.txt
# FAQ
weechat_faq.de.html:weechat_faq.de.txt
$(ASCIIDOC) -a lang=de -a toc -a date=`date "+%F"` -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -f $(abs_top_srcdir)/doc/asciidoc.conf -n -o weechat_faq.de.html $(abs_top_srcdir)/doc/de/weechat_faq.de.txt
$(ASCIIDOC) -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -f $(abs_top_srcdir)/doc/asciidoc.conf -n -o weechat_faq.de.html $(abs_top_srcdir)/doc/de/weechat_faq.de.txt
$(ASCIIDOC) -a lang=de -a toc -a date=`date "+%F"` -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -n -o weechat_quickstart.de.html $(abs_top_srcdir)/doc/de/weechat_quickstart.de.txt
$(ASCIIDOC) -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -f $(abs_top_srcdir)/doc/asciidoc.conf -n -o weechat_quickstart.de.html $(abs_top_srcdir)/doc/de/weechat_quickstart.de.txt
# tester's guide
weechat_tester.de.html:weechat_tester.de.txt
$(ASCIIDOC) -a lang=de -a toc -a date=`date "+%F"` -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -n -o weechat_tester.de.html $(abs_top_srcdir)/doc/de/weechat_tester.de.txt
$(ASCIIDOC) -a revision="$(VERSION)" -a stylesheet=$(abs_top_srcdir)/doc/asciidoc.css -f $(abs_top_srcdir)/doc/asciidoc.conf -n -o weechat_tester.de.html $(abs_top_srcdir)/doc/de/weechat_tester.de.txt
| Erweiterung | Name | Beschreibung | Pointer | Argumente
| alias | alias | Liste der Alias | Alias Pointer (optional) | Alias Name (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
@@ -30,7 +30,7 @@
| ruby | ruby_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
| script | script_script | Liste der Skripten | Skript Pointer (optional) | script name with extension (can start or end with "*" as wildcard) (optional)
| script | script_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes, mit Dateierweiterung (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
| tcl | tcl_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
@@ -48,22 +48,26 @@
| weechat | history | Verlaufspeicher der Befehle | Buffer Pointer (falls nicht gesetzt, wird der globale Verlauf zurückgegeben) (optional) | -
| weechat | hook | Auflistung der Hooks | - | type,arguments (type ist ein command/timer/.., arguments dient dazu nur einige hooks abzufragen (darf mit einem "*" als Platzhalter beginnen oder enden), beide Optionen sind optional)
| weechat | hook | Auflistung der Hooks | Hook-Pointer (optional) | type,arguments (type ist ein command/timer/.., arguments dient dazu nur einige hooks abzufragen (darf mit einem "*" als Platzhalter beginnen oder enden), beide Optionen sind optional)
| weechat | hotlist | Liste der Buffer in Hotlist | - | -
| weechat | key | Auflistung der Tastenzuweisungen | - | Kontext ("default", "search", "cursor" oder "mouse") (optional)
| weechat | nicklist | Nicks in Nickliste für einen Buffer | Buffer Pointer | nick_xxx oder group_xxx um nur den Nick/Group xxx abzufragen (optional)
| weechat | option | Auflistung der Optionen | - | Name einer Option (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
| weechat | plugin | Auflistung der Erweiterungen | Pointer der Erweiterung (optional) | Name einer Erweiterung (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
| weechat | proxy | Liste der Proxys | Proxy Pointer (optional) | Name des Proxy (darf mit einem "*" als Platzhalter beginnen oder enden) (optional)
| 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")
| fifo | fifo_filename | Name der FIFO-Pipe | -
| irc | irc_buffer | holt Buffer Pointer für einen IRC Server/Channel/Nick | server,channel,nick (Channel und Nicks sind optional)
| weechat | locale | locale used for translating messages | -
| weechat | locale | Lokalisation welche für die übersetzten Nachrichten verwendet werden soll | -
| weechat | term_height | Höhe des Terminals | -
| weechat | term_width | Breite des Terminals | -
| weechat | version | WeeChat Version | -
| weechat | version_git | WeeChat Git Version (Ausgabe des Befehls "git describe", ausschließlich für eine Entwicklerversion. Eine stabile Version gibt keine Information zurück) | -
** Beschreibung: `Durch Kommata getrennte Liste der Befehle, für die eine Rechtschreibprüfung gelten soll (Rechtschreibprüfung ist für andere Befehle deaktiviert)`
** Beschreibung: `durch Kommata getrennte Liste der Befehle, für die eine Rechtschreibprüfung gelten soll (Rechtschreibprüfung ist für andere Befehle deaktiviert)`
** Beschreibung: `legt die Anzahl an Vorschlägen, für ein falsch geschriebenes Wort, fest. Die Vorschläge werden mittels der Bar-Item "aspell_suggest", für die jeweilige(n) Sprache(n), die für den Buffer augewählt wurden, angezeigt (-1 = deaktiviert die Funktion, 0 = zeigt alle verfügbaren Vorschläge, für alle ausgewählten Sprachen, an)`
** Beschreibung: `Farbe in der ein Wort mit einem Rechtschreibfehler hervorgehoben werden soll (Eingabezeile)`
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `lightred`)
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen (Standardwert: `lightred`)
** Beschreibung: `Textfarbe für die Vorschläge der Rechtsschreibkorrektur (Statusbar)`
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen (Standardwert: `default`)
** Beschreibung: `globaler Zeichensatz zum dekodieren`
** Beschreibung: `globale Zeichendekodierung: Zeichendekodierung die für eingehende Nachrichten genutzt werden soll (sollte keine Zeichendekodierung angegeben werden, wird UTF-8 verwendet, da WeeChat UTF-8 zur internen Dekodierung nutzt)`
** Beschreibung: `globaler Zeichensatz zum kodieren`
** Beschreibung: `globale Zeichenkodierung: Zeichenkodierung die für ausgehende Nachrichten genutzt werden soll (sollte keine Zeichenkodierung angegeben werden, wird UTF-8 verwendet, da WeeChat UTF-8 zur internen Kodierung nutzt)`
-current: führt einen Befehl aus der an alle Channels des aktuellen Servers gesendet wird
-exclude: dient zum Ausschluss ausgewählter Channels ('*' wird zu Beginn oder am Ende des Channel-Namens akzeptiert, um mehrere Channels auszuschließen)
command: Befehl der ausgeführt werden soll
arguments: Argumente des Befehls
arguments: Argumente für Befehl (Variablen die genutzt werden können: $nick, $channel und $server)
Beispiele:
Führe den Befehl '/me Ich teste gerade etwas...' für alle Channels aus:
@@ -23,52 +25,60 @@ 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::
server: Name des Servers (folgende Möglichkeiten bestehen):
- intern genutzter Servername, zu dem eine Verbindung aufgebaut werden soll (Der Server sollte zuerst mittels "/server add" angelegt werden)
- Hostname/Port oder IP/Port (damit wird lediglich ein TEMPORÄRER Server erstellt), Port 6667 wird standardmäßig verwendet
- URL mit folgendem Format: irc[6][s]://[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]
option: legt die Optionen für den Server fest (die Boolean-Optionen können weggelassen werden)
nooption: stellt die Boolean Option auf "off" (Beispiel: -nossl)
-all: Verbindung wird mit allen Servern hergestellt
-open: stellt eine Verbindung zu allen geöffneten Servern her, zu denen aktuell keine Verbindung besteht
option: legt Option für den Server fest (die Boolean-Optionen können weggelassen werden)
nooption: deaktiviert eine Boolean Option (Beispiel: -nossl)
-all: Verbindung wird zu den Servern hergestellt, für die eine Konfiguration vorhanden ist
-auto: Verbindung zu den Servern herstellen, für die die Option "autoconnect" aktiviert ist
-open: stellt eine Verbindung zu allen geöffneten Servern her, zu denen aktuell aber keine Verbindung besteht
-nojoin: Channel(s) werden nicht betreten (auch falls die Funktion "autojoin" aktiviert sein sollte)
-switch: wechselt zur nächsten Server-Adresse
Um eine Verbindung zum Server zu beenden bzw. um Verbindungsversuche zu stoppen, wird der Befehl /disconnect verwendet.
Beispiele:
/connect freenode
/connect irc.oftc.net/6667
@@ -77,30 +87,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 (die den anderen Usern im Channel angezeigt wird)
........................................
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>
@@ -112,61 +125,83 @@ 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
list: zeigt alle Ignorierungen an
add: fügt eine Ignorierung hinzu
nick: Nick oder Hostname (dies kann ein regulärer Ausdruck sein, sofern "re:" angegeben wird oder eine Maske mittels "*" genutzt wird um ein oder mehrere Zeichen zu ersetzen)
nick: Nick oder Hostname (dies kann ein erweiterter regulärer POSIX Ausdruck sein, sofern "re:" angegeben wird oder eine Maske mittels "*" genutzt wird um ein oder mehrere Zeichen zu ersetzen)
del: entfernt eine Ignorierung
number: Nummer der Ignorierung die entfernt werden soll (nutze "list" um den entsprechenden Eintrag zu finden)
-all: entfernt alle Einträge
@@ -182,100 +217,111 @@ 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::
regexp: regulärer Ausdruck der auf die Ausgabe angewendet werden soll (zwischen Groß- und Kleinschreibung wird nicht unterschieden. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss zu Beginn "(?-i)" genutzt werden)
regexp: erweiterter regulärer POSIX Ausdruck, der auf die Ausgabe angewendet werden soll (zwischen Groß- und Kleinschreibung wird nicht unterschieden. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss zu Beginn "(?-i)" genutzt werden)
Beispiele:
listet alle Channels des Servers auf (dies kann bei großen Netzwerken sehr lange dauern):
@@ -284,33 +330,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 dieses IRC-Netzwerks abfragen::
........................................
[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::
[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`* Erstellung einer Anfrage die eine Anzahl von Informationen zurück gibt.::
........................................
[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: Servername
nick: Nickname (oder eine Maske)
........................................
----
/whois [<server>] [<nick>[,<nick>...]]
server: Name des Servers (interner Servername)
nick: Nick, welcher abgefragt werden soll (kann auch eine Maske sein)
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
........................................
----
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.