1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-14 15:14:47 +02:00

Compare commits

...

203 Commits

Author SHA1 Message Date
Sebastien Helleu 18339e9608 Version 0.3.2 2010-04-18 10:16:19 +02:00
Sebastien Helleu 5bd729d6a0 Add missing file cmake/FindGcrypt.cmake in packages built by autotools 2010-04-18 09:55:45 +02:00
Sebastien Helleu 26041f4a1c Update polish translations and FAQ 2010-04-16 22:04:03 +02:00
Sebastien Helleu 9eaea6bc19 Update italian autogen files for doc 2010-04-15 11:39:57 +02:00
Sebastien Helleu fed65826b5 Update italian docs and translations 2010-04-15 11:24:51 +02:00
Sebastien Helleu 4456a6047f Remove unused variable 2010-04-14 19:25:59 +02:00
Sebastien Helleu 1dba2c8c92 Fix crash on /quit when scrolling in buffer and if first line displayed was from a plugin 2010-04-14 19:24:54 +02:00
Sebastien Helleu 42b9038919 Update spanish translations 2010-04-14 18:29:13 +02:00
Sebastien Helleu aeee1856eb Fix bug with perl script filename when multiplicity is disabled (bug #29530) 2010-04-13 00:02:07 +02:00
Sebastien Helleu acca17d142 Fix display of perl errors (use tab to force empty prefix on message) 2010-04-12 15:29:30 +02:00
Sebastien Helleu ea3588a8d7 Fix crash on /quit or unload of Perl plugin under FreeBSD and Cygwin (bug #29467) 2010-04-12 14:08:26 +02:00
Sebastien Helleu 339e42df76 Fix bug with writing of configuration files under Cygwin 2010-04-12 14:06:33 +02:00
Sebastien Helleu ea5fa86793 Update italian scripting guide 2010-04-11 20:10:40 +02:00
Sebastien Helleu ca76653a2c Update german translations 2010-04-11 14:32:38 +02:00
Sebastien Helleu 1df46609ce Add italian scripting guide 2010-04-11 13:17:03 +02:00
Jiri Golembiovsky b1fa81468e Updated czech translations 2010-04-10 21:58:58 +02:00
Sebastien Helleu 9c0eb33213 Version 0.3.2-rc1 2010-04-10 12:47:06 +02:00
Sebastien Helleu 030ac33005 Use tag "no_highlight" for CTCP replies 2010-04-10 12:39:56 +02:00
Sebastien Helleu c33f0e60ea Define WeeChat license as macro for C compiler, used in plugins to set license 2010-04-09 15:39:52 +02:00
Sebastien Helleu 31bfcf96c7 Reformat and add comments for description of C sources 2010-04-08 18:15:00 +02:00
Sebastien Helleu 9394a78e39 Fix typo in description of modifier "history_add" 2010-04-08 17:16:38 +02:00
Sebastien Helleu a6f37da576 Add buffer pointer as string in modifier_data for modifier "history_add" 2010-04-08 16:49:19 +02:00
Sebastien Helleu d52f051ec1 Add modifier "history_add" (text added to buffer or global history) 2010-04-08 15:27:47 +02:00
Sebastien Helleu 45c0cc7e7e Define list of default aliases as an array 2010-04-08 14:29:12 +02:00
Sebastien Helleu 3fc11807f9 Update italian doc and translations 2010-04-08 10:24:05 +02:00
Sebastien Helleu 2e82d65819 Fix comment in wee-config-file.c 2010-04-06 14:11:35 +02:00
Sebastien Helleu fab6ac61ee Use tag "no_highlight" for backlog lines printed by logger plugin 2010-04-05 22:41:15 +02:00
Sebastien Helleu 9399c9f9cb Add missing properties "highlight_words_add" and "highlight_words_del" in array gui_buffer_properties_set 2010-04-05 13:45:59 +02:00
Sebastien Helleu 9017a23013 Add option "-open" for IRC command /connect 2010-04-05 13:03:11 +02:00
Sebastien Helleu a6e819f790 Update german translations 2010-04-04 12:31:56 +02:00
Sebastien Helleu 2a37b44ae1 Reformat NEWS file with style of ChangeLog 2010-04-04 12:19:03 +02:00
Sebastien Helleu eccb4703cf Add note about upgrading to version 0.3.2 in NEWS file 2010-04-03 19:50:24 +02:00
Sebastien Helleu 09939a1b4b Fix display of empty nicklist in IRC private buffers 2010-04-03 19:49:36 +02:00
Sebastien Helleu 19d74e18a5 Add highlight word "$nick" instead of real nick in IRC and xfer plugins 2010-04-03 19:11:55 +02:00
Sebastien Helleu 96f49f39e0 Add or remove highlight words in a buffer with "highlight_words_add" and "highlight_words_del" (for buffer_set) 2010-04-03 19:11:02 +02:00
Sebastien Helleu 187381f1d1 Allow buffer local variables in highlight words (option "weechat.look.highlight" and buffer property "highlight_words")
For example "$nick" with highlight a message printed if it contains content of local variable "nick" for buffer.
2010-04-03 17:25:13 +02:00
Sebastien Helleu 915d4801f6 Change buffer properties only when buffer is created by IRC plugin (channels and raw buffer), do not change them after /upgrade 2010-04-03 16:52:37 +02:00
Sebastien Helleu df0d408ce9 Add option "get" for command /buffer, add completions with buffer properties 2010-04-03 16:05:39 +02:00
Sebastien Helleu 1c80407f0f Fix help of option weechat.plugin.autoload 2010-03-31 23:40:59 +02:00
Sebastien Helleu 848cce2c8a Improve plugins autoload (option weechat.plugin.autoload): allow to use "*" as joker and "!" to prevent a plugin from being autoloaded (task #6361)
Some examples for option weechat.plugin.autoload:
- load all plugins (default): "*"
- load only alias, charset, irc and logger: "alias,charset,irc,logger"
- load all plugins but not lua and tcl: "*,!lua,!tcl"
- load all plugins but not perl and python: "*,!p*" (not recommended because new future plugins may begin with "p")
- do not load any plugin (weechat core alone is not really useful eheh): "!*"
2010-03-31 22:39:09 +02:00
Sebastien Helleu 253ff07009 Add missing variables in debug dump 2010-03-30 11:00:42 +02:00
Sebastien Helleu 12afdb29c4 Fix bug with IRC nicks on reconnection: try all nicks in list, even if nick used was not the first in list of nicks 2010-03-30 10:40:01 +02:00
Sebastien Helleu 5ff1742c86 Fix display of message 333 (channel topic) when there is no host but only nick 2010-03-29 22:50:56 +02:00
Sebastien Helleu 4981e7150a Update german translations 2010-03-29 22:39:10 +02:00
Sebastien Helleu 35944a4219 Fix IRC command /list: send channel and server name given as argument, and use separate option "-re" to allow a regex 2010-03-29 18:37:08 +02:00
Sebastien Helleu b6bb001fc4 Free some extra memory when exiting WeeChat 2010-03-29 17:56:23 +02:00
Sebastien Helleu 56526db5cf Fix infinite loop with /layout apply and bug when applying layout, sometimes many /layout apply were needed (bug #26110) 2010-03-29 16:30:23 +02:00
Sebastien Helleu 88853df080 Fix check of IRC ignore when channel is specified in ignore (problem with PRIVMSG queries) 2010-03-29 12:25:28 +02:00
Sebastien Helleu 485e884751 Add new option irc.look.part_closes_buffer to close buffer when /part is issued on channel (task #10295) 2010-03-26 20:02:17 +01:00
Sebastien Helleu 2bbc228381 Fix compilation of irc plugin with old gcc (remove #ifdef inside call of macro)
Compilation failed with gcc 3.2.3.
2010-03-26 19:29:37 +01:00
Sebastien Helleu b9e65ec63d Fix bug with writing of configuration files when disk is full (bug #29331) 2010-03-26 19:01:25 +01:00
Sebastien Helleu 24135801b4 Backport changes in english plugin API reference into italian version 2010-03-26 10:40:37 +01:00
Sebastien Helleu 483b63f360 Add signals "nicklist_{group|nick}_{added|removed}", remove signal "nicklist_changed"
Data for new signals is a string with format: "buffer,name", where:
- buffer is a pointer, for example 0x123456
- name is group or nick name added/removed from nicklist on this buffer.
2010-03-25 17:02:37 +01:00
Sebastien Helleu ac27388543 Display cmake warning if libncursesw is not found 2010-03-25 16:03:38 +01:00
Sebastien Helleu e59bbbb40a Add "irc_is_nick" for function info_get to check if a string is a valid IRC nick name (patch #7133) 2010-03-25 10:39:07 +01:00
Sebastien Helleu 96e6ae3fc3 Add new options for command /key (listdefault, listdiff and reset), add examples in /help key
Note: old option "reset" for /key has been renamed to "resetall".
2010-03-24 19:54:31 +01:00
Sebastien Helleu b932f403a5 Fix crash on /upgrade if there are some nicks in a nicklist without prefix or prefix_color defined 2010-03-24 10:14:10 +01:00
Sebastien Helleu 3e2943a0e0 Fix bug with nicklist prefix in log file 2010-03-24 10:03:57 +01:00
Sebastien Helleu b491cc3479 Fix bug with callbacks when loading a script already loaded 2010-03-24 00:04:00 +01:00
Sebastien Helleu f1a946054e Add italian translation of Plugin API Reference 2010-03-23 18:05:07 +01:00
Sebastien Helleu 8cfabb4696 Add examples in /help dcc, update german translations 2010-03-23 16:26:36 +01:00
Sebastien Helleu a0f442a84e Fix alignment of keys in output of /key when some keys contain wide chars 2010-03-23 13:41:23 +01:00
Sebastien Helleu 03d01f4234 Remove WeeChat slogan 2010-03-23 10:23:26 +01:00
Sebastien Helleu 2bad57ae28 Add note about /unalias in /help alias 2010-03-23 09:58:07 +01:00
Sebastien Helleu 918383424f Reformat examples in help of some commands 2010-03-23 09:42:37 +01:00
Sebastien Helleu 855993d14d Fix typos in /help window and /help logger 2010-03-22 21:00:58 +01:00
Sebastien Helleu a10b9038d5 Add list of tags in /help filter 2010-03-22 20:26:24 +01:00
Sebastien Helleu c1c1005b36 Add new option weechat.color.nicklist_offline 2010-03-22 11:08:17 +01:00
Sebastien Helleu da4438b995 Remove obsolete option weechat.color.nicklist_more 2010-03-22 10:49:11 +01:00
Sebastien Helleu 1c5ef4d1e3 Remove IRC commands /forcejoin and /omode (now possible with alias and custom completion)
It is now possible to add such commands with aliases:

  /alias -completion %%sajoin forcejoin /quote forcejoin
  /alias -completion %%samode omode /quote omode
2010-03-21 18:41:35 +01:00
Sebastien Helleu 8f9f1f8e97 Fix typo in /help alias 2010-03-21 18:35:44 +01:00
Sebastien Helleu b40ea94a49 Add custom completion for aliases (task #9479) 2010-03-21 18:30:51 +01:00
Sebastien Helleu 7d65014efd Add missing refresh of bar item "buffer_number" when a buffer is closed 2010-03-21 16:24:59 +01:00
Sebastien Helleu 032a5ddef5 Add new signals "irc_raw_in" and "irc_raw_in2" (sent for all IRC messages, even if ignored with /ignore) 2010-03-21 13:06:33 +01:00
Sebastien Helleu c0d050f7cc Update german translations 2010-03-21 10:14:05 +01:00
Sebastien Helleu 29fad11df5 Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/weechat 2010-03-21 10:00:56 +01:00
Sebastien Helleu 6f84e00ee7 Use buffer local variable "nick" for default item "input_prompt" 2010-03-21 10:00:47 +01:00
Jiri Golembiovsky 6b4aaef396 Updated czech translation 2010-03-21 01:11:25 +01:00
Sebastien Helleu 5755bd50ac Add IRC commands /omode and /forcejoin (patch #7126) 2010-03-20 23:42:21 +01:00
Sebastien Helleu 7925b2d242 Refresh screen when exiting WeeChat (to display messages printed after /quit) 2010-03-20 17:09:07 +01:00
Sebastien Helleu 9d96090d7d Add functions string_match, string_has_highlight and string_mask_to_regex in script plugin API 2010-03-20 13:32:08 +01:00
Sebastien Helleu 2801b8437c Reformat multi-line comments 2010-03-19 23:33:14 +01:00
Sebastien Helleu bc3fa9fd4c Move /away command from irc plugin to core 2010-03-19 19:28:19 +01:00
Sebastien Helleu 568d913c58 Fix bugs with function hook_command_run
A '/' is always sent at beginning of command to callback, even if user used
another command char.
Now it is possible to catch a command, with or without arguments, with
hook_command_run("/command").
2010-03-19 19:25:59 +01:00
Sebastien Helleu 645d38d403 Fix bugs with xfer buffer after /upgrade 2010-03-17 16:19:57 +01:00
Sebastien Helleu 4fd23e12dc Do not send signals "irc_in" and "irc_in2" when IRC messages are ignored 2010-03-17 16:03:51 +01:00
Sebastien Helleu feb51fbca4 Fix display of host in IRC message 333 (channel topic) 2010-03-14 16:48:15 +01:00
Sebastien Helleu 7ef5a97a08 Update italian user guide 2010-03-14 11:33:03 +01:00
Jiri Golembiovsky ab9d1480f6 Updated czech translation 2010-03-13 20:51:59 +01:00
Sebastien Helleu 0a66ad0e0f Fix typo: crashs -> crashes 2010-03-13 20:02:29 +01:00
Sebastien Helleu 5233ceed44 Add chapter "Report crashs" in user guide 2010-03-13 14:22:24 +01:00
Sebastien Helleu 86b1ab20b5 Display IRC command 324 (channel modes) on server buffer if channel is not open 2010-03-11 10:23:34 +01:00
Sebastien Helleu 7ec6092ba9 Update german and italian FAQ 2010-03-10 10:06:20 +01:00
Sebastien Helleu 23a0c0d610 Add missing initialization of variable in function irc_sasl_mechanism_plain 2010-03-09 17:06:58 +01:00
Sebastien Helleu 7ef2f312ff Update german FAQ 2010-03-09 16:54:24 +01:00
Sebastien Helleu 9dd45664fd Add questions in FAQ about voice filtering and check of away nicks 2010-03-09 12:04:52 +01:00
Sebastien Helleu 8f4240dbf7 Add more sections in FAQ 2010-03-08 18:21:07 +01:00
Sebastien Helleu bab29e028d Fix color of away nicks in nicklist when doing /names (nick color was reset to default color) 2010-03-08 15:14:31 +01:00
Sebastien Helleu 58d423319c Return absolute path for info_get of "weechat_dir" (bug #27936) 2010-03-08 11:21:03 +01:00
Sebastien Helleu 682f5addc0 Add chapter with common tasks in scripting guide 2010-03-07 22:23:44 +01:00
Sebastien Helleu eb5e54602e Fix extraction and check of IRC prefix 2010-03-07 21:49:07 +01:00
Sebastien Helleu da50ac329a Bug with IRC prefix "!" for mode "a" (channel admin) (bug #29109) 2010-03-07 21:22:23 +01:00
Jiri Golembiovsky 788df1089b Updated czech translations 2010-03-06 00:21:19 +01:00
Sebastien Helleu 401ddff564 Fix display in bars with filling horizontal 2010-03-04 15:28:16 +01:00
Sebastien Helleu 16e62bdc60 Fix display in bars with filling set to columns_vertical or columns_horizontal 2010-03-04 14:12:36 +01:00
Sebastien Helleu fa60269325 Hide read marker if all lines after marker are filtered (only if option read_marker_always_show is off) 2010-03-04 13:06:57 +01:00
Sebastien Helleu 1db7ef859c Update german translations 2010-03-04 11:06:37 +01:00
Sebastien Helleu 6ad62e4021 Fix bugs with cursor and background in bars
Bugs fixed:
- cursor was moving to position (0,0) in bar when refreshing input bar content
- background color stopped before end of line in bars with vertical filling
  (like buffers)
- cursor was not displayed when input bar has automatic size and that first line
  is filled (on some terminals like konsole or roxterm)
2010-03-04 11:05:05 +01:00
Sebastien Helleu ca51a9780f Update user guide 2010-03-04 11:02:23 +01:00
Sebastien Helleu 3e47e9c3e3 Set option weechat.look.read_marker_always_show to off by default 2010-03-03 22:24:38 +01:00
Sebastien Helleu 4faa3c772b Add new option weechat.look.read_marker_always_show 2010-03-03 22:19:51 +01:00
Sebastien Helleu d1950311cf Free IRC raw messages when irc plugin is unloaded 2010-03-03 20:43:41 +01:00
Sebastien Helleu 92bc700349 Fix completion bug for commands when input starts with two command chars (like //) 2010-03-03 18:42:12 +01:00
Sebastien Helleu a852d3af4b Fix bug with /away -all in IRC plugin: set or unset future away for disconnected servers (bug #29022) 2010-03-02 17:55:41 +01:00
Sebastien Helleu 0543b0ccc7 Add new option weechat.look.command_chars, add functions string_is_command_char and string_input_for_buffer in plugin and script API 2010-03-02 17:34:49 +01:00
Sebastien Helleu 282f786c1a Fix crash in Perl plugin when callbacks are called during script initialization (bug #29018) 2010-02-27 09:58:24 +01:00
Sebastien Helleu 62aff3f1c6 Add command line option "--no-script" in user guide 2010-02-26 11:57:55 +01:00
Sebastien Helleu 873bcfc9f0 Add command line option "-s" (or "--no-script") to start WeeChat without loading any script 2010-02-26 11:36:41 +01:00
Sebastien Helleu eabf21098d Fix display of color in input when it is scrolled 2010-02-24 22:54:07 +01:00
Sebastien Helleu 5868fc3c6d Fix bug with cursor when position is last char of terminal 2010-02-24 17:40:07 +01:00
Sebastien Helleu dfa43ea1a7 Add link for curses color names in user guide 2010-02-23 18:02:00 +01:00
Sebastien Helleu 7cc735c7f9 Add WeeChat color name beside IRC color in user guide 2010-02-23 17:19:50 +01:00
Sebastien Helleu 3d3dc1593d Allow script commands to reload only one script 2010-02-23 10:51:59 +01:00
Sebastien Helleu 27bf347e1c Update italian FAQ 2010-02-22 14:38:00 +01:00
Sebastien Helleu 2fc187743c Update italian user guide 2010-02-22 09:39:58 +01:00
Sebastien Helleu 08b17c2f26 Fix cursor color in input bar 2010-02-21 23:26:33 +01:00
Sebastien Helleu 42972ce00a Update german FAQ 2010-02-21 11:29:49 +01:00
Sebastien Helleu 8c324c238d Fix bug with bar background after text with background color (bug #28157) 2010-02-21 10:08:48 +01:00
Sebastien Helleu 6e1e8e9ed8 Add question about meta keys in FAQ 2010-02-20 21:23:09 +01:00
Sebastien Helleu 94764208e4 Allow input "q" to close IRC raw buffer 2010-02-20 16:54:58 +01:00
Sebastien Helleu b523613e73 Fix translated string in output of "/uptime -o" 2010-02-20 13:23:27 +01:00
Sebastien Helleu 35157bc2f1 Minor updates in FAQ and user guide 2010-02-20 12:17:30 +01:00
Sebastien Helleu cd5b8c8f9e Add parentheses around exponents in user guide and plugin API reference 2010-02-20 09:50:38 +01:00
Sebastien Helleu f4849bc625 Remove connection timer when closing connection with IRC server 2010-02-20 09:28:10 +01:00
Sebastien Helleu 555f1827e3 Add list of packages (required or optional) to build WeeChat in user guide 2010-02-19 17:38:06 +01:00
Sebastien Helleu cdf990fced Add option irc.network.connection_timeout (timeout between TCP connection to server and reception of message 001) 2010-02-19 16:21:36 +01:00
Sebastien Helleu 090bd68e7c Fix "inactivity" value when no key has been pressed since WeeChat started (bug #28930) 2010-02-19 10:23:34 +01:00
Sebastien Helleu 3cf7b4e696 Update german translations 2010-02-19 07:57:08 +01:00
Sebastien Helleu d2ec8d133d Add mechanism DH-BLOWFISH for SASL authentication with IRC server 2010-02-18 22:02:55 +01:00
Sebastien Helleu 832a4c1466 Fix function "color" in Lua script API (patch from Christian Heinz) 2010-02-18 07:58:03 +01:00
Sebastien Helleu b1e840eb6c Add missing file docgen.pl in Makefile.am 2010-02-16 17:09:50 +01:00
Sebastien Helleu 1ad5f123b5 Add IRC commands 905 to 907 (for SASL) 2010-02-16 17:00:12 +01:00
Sebastien Helleu ce1b23311c Add function "string_decode_base64" in plugin API 2010-02-16 16:57:22 +01:00
Sebastien Helleu 341551f2f2 Add SASL authentication in IRC plugin (task #8829), add function "string_encode_base64" in plugin API, fix bug with base64 encoding
New options for IRC servers:
- sasl_mechanism (only "plain" for now)
- sasl_username
- sasl_password
2010-02-15 11:51:44 +01:00
Sebastien Helleu 34272b7e4d Fix color of word "Notice" when sending IRC notice 2010-02-13 12:05:02 +01:00
Sebastien Helleu 922e67cabd Add description of arguments for API functions hook_info and hook_infolist 2010-02-12 17:15:30 +01:00
Sebastien Helleu 8d25a75200 Use arguments for infolist "nicklist" to return only one nick or group
Format is: nick_xxx or group_xxx to return only nick/group called "xxx".
2010-02-12 12:50:16 +01:00
Sebastien Helleu 8cea059feb Add IRC message 301 in user guide, for target buffer of messages 2010-02-11 17:17:56 +01:00
Sebastien Helleu f19000ac4f Allow IRC message 301 to be redirected with irc.msgbuffer feature 2010-02-11 17:07:56 +01:00
Sebastien Helleu be8831499d Add missing IRC commands 276, 343 2010-02-11 10:12:25 +01:00
Sebastien Helleu 2e72679363 Fix nick color in quit message displayed in IRC private buffer (when remote nick did not speak) 2010-02-10 22:12:23 +01:00
Sebastien Helleu 124634cf88 Apply IRC smart filter only on channels, not private buffers (bug #28841) 2010-02-10 16:22:34 +01:00
Sebastien Helleu 4b6bd6a923 Update german and polish translations 2010-02-10 11:32:59 +01:00
Sebastien Helleu 94a0551c55 Update ChangeLog 2010-02-10 11:24:28 +01:00
Sebastien Helleu 3799d2c2a5 Add "version_number" for API function weechat_info_get to get WeeChat version as number 2010-02-10 11:21:25 +01:00
Sebastien Helleu f6868c40af Fix example of weechat_info_get in plugin API reference 2010-02-10 08:01:21 +01:00
Sebastien Helleu 5b71c03c4f Add option for command /docgen to build some locales only 2010-02-09 22:28:25 +01:00
Sebastien Helleu 5bfb2929e6 Add missing argument for weechat_hook_completion in plugin API reference 2010-02-09 18:01:57 +01:00
Sebastien Helleu 7850668327 Add new option weechat.look.time_format to customize default format for date/time displayed (localized date by default), add function weechat_util_get_time_string in plugin API (patch #6914) 2010-02-09 17:19:14 +01:00
Sebastien Helleu daee18621e Rename command /silence to /mute 2010-02-09 13:21:05 +01:00
Sebastien Helleu 71d77a5890 Add new command /silence 2010-02-09 12:40:19 +01:00
Sebastien Helleu 74d148d056 Display nick prefix in input_prompt only if channel is type "channel" (not private) 2010-02-06 12:21:52 +01:00
Sebastien Helleu df1a6b0c3d Fix bug with option irc.look.item_nick_prefix 2010-02-06 12:17:13 +01:00
Sebastien Helleu bd1b6c1794 Add option irc.look.item_nick_prefix, rename some IRC options for bar items 2010-02-06 12:14:45 +01:00
Sebastien Helleu fa8ff80fc1 Update example of messages in irc-protocol.c 2010-02-06 10:55:22 +01:00
Sebastien Helleu a3658f4fc2 Fix IRC PART message received on Undernet server (bug #28825) 2010-02-05 23:53:20 +01:00
Sebastien Helleu 40401f88da Add signal "xfer_ended" in plugin API reference 2010-02-04 22:12:23 +01:00
Sebastien Helleu e6a99fb63a Add bar item "irc_channel" (IRC channel name without modes) 2010-02-03 23:46:11 +01:00
Sebastien Helleu 1d00db2d14 Add anti-flood for many IRC commands/messages 2010-02-03 23:29:44 +01:00
Sebastien Helleu 3d4c76cecc Fix typo in user guide 2010-02-03 20:49:30 +01:00
Sebastien Helleu 8109368f7c Add option "switch_active_buffer_previous" for command /input (task #10141) 2010-02-02 16:35:44 +01:00
Sebastien Helleu 69b53c8f3d Add IRC command /map 2010-02-02 15:39:04 +01:00
Sebastien Helleu fbc1c2a9b1 Add tip about addresses and another example in /help server 2010-02-02 15:25:03 +01:00
Sebastien Helleu 8862f19788 Add signal "xfer_ended" (patch #7081) 2010-02-02 14:28:05 +01:00
Sebastien Helleu 5aa82a85e3 Add option irc.look.display_channel_modes_hide_key to hide channel key in channel modes (bug #23961) 2010-02-02 13:56:35 +01:00
Sebastien Helleu 94ddf61d20 Add missing option "switch_active_buffer" in /help input and completion of command /input 2010-02-02 13:02:51 +01:00
Sebastien Helleu 8663d10063 Fix python example of hook_signal in plugin API reference 2010-02-01 22:53:41 +01:00
Sebastien Helleu f33eaee78f Update gettext commands to produce same output as autotools, display statistics for po files 2010-02-01 22:12:50 +01:00
Sebastien Helleu c4467469cc Add version 0.3.1.1 to ChangeLog 2010-01-31 22:20:20 +01:00
Sebastien Helleu 2d99d6e7ea Fix crash when purging old xfer chats (bug #28764) 2010-01-29 16:18:12 +01:00
Sebastien Helleu 930285e489 Fix crash with SSL connection to IRC server if option ssl_cert is set (bug #28752) 2010-01-29 12:41:05 +01:00
Sebastien Helleu e23aed51a1 Display own buffer lines in weechat log when dumping buffer (and not mixed lines) 2010-01-29 10:01:41 +01:00
Sebastien Helleu 2899770bbe Update ChangeLog 2010-01-29 07:59:16 +01:00
Emmanuel Bouthenot 2f176dc347 Fix a build failure with: 1.7.6 < gnutls <= 2.4.6 2010-01-29 00:21:02 +01:00
Emmanuel Bouthenot c8920da899 Fix a build failure with gnutls < 1.7.6 2010-01-28 23:18:20 +01:00
Sebastien Helleu 8c042210a8 Fix bug with global history, reset pointer to last entry after each user input (bug #28754) 2010-01-28 15:12:40 +01:00
Sebastien Helleu 16a02cddaf Add missing includes in FindIconv.cmake (patch #7069) 2010-01-28 12:26:39 +01:00
Sebastien Helleu 10a3954908 Fix alignment in buffers lines when time is empty string 2010-01-28 10:15:48 +01:00
Sebastien Helleu aad84612a9 Remove unneeded space after time on each line if option weechat.look.buffer_time_format is set to empty value (bug #28751) 2010-01-28 10:09:58 +01:00
Sebastien Helleu b868eaee2a Update italian translations 2010-01-27 18:34:04 +01:00
Sebastien Helleu dfa0500b12 Update german translations 2010-01-26 23:12:44 +01:00
Sebastien Helleu fb9268c01d Fix bug with SSL connection to IRC server (fails sometimes when ssl_verify is on) (bug #28741) 2010-01-26 22:19:16 +01:00
Sebastien Helleu fcd296d7f2 Update italian user guide and FAQ 2010-01-26 18:17:09 +01:00
Sebastien Helleu 754cf874bc Send signal "day_changed" even if option weechat.look.day_change is set to off 2010-01-26 18:07:13 +01:00
Sebastien Helleu ac19ec05be Update german FAQ 2010-01-26 17:23:03 +01:00
Sebastien Helleu 99bfdfd2ff Add signal "day_changed", allow date format in logger options path and mask (task #9430) 2010-01-26 16:36:55 +01:00
Sebastien Helleu aa41942ac1 Add new question in FAQ: "How can I tweak WeeChat to consume less memory?" 2010-01-25 18:06:32 +01:00
Sebastien Helleu f4d5ddd858 Add missing infos in API functions buffer_get_integer / buffer_get_string and in buffer infolist 2010-01-25 16:57:24 +01:00
Sebastien Helleu 2e48becbfc Update doc 2010-01-25 16:56:52 +01:00
Sebastien Helleu b4e0e17917 Add chapters about SSL certificates and IRC smart filter in user guide 2010-01-24 16:07:30 +01:00
Sebastien Helleu c02d70b7ba Add options irc.look.smart_filter_join/quit, smart filter enabled by default 2010-01-24 13:13:40 +01:00
Sebastien Helleu eb56a98fc8 Remove evil tabs in sources 2010-01-24 10:47:53 +01:00
Sebastien Helleu 309e8eadab Version 0.3.2-dev 2010-01-23 12:20:06 +01:00
287 changed files with 31115 additions and 10245 deletions
+3 -1
View File
@@ -28,8 +28,9 @@ ENDIF(PREFIX)
SET(VERSION_MAJOR "0")
SET(VERSION_MINOR "3")
SET(VERSION_PATCH "1")
SET(VERSION_PATCH "2")
SET(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
SET(LICENSE "GPL3")
SET(PKG_STRING "${PROJECT_NAME} ${VERSION}")
STRING(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
@@ -56,6 +57,7 @@ ENDIF(DEFINED INCLUDEDIR)
OPTION(DISABLE_NCURSES "Disable Ncurses interface")
OPTION(ENABLE_GTK "Enable GTK interface")
OPTION(DISABLE_NLS "Disable Native Language Support")
OPTION(DISABLE_GCRYPT "Disable libgcrypt support")
OPTION(DISABLE_GNUTLS "Disable SSLv3/TLS connection support")
OPTION(DISABLE_LARGEFILE "Disable Large File Support")
OPTION(DISABLE_ALIAS "Disable Alias plugin")
+100 -3
View File
@@ -1,9 +1,106 @@
WeeChat ChangeLog
=================
FlashCode <flashcode@flashtux.org>
v0.3.1, 2010-01-23
v0.3.2, 2010-04-18
Version 0.3.2 (2010-04-18)
--------------------------
* core: add new options for command /key: listdefault, listdiff and reset
* core: add new command /mute
* core: add command line option "-s" (or "--no-script") to start WeeChat
without loading any script
* core: improve plugins autoload (option weechat.plugin.autoload): allow to
use "*" as joker and "!" to prevent a plugin from being autoloaded
(task #6361)
* core: remove unneeded space after time on each line if option
weechat.look.buffer_time_format is set to empty value (bug #28751)
* core: add option "switch_active_buffer_previous" for command /input
(task #10141)
* core: add new option weechat.look.time_format to customize default format
for date/time displayed (localized date by default), add function
weechat_util_get_time_string in plugin API (patch #6914)
* core: add new option weechat.look.command_chars, add functions
string_is_command_char and string_input_for_buffer in plugin and script API
* core: add new option weechat.look.read_marker_always_show
* core: use arguments for infolist "nicklist" to return only one nick or group
* core: fix bug with writing of configuration files when disk is full
(bug #29331)
* core: fix infinite loop with /layout apply and bug when applying layout,
sometimes many /layout apply were needed (bug #26110)
* gui: refresh screen when exiting WeeChat (to display messages printed after
/quit)
* gui: fix bug with global history, reset pointer to last entry after each user
input (bug #28754)
* gui: fix bug with bar background after text with background color (bug #28157)
* gui: fix bug with cursor when position is last char of terminal
* api: add "version_number" for function info_get to get WeeChat version as
number
* api: add "irc_is_nick" for function info_get to check if a string is a valid
IRC nick name (patch #7133)
* api: add functions "string_encode_base64" and "string_decode_base64", fix
bug with base64 encoding
* api: add functions "string_match", "string_has_highlight" and
"string_mask_to_regex" in script plugin API
* api: add missing infos in functions buffer_get_integer / buffer_get_string
and in buffer infolist
* api: add description of arguments for functions hook_info and hook_infolist
* api: add signals "day_changed", "nicklist_group_added/removed",
"nicklist_nick_added/removed"
* api: fix function "color" in Lua script API
* api: fix "inactivity" value when no key has been pressed since WeeChat started
(bug #28930)
* api: return absolute path for info_get of "weechat_dir" (bug #27936)
* alias: add custom completion for aliases (task #9479)
* scripts: allow script commands to reload only one script
* scripts: fix bug with callbacks when loading a script already loaded
* perl: fix crash when callbacks are called during script initialization
(bug #29018)
* perl: fix crash on /quit or unload of plugin under FreeBSD and Cygwin
(bug #29467)
* perl: fix bug with script filename when multiplicity is disabled (bug #29530)
* irc: add SASL authentication, with PLAIN and DH-BLOWFISH mechanisms
(task #8829)
* irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
* irc: fix bug with SSL connection (fails sometimes when ssl_verify is on)
(bug #28741)
* irc: add new option irc.look.part_closes_buffer to close buffer when /part
is issued on channel (task #10295)
* irc: fix bug with nicks on reconnection: try all nicks in list, even if nick
used was not the first in list of nicks
* irc: fix command /list: send channel and server name given as argument, and
use separate option "-re" to allow a regex
* irc: fix PART message received on Undernet server (bug #28825)
* irc: fix bug with /away -all: set or unset future away for disconnected
servers (bug #29022)
* irc: bug with prefix "!" for mode "a" (channel admin) (bug #29109)
* irc: do not send signals "irc_in" and "irc_in2" when messages are ignored,
add new signals "irc_raw_in" and "irc_raw_in2"
* irc: add option "-open" for command /connect
* irc: add option irc.network.connection_timeout (timeout between TCP connection
to server and reception of message 001)
* irc: add options irc.look.smart_filter_join and irc.look.smart_filter_quit
* irc: apply smart filter only on channels, not private buffers (bug #28841)
* irc: add option irc.look.item_channel_modes_hide_key to hide channel key
in channel modes (bug #23961)
* irc: add option irc.look.item_nick_prefix
* irc: add command /map
* irc: add missing commands 276, 343
* irc: fix compilation with old GnuTLS versions (bug #28723)
* logger: allow date format in logger options path and mask (task #9430)
* xfer: fix crash when purging old xfer chats (bug #28764)
* xfer: add signal "xfer_ended" (patch #7081)
Version 0.3.1.1 (2010-01-31)
----------------------------
* irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
* irc: fix bug with SSL connection (fails sometimes when ssl_verify is on)
(bug #28741)
* irc: fix compilation with old GnuTLS versions (bug #28723)
* xfer: fix crash when purging old xfer chats (bug #28764)
Version 0.3.1 (2010-01-23)
--------------------------
@@ -369,7 +466,7 @@ Version 0.2.1 (2006-10-01)
* values yes/no accepted (as on/off) for config boolean values (task #5454)
* add server default notify level (set by /buffer notify on server buffer)
(task #5634)
* fix crashs with /buffer and /charset commands when not connected to any
* fix crashes with /buffer and /charset commands when not connected to any
server (bug #17525)
* add special vars $nick/$channel/$server for server_command, alias and plugin
command handlers
@@ -577,7 +674,7 @@ Version 0.1.6 (2005-11-11)
* add colors for input buffer and current channel of status bar
* add online help for config options (with /set full_option_name)
* enhanced "smart" hotlist, with names (new options:
look_hotlist_names_{count|level|length})
look_hotlist_names_{count|level|length})
Version 0.1.5 (2005-09-24)
--------------------------
+1 -1
View File
@@ -27,7 +27,7 @@ make install (as root for installation in system directories)
----------------------------------------------------------------------
If you want to report bugs/crashs to developers, please:
If you want to report bugs/crashes to developers, please:
- compile with debug info (type "Debug" for cmake build, default for autotools),
- enable core files (for bash shell, add "ulimit -c unlimited" to your ~/.bashrc).
+1
View File
@@ -26,6 +26,7 @@ EXTRA_DIST = CMakeLists.txt \
cmake/cmake_uninstall.cmake.in \
cmake/FindAsciidoc.cmake \
cmake/FindAspell.cmake \
cmake/FindGcrypt.cmake \
cmake/FindGettext.cmake \
cmake/FindGnuTLS.cmake \
cmake/FindIconv.cmake \
+215 -156
View File
@@ -1,189 +1,248 @@
WeeChat News
============
FlashCode <flashcode@flashtux.org>
v0.3.2, 2010-04-18
FlashCode, 2010-01-23::
WeeChat 0.3.1 released.
+
IRC commands /ame and /amsg are now aliases, if you are upgrading from
version 0.3.0, you must create aliases with following commands:
* `/alias aaway allserv /away`
* `/alias ame allchan /me`
* `/alias amsg allchan /amsg *`
* `/alias anick allserv /nick`
FlashCode, 2009-09-06::
WeeChat 0.3.0 released.
+
This version brings major changes, especially for configuration files
and plugin API.
+
For more information about this version, please read file UPGRADE_0.3.
Version 0.3.2 (2010-04-18)
--------------------------
FlashCode, 2009-06-13::
WeeChat 0.2.6.3 released.
+
This version fixes gnutls detection.
If you are using `/upgrade` from a previous release, then you must execute this
command on all IRC servers/channels/private buffers and xfer DCC chats (not
needed on WeeChat core buffer or buffers from other plugins/scripts): +
`/buffer set highlight_words $nick`
FlashCode, 2009-04-18::
WeeChat 0.2.6.2 released.
+
This version fixes a bug with charset decoding (like iso2022jp).
Version 0.3.1.1 (2010-01-31)
----------------------------
FlashCode, 2009-03-14::
WeeChat 0.2.6.1 released.
+
This version fixes a major bug: crash with some special chars in IRC
messages.
This version fixes crashs with SSL connection and purge of old DCC chats.
FlashCode, 2007-09-06::
WeeChat 0.2.6 released.
All users of version 0.2.2 should upgrade to this version.
FlashCode, 2007-06-07::
WeeChat 0.2.5 released.
Version 0.3.1 (2010-01-23)
--------------------------
FlashCode, 2007-03-29::
WeeChat 0.2.4 released.
IRC commands /ame and /amsg are now aliases, if you are upgrading from version
0.3.0, you must create aliases with following commands: +
`/alias aaway allserv /away` +
`/alias ame allchan /me` +
`/alias amsg allchan /amsg *` +
`/alias anick allserv /nick`
FlashCode, 2007-01-10::
WeeChat 0.2.3 released.
+
This version fixes several major bugs of version 0.2.2.
All users of version 0.2.2 should upgrade to this version.
Version 0.3.0 (2009-09-06)
--------------------------
FlashCode, 2007-01-06::
WeeChat 0.2.2 released.
+
Important release notes:
* new charset plugin:
** for users of any previous version, all your charset settings
in weechat.rc will be LOST! You should save your weechat.rc
to keep your values and set them again with new "charset" plugin.
** for ISO users: history of channels may be without accents
(after /upgrade), this is not recoverable, but this is not a bug.
All new messages should be ok.
** be careful, now default encode is UTF-8 for all channels (before
it was terminal charset). If you still want to send messages as
ISO-8859-1, you should send either global encode or server specific
encode to ISO-8859-1.
For global encode: /setp charset.global.encode = "ISO-8859-1"
For server encode: (on server buffer) /charset encode ISO-8859-1
* new keys for topic scroll:
** new keys for scrolling topic: F9/F10
** key F10 was used for "infobar_clear" in previous WeeChat versions,
you have to manually rebind this key (except for new WeeChat users):
/key <press alt-k then F10> scroll_topic_right
which gives something like this:
/key meta2-21~ scroll_topic_right
This version brings major changes, especially for configuration files and plugin
API.
FlashCode, 2006-10-01::
WeeChat 0.2.1 released.
For more information about this version, please read file 'UPGRADE_0.3'.
FlashCode, 2006-08-19::
WeeChat 0.2.0 released.
+
Important release notes:
* if you upgraded with /upgrade in WeeChat, you should /disconnect and
then /reconnect on each server, to display properly channel/user modes
* if you're using plugins, you should remove some old plugins libraries
in WeeChat system library directory (commonly
/usr/local/lib/weechat/plugins): remove `lib*` files (like `libperl.*`,
`libpython.*`, ..) and keep only new libraries (`perl.*`, `python.*`, ..)
Version 0.2.6.3 (2009-06-13)
----------------------------
FlashCode, 2006-05-25::
WeeChat 0.1.9 released.
+
Important release notes:
* please close all DCC chat buffers before using /upgrade command,
otherwise you may experience problems with DCC chats.
* some changes in script API: now timer handlers functions takes exactly
0 (zero) argument (in version 0.1.8, two arguments were mandatory but
not used: server and args)
This version fixes gnutls detection.
FlashCode, 2006-03-18::
WeeChat 0.1.8 released.
+
Important release notes:
* it is recommended for users of version 0.1.7 (or any older), to
replace values in setup file (~/.weechat/weechat.rc) :
** option: log_path: replace "~/.weechat/logs" by "%h/logs"
** option: plugins_path: replace "~/.weechat/plugins" by "%h/plugins"
+
"%h" is replaced by WeeChat home (default: ~/.weechat, may be overriden
by new command line arg --dir)
* after installing 0.1.8 (or with /upgrade), issue both commands (if you
didn't redefined these keys (alt-home/end):
/key unbind meta-meta2-1~
/key unbind meta-meta2-4~
then launch again WeeChat (or issue /upgrade).
Alt-home/end were used for nicklist scroll, they're now replaced by
Alt-F11/F12.
Version 0.2.6.2 (2009-04-18)
----------------------------
FlashCode, 2006-01-14::
WeeChat 0.1.7 released.
+
Important release notes:
* Ruby script plugin has been added but is experimental in this release.
You're warned!
* "/away" command was changed to be RFC 2812 compliant.
Now argument is required to set away, and no argument means
remove away ("back"). Setting "irc_default_msg_away" has been removed.
This version fixes a bug with charset decoding (like 'iso2022jp').
FlashCode, 2005-11-11::
WeeChat 0.1.6 released.
+
Important release notes:
* incompatibility with some old scripts: now all handlers have to return
a code for completion, and to do some actions about message to ignore
(please look at documentation for detail)
* on OpenBSD, the new option "plugins_extension" should be set to ".so.0.0"
since the plugins names are ending by ".so.0.0" and not ".so"
* with new and full UTF-8 support, the option "look_charset_internal"
should be set to blank for most cases. Forces it only if your locale is
not properly detected by WeeChat (you can set "UTF-8" or "ISO-8859-15"
for example, depending on your locale). WeeChat is looking for "UTF-8" in
your locale name at startup.
Version 0.2.6.1 (2009-03-14)
----------------------------
FlashCode, 2005-09-24::
WeeChat 0.1.5 released.
This version fixes a major bug: crash with some special chars in IRC messages.
FlashCode, 2005-07-30::
WeeChat 0.1.4 released.
Version 0.2.6 (2007-09-06)
--------------------------
FlashCode, 2005-07-02::
WeeChat 0.1.3 released.
No release note.
FlashCode, 2005-05-21::
WeeChat 0.1.2 released.
Version 0.2.5 (2007-06-07)
--------------------------
FlashCode, 2005-03-20::
WeeChat 0.1.1 released.
No release note.
FlashCode, 2005-02-12::
WeeChat 0.1.0 released.
Version 0.2.4 (2007-03-29)
--------------------------
FlashCode, 2005-01-01::
WeeChat 0.0.9 released.
No release note.
FlashCode, 2004-10-30::
WeeChat 0.0.8 released.
Version 0.2.3 (2007-01-10)
--------------------------
FlashCode, 2004-08-08::
WeeChat 0.0.7 released.
This version fixes several major bugs of version 0.2.2.
FlashCode, 2004-06-05::
WeeChat 0.0.6 released.
All users of version 0.2.2 should upgrade to this version.
FlashCode, 2004-02-07::
WeeChat 0.0.5 released.
Version 0.2.2 (2007-01-06)
--------------------------
FlashCode, 2004-01-01::
WeeChat 0.0.4 released.
Important release notes:
FlashCode, 2003-11-03::
WeeChat 0.0.3 released.
* new charset plugin:
** for users of any previous version, all your charset settings in weechat.rc
will be LOST! You should save your weechat.rc to keep your values and set
them again with new 'charset' plugin.
** for ISO users: history of channels may be without accents (after `/upgrade`),
this is not recoverable, but this is not a bug. All new messages should be
ok.
** be careful, now default encode is UTF-8 for all channels (before it was
terminal charset). If you still want to send messages as 'ISO-8859-1', you
should send either global encode or server specific encode to 'ISO-8859-1':
*** for global encode: `/setp charset.global.encode = "ISO-8859-1"`
*** for server encode (on server buffer): `/charset encode ISO-8859-1`
* new keys for topic scroll:
** new keys for scrolling topic: F9/F10
** key F10 was used for `infobar_clear` in previous WeeChat versions,
you have to manually rebind this key (except for new WeeChat users):
*** `/key <press alt-k then F10> scroll_topic_right` (which gives something
like: `/key meta2-21~ scroll_topic_right`).
FlashCode, 2003-10-05::
WeeChat 0.0.2 released.
Version 0.2.1 (2006-10-01)
--------------------------
FlashCode, 2003-09-27::
WeeChat 0.0.1 released.
No release note.
Version 0.2.0 (2006-08-19)
--------------------------
Important release notes:
* if you upgraded with `/upgrade` in WeeChat, you should `/disconnect` and then
`/reconnect` on each server, to display properly channel/user modes.
* if you're using plugins, you should remove some old plugins libraries in
WeeChat system library directory (commonly '/usr/local/lib/weechat/plugins'):
remove `lib*` files (like `libperl.*`, `libpython.*`, ..) and keep only new
libraries (`perl.*`, `python.*`, ..).
Version 0.1.9 (2006-05-25)
--------------------------
Important release notes:
* please close all DCC chat buffers before using /upgrade command, otherwise you
may experience problems with DCC chats.
* some changes in script API: now timer handlers functions takes exactly
0 (zero) argument (in version 0.1.8, two arguments were mandatory but not
used: server and args).
Version 0.1.8 (2006-03-18)
--------------------------
Important release notes:
* it is recommended for users of version 0.1.7 (or any older), to
replace values in setup file ('~/.weechat/weechat.rc'):
** option: log_path: replace '~/.weechat/logs' by '%h/logs'
** option: plugins_path: replace '~/.weechat/plugins' by '%h/plugins' +
'%h' is replaced by WeeChat home (default: '~/.weechat', may be overriden
by new command line arg `--dir`).
* after installing 0.1.8 (or with `/upgrade`), issue both commands (if you
didn't redefine these keys (alt-home/end):
** `/key unbind meta-meta2-1~`
** `/key unbind meta-meta2-4~`
** then launch again WeeChat (or issue `/upgrade`).
* Keys alt-home/end were used for nicklist scroll, they're now replaced by
alt-F11/F12.
Version 0.1.7 (2006-01-14)
--------------------------
Important release notes:
* Ruby script plugin has been added but is experimental in this release.
You're warned!
* `/away` command was changed to be RFC 2812 compliant. Now argument is required
to set away, and no argument means remove away ("back"). Option
'irc_default_msg_away' has been removed.
Version 0.1.6 (2005-11-11)
--------------------------
Important release notes:
* incompatibility with some old scripts: now all handlers have to return a code
for completion, and to do some actions about message to ignore (please look at
documentation for detail).
* on OpenBSD, the new option 'plugins_extension' should be set to '.so.0.0'
since the plugins names are ending by '.so.0.0' and not '.so'.
* with new and full UTF-8 support, the option 'look_charset_internal' should be
set to blank for most cases. Forces it only if your locale is not properly
detected by WeeChat (you can set 'UTF-8' or 'ISO-8859-15' for example,
depending on your locale). WeeChat is looking for 'UTF-8' in your locale name
at startup.
Version 0.1.5 (2005-09-24)
--------------------------
No release note.
Version 0.1.4 (2005-07-30)
--------------------------
No release note.
Version 0.1.3 (2005-07-02)
--------------------------
No release note.
Version 0.1.2 (2005-05-21)
--------------------------
No release note.
Version 0.1.1 (2005-03-20)
--------------------------
No release note.
Version 0.1.0 (2005-02-12)
--------------------------
No release note.
Version 0.0.9 (2005-01-01)
--------------------------
No release note.
Version 0.0.8 (2004-10-30)
--------------------------
No release note.
Version 0.0.7 (2004-08-08)
--------------------------
No release note.
Version 0.0.6 (2004-06-05)
--------------------------
No release note.
Version 0.0.5 (2004-02-07)
--------------------------
No release note.
Version 0.0.4 (2004-01-01)
--------------------------
No release note.
Version 0.0.3 (2003-11-03)
--------------------------
No release note.
Version 0.0.2 (2003-10-05)
--------------------------
No release note.
Version 0.0.1 (2003-09-27)
--------------------------
No release note.
+3 -3
View File
@@ -39,10 +39,10 @@ run ()
echo -n "Running \"$@\""
eval $@ >$AUTOGEN_LOG 2>&1
if [ $? = 0 ] ; then
echo -e $OK
echo -e $OK
else
echo -e $FAIL
err
echo -e $FAIL
err
fi
}
+1 -1
View File
@@ -15,7 +15,7 @@
#
# - Find Aspell
# This module finds if libaspell is installed and determines where
# This module finds if libaspell is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
+47
View File
@@ -0,0 +1,47 @@
# Copyright (c) 2003-2010 by FlashCode <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Gcrypt
# This module finds if libgcrypt is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GCRYPT_CFLAGS = cflags to use to compile
# GCRYPT_LDFLAGS = ldflags to use to compile
#
FIND_PROGRAM(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
set(GCRYPT_LDFLAGS)
set(GCRYPT_CFLAGS)
IF(LIBGCRYPT_CONFIG_EXECUTABLE)
EXEC_PROGRAM(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS)
EXEC_PROGRAM(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS)
IF(${GCRYPT_CFLAGS} MATCHES "\n")
SET(GCRYPT_CFLAGS " ")
ENDIF(${GCRYPT_CFLAGS} MATCHES "\n")
IF(GCRYPT_LDFLAGS AND GCRYPT_CFLAGS)
SET(GCRYPT_FOUND TRUE)
ENDIF(GCRYPT_LDFLAGS AND GCRYPT_CFLAGS)
ENDIF(LIBGCRYPT_CONFIG_EXECUTABLE)
MARK_AS_ADVANCED(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
+2 -2
View File
@@ -15,7 +15,7 @@
#
# - Find Gettext
# This module finds if gettext is installed and determines where
# This module finds if gettext is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
@@ -60,7 +60,7 @@ IF(HAVE_LIBINTL_H)
ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
IF(LIBINTL_HAS_DGETTEXT)
SET(GETTEXT_FOUND TRUE)
SET(GETTEXT_FOUND TRUE)
ENDIF(LIBINTL_HAS_DGETTEXT)
ENDIF(LIBINTL_LIBRARY)
ENDIF(LIBC_HAS_DGETTEXT)
+1 -1
View File
@@ -15,7 +15,7 @@
#
# - Find GnuTLS
# This module finds if libgnutls is installed and determines where
# This module finds if libgnutls is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
+4 -1
View File
@@ -15,7 +15,7 @@
#
# - Find Iconv
# This module finds if libiconv is installed and determines where
# This module finds if libiconv is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
@@ -30,6 +30,9 @@ IF(ICONV_FOUND)
set(ICONV_FIND_QUIETLY TRUE)
ENDIF(ICONV_FOUND)
INCLUDE(CheckLibraryExists)
INCLUDE(CheckFunctionExists)
FIND_PATH(ICONV_INCLUDE_PATH
NAMES iconv.h
PATHS /usr/include /usr/local/include /usr/pkg/include
+3 -3
View File
@@ -15,7 +15,7 @@
#
# - Find Lua
# This module finds if liblua is installed and determines where
# This module finds if liblua is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
@@ -61,8 +61,8 @@ ELSE(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
)
FIND_LIBRARY(
LUALIB50_LIBRARY NAMES lualib50 lualib5.0 lualib-5.0 lualib
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
LUALIB50_LIBRARY NAMES lualib50 lualib5.0 lualib-5.0 lualib
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
)
+16 -2
View File
@@ -23,11 +23,25 @@ FIND_PATH(NCURSES_INCLUDE_PATH
PATHS /usr/include /usr/local/include /usr/pkg/include
)
FIND_LIBRARY(NCURSES_LIBRARY
NAMES ncursesw ncurses
FIND_LIBRARY(NCURSESW_LIBRARY
NAMES ncursesw
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
IF (NCURSESW_LIBRARY)
SET(NCURSES_LIBRARY ${NCURSESW_LIBRARY})
ELSE(NCURSESW_LIBRARY)
FIND_LIBRARY(NCURSES_LIBRARY
NAMES ncurses
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
)
IF (NCURSES_LIBRARY)
MESSAGE("*** WARNING:\n"
"*** ncursesw library not found! Falling back to \"ncurses\"\n"
"*** Be careful, UTF-8 display may not work properly if your locale is UTF-8.")
ENDIF(NCURSES_LIBRARY)
ENDIF(NCURSESW_LIBRARY)
IF (NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
SET(NCURSES_FOUND TRUE)
ENDIF(NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
+1 -1
View File
@@ -57,7 +57,7 @@ IF(PERL_EXECUTABLE)
STRING(REPLACE "\n" "" PERL_CFLAGS "${PERL_CFLAGS}")
STRING(REPLACE "\n" "" PERL_LFLAGS "${PERL_LFLAGS}")
FIND_PATH(PERL_INCLUDE_PATH
FIND_PATH(PERL_INCLUDE_PATH
NAMES perl.h
PATHS ${PERL_INTERNAL_DIR}
)
+4 -4
View File
@@ -72,13 +72,13 @@
#
# Redistribution and use, with or without modification, are permitted
# provided that the following conditions are met:
#
#
# 1. Redistributions must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# 2. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -232,7 +232,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
# create the final query which is of the format:
# * --atleast-version <version> <pkg-name>
# * --exact-version <version> <pkg-name>
# * --exact-version <version> <pkg-name>
# * --max-version <version> <pkg-name>
# * --exists <pkg-name>
if (_pkg_check_modules_pkg_op)
@@ -352,7 +352,7 @@ macro(pkg_search_module _prefix _module0)
endif(NOT ${_prefix}_FOUND)
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
endmacro(pkg_search_module)
### Local Variables:
+1 -1
View File
@@ -29,7 +29,7 @@ IF(PYTHON_FOUND)
SET(PYTHON_FIND_QUIETLY TRUE)
ENDIF(PYTHON_FOUND)
FIND_PROGRAM(PYTHON_EXECUTABLE
FIND_PROGRAM(PYTHON_EXECUTABLE
NAMES python python2.6 python2.5 python2.4 python2.3 python2.2
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
+1 -1
View File
@@ -28,7 +28,7 @@ IF(RUBY_FOUND)
SET(RUBY_FIND_QUIETLY TRUE)
ENDIF(RUBY_FOUND)
FIND_PROGRAM(RUBY_EXECUTABLE
FIND_PROGRAM(RUBY_EXECUTABLE
NAMES ruby ruby1.9 ruby19 ruby1.8 ruby18 ruby1.6 ruby16
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
+19 -19
View File
@@ -18,11 +18,11 @@
# - The stub libraries are now found in FindTclStub.cmake
# => they were only useful for people writing Tcl/Tk extensions.
# - TCL_LIBRARY_DEBUG and TK_LIBRARY_DEBUG were removed.
# => these libs are not packaged by default with Tcl/Tk distributions.
# => these libs are not packaged by default with Tcl/Tk distributions.
# Even when Tcl/Tk is built from source, several flavors of debug libs
# are created and there is no real reason to pick a single one
# specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
# Let's leave that choice to the user by allowing him to assign
# specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
# Let's leave that choice to the user by allowing him to assign
# TCL_LIBRARY to any Tcl library, debug or not.
# - TK_INTERNAL_PATH was removed.
# => this ended up being only a Win32 variable, and there is a lot of
@@ -40,28 +40,28 @@ INCLUDE(FindTclsh)
GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
STRING(REGEX REPLACE
STRING(REGEX REPLACE
"^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
STRING(REGEX REPLACE
STRING(REGEX REPLACE
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_VERSION "${TCL_LIBRARY}")
SET(TCL_POSSIBLE_LIB_PATHS
"${TCL_INCLUDE_PATH_PARENT}/lib"
"${TCL_LIBRARY_PATH}"
"${TCL_TCLSH_PATH_PARENT}/lib"
/usr/lib
/usr/lib
/usr/local/lib
)
IF(WIN32)
GET_FILENAME_COMPONENT(
ActiveTcl_CurrentVersion
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
ActiveTcl_CurrentVersion
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
NAME)
SET(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
@@ -72,20 +72,20 @@ IF(WIN32)
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
"$ENV{ProgramFiles}/Tcl/Lib"
"C:/Program Files/Tcl/lib"
"C:/Tcl/lib"
"C:/Program Files/Tcl/lib"
"C:/Tcl/lib"
)
ENDIF(WIN32)
FIND_LIBRARY(TCL_LIBRARY
NAMES
tcl
NAMES
tcl
tcl${TCL_VERSION} tcl${TCL_TCLSH_VERSION}
tcl86 tcl8.6
tcl85 tcl8.5
tcl84 tcl8.4
tcl83 tcl8.3
tcl82 tcl8.2
tcl86 tcl8.6
tcl85 tcl8.5
tcl84 tcl8.4
tcl83 tcl8.3
tcl82 tcl8.2
tcl80 tcl8.0
PATHS ${TCL_POSSIBLE_LIB_PATHS}
)
@@ -104,7 +104,7 @@ ENDIF(Tcl_FRAMEWORKS)
SET(TCL_POSSIBLE_INCLUDE_PATHS
"${TCL_LIBRARY_PATH_PARENT}/include"
"${TCL_INCLUDE_PATH}"
${TCL_FRAMEWORK_INCLUDES}
${TCL_FRAMEWORK_INCLUDES}
"${TCL_TCLSH_PATH_PARENT}/include"
/usr/include
/usr/local/include
@@ -140,7 +140,7 @@ IF(WIN32)
)
ENDIF(WIN32)
FIND_PATH(TCL_INCLUDE_PATH
FIND_PATH(TCL_INCLUDE_PATH
NAMES tcl.h
PATHS ${TCL_POSSIBLE_INCLUDE_PATHS}
)
+104 -67
View File
@@ -18,10 +18,11 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.56)
AC_INIT(WeeChat, 0.3.1, flashcode@flashtux.org)
AC_INIT(WeeChat, 0.3.2, flashcode@flashtux.org)
AC_CONFIG_SRCDIR([src/core/weechat.c])
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([weechat], [0.3.1])
AM_INIT_AUTOMAKE([weechat], [0.3.2])
LICENSE="GPL3"
# Checks for programs
AC_PROG_CC
@@ -96,6 +97,7 @@ AC_CHECK_FUNCS([gethostbyname gethostname getsockname gettimeofday inet_ntoa mem
AH_VERBATIM([PREFIX], [#undef PREFIX])
AH_VERBATIM([WEECHAT_LIBDIR], [#undef WEECHAT_LIBDIR])
AH_VERBATIM([WEECHAT_SHAREDIR], [#undef WEECHAT_SHAREDIR])
AH_VERBATIM([HAVE_GCRYPT], [#undef HAVE_GCRYPT])
AH_VERBATIM([HAVE_GNUTLS], [#undef HAVE_GNUTLS])
AH_VERBATIM([HAVE_FLOCK], [#undef HAVE_FLOCK])
AH_VERBATIM([PLUGIN_ALIAS], [#undef PLUGIN_ALIAS])
@@ -120,6 +122,7 @@ AC_ARG_ENABLE(ncurses, [ --disable-ncurses turn off ncurses interfac
AC_ARG_ENABLE(wxwidgets, [ --enable-wxwidgets turn on WxWidgets interface (default=off)],enable_wxwidgets=$enableval,enable_wxwidgets=no)
AC_ARG_ENABLE(gtk, [ --enable-gtk turn on Gtk interface (default=off)],enable_gtk=$enableval,enable_gtk=no)
AC_ARG_ENABLE(qt, [ --enable-qt turn on Qt interface (default=off)],enable_qt=$enableval,enable_qt=no)
AC_ARG_ENABLE(gcrypt, [ --disable-gcrypt turn off gcrypt support (default=compiled if found)],enable_gcrypt=$enableval,enable_gcrypt=yes)
AC_ARG_ENABLE(gnutls, [ --disable-gnutls turn off gnutls support (default=compiled if found)],enable_gnutls=$enableval,enable_gnutls=yes)
AC_ARG_ENABLE(largefile, [ --disable-largefile turn off Large File Support (default=on)],enable_largefile=$enableval,enable_largefile=yes)
AC_ARG_ENABLE(alias, [ --disable-alias turn off Alias plugin (default=compiled)],enable_alias=$enableval,enable_alias=yes)
@@ -251,15 +254,15 @@ if test "x$ac_found_iconv_header" = "xyes" ; then
ICONV_LFLAGS="-liconv"
LIBS="$LIBS $ICONV_LFLAGS"
fi
AC_MSG_CHECKING(for iconv usability in programs)
AC_MSG_CHECKING(for iconv usability in programs)
AC_TRY_RUN([
#include <iconv.h>
int main(int argc, char **argv) {
iconv_t conv = iconv_open("ISO8859-1", "UTF-8");
#include <iconv.h>
int main(int argc, char **argv) {
iconv_t conv = iconv_open("ISO8859-1", "UTF-8");
if (conv != (iconv_t) -1) {
return 0;
return 0;
}
return 1;
return 1;
}],iconv_found="yes")
if test "x$iconv_found" = "xno" ; then
AC_MSG_RESULT(no)
@@ -308,7 +311,7 @@ if test "x$enable_aspell" = "xyes" ; then
AC_CHECK_HEADER(aspell.h,ac_found_aspell_header="yes",ac_found_aspell_header="no")
AC_CHECK_LIB(aspell,new_aspell_speller,ac_found_aspell_lib="yes",ac_found_aspell_lib="no")
AC_MSG_CHECKING(for aspell headers and librairies)
AC_MSG_CHECKING(for aspell headers and librairies)
if test "x$ac_found_aspell_header" = "xno" -o "x$ac_found_aspell_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
@@ -318,8 +321,8 @@ if test "x$enable_aspell" = "xyes" ; then
enable_aspell="no"
not_found="$not_found aspell"
else
AC_MSG_RESULT(yes)
ASPELL_LFLAGS="$ASPELL_LFLAGS -laspell"
AC_MSG_RESULT(yes)
ASPELL_LFLAGS="$ASPELL_LFLAGS -laspell"
fi
else
not_asked="$not_asked aspell"
@@ -413,7 +416,7 @@ if test "x$enable_perl" = "xyes" ; then
enable_perl="no"
not_found="$not_found perl"
else
PERL_VERSION=`perl -V:version | sed "s/version='\(.*\)';/\1/"`
PERL_VERSION=`perl -V:version | sed "s/version='\(.*\)';/\1/"`
AC_MSG_CHECKING(for Perl headers files)
PERL_HEADER_TEST=`PT=perltest.c ; echo "#include <EXTERN.h>" > $PT; echo "#include <perl.h>" >> $PT; echo "#include <XSUB.h>" >> $PT ; echo "int main() { return 0; }" >> $PT ; $CC -Wall $PT -o $PT.out $($PERL -MExtUtils::Embed -e ccopts) 1>/dev/null 2>&1; echo $?; rm -f $PT $PT.out 1>/dev/null 2>&1`
@@ -423,7 +426,7 @@ if test "x$enable_perl" = "xyes" ; then
AC_MSG_RESULT(found)
AC_MSG_CHECKING(for Perl library)
PERL_LIB_TEST=`PT=perltest.c ; echo "int main() { return 0; }" > $PT ; $CC -Wall $PT -o $PT.out $($PERL -MExtUtils::Embed -e ldopts) 1>/dev/null 2>&1; echo $?; rm -f $PT $PT.out 1>/dev/null 2>&1`
if test "x$PERL_LIB_TEST" = "x0" ; then
if test "x$PERL_LIB_TEST" = "x0" ; then
PERL_LFLAGS=`$PERL -MExtUtils::Embed -e ldopts`
AC_MSG_RESULT(found)
else
@@ -489,7 +492,7 @@ if test "x$enable_python" = "xyes" ; then
AC_MSG_RESULT(found)
else
AC_MSG_WARN([
*** Python library couldn't be found on your system.
*** Python library couldn't be found on your system.
*** Try to install it with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
@@ -528,7 +531,7 @@ if test "x$enable_ruby" = "xyes" ; then
enable_ruby="no"
not_found="$not_found ruby"
else
RUBY_VERSION=`$RUBY -rrbconfig -e "puts Config::CONFIG[['ruby_version']]"`
RUBY_VERSION=`$RUBY -rrbconfig -e "puts Config::CONFIG[['ruby_version']]"`
if test "$RUBY_VERSION" = "1.9.0"; then
AC_MSG_WARN([
*** Ruby header files have been found, but they're of the version 1.9.0.
@@ -590,41 +593,41 @@ if test "x$enable_lua" = "xyes" ; then
PKGCONFIG=""
AC_CHECK_PROGS(PKGCONFIG, pkg-config)
if test "x$PKGCONFIG" != "x"; then
AC_MSG_CHECKING(for Lua headers and librairies with pkg-config)
echo
for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
pkgconfig_lua_found=`$PKGCONFIG --exists lua$l 2>/dev/null`
if test "x$?" = "x0" ; then
LUA_VERSION=`$PKGCONFIG --modversion lua$l`
AC_MSG_CHECKING(for Lua headers and librairies with pkg-config)
echo
for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
pkgconfig_lua_found=`$PKGCONFIG --exists lua$l 2>/dev/null`
if test "x$?" = "x0" ; then
LUA_VERSION=`$PKGCONFIG --modversion lua$l`
LUA_CFLAGS="$LUA_CFLAGS "`$PKGCONFIG --cflags lua$l`
LUA_LFLAGS="$LUA_LFLAGS "`$PKGCONFIG --libs lua$l`
pkgconfig_lualib_found=`$PKGCONFIG --exists lualib$l 2>/dev/null`
if test "x$?" = "x0"; then
LUA_CFLAGS="$LUA_CFLAGS "`$PKGCONFIG --cflags lualib$l`
LUA_LFLAGS="$LUA_LFLAGS "`$PKGCONFIG --libs lualib$l`
fi
pkgconfig_lualib_found=`$PKGCONFIG --exists lualib$l 2>/dev/null`
if test "x$?" = "x0"; then
LUA_CFLAGS="$LUA_CFLAGS "`$PKGCONFIG --cflags lualib$l`
LUA_LFLAGS="$LUA_LFLAGS "`$PKGCONFIG --libs lualib$l`
fi
break
fi
done
fi
fi
fi
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
LUACONFIG=""
AC_CHECK_PROGS(LUACONFIG, lua-config lua-config51 lua-config5.1 lua-config50 lua-config5.0)
if test "x$LUACONFIG" != "x" ; then
AC_MSG_CHECKING(for Lua headers and librairies with lua-config)
echo
echo
LUA_CFLAGS=`$LUACONFIG --include`
LUA_LFLAGS=`$LUACONFIG --libs`
LUA_VERSION="5.0.x"
LUA_VERSION="5.0.x"
fi
fi
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
AC_MSG_CHECKING(for Lua headers and librairies)
echo
echo
AC_CHECK_HEADER(lua.h,ac_found_lua_header="yes",ac_found_lua_header="no")
AC_CHECK_HEADER(lualib.h,ac_found_liblua_header="yes",ac_found_liblua_header="no")
if test "x$ac_found_lua_header" = "xyes" -a "x$ac_found_liblua_header" = "xyes"; then
@@ -633,31 +636,31 @@ if test "x$enable_lua" = "xyes" ; then
for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
if test "x$ac_found_lua_lib" = "xyes" ; then
LUA_VERSION=">=5.1.0"
LUA_VERSION=">=5.1.0"
LUA_LFLAGS="$LDFLAGS -llua$l -lm"
ac2_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -llua$l -lm"
LUA_LFLAGS="$LDFLAGS -llua$l -lm"
ac2_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -llua$l -lm"
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
LDFLAGS="$LDFLAGS -ldl"
fi
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
LDFLAGS="$LDFLAGS -ldl"
fi
AC_CHECK_LIB(lualib$l,luaL_openlib,ac_found_liblua_lib="yes",ac_found_liblua_lib="no")
if test "x$ac_found_liblua_lib" = "xyes" ; then
LUA_VERSION="5.0.x"
LUA_LFLAGS="$LUA_LFLAGS -llualib$l"
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
LUA_LFLAGS="$LUA_LFLAGS -ldl"
fi
fi
AC_CHECK_LIB(lualib$l,luaL_openlib,ac_found_liblua_lib="yes",ac_found_liblua_lib="no")
if test "x$ac_found_liblua_lib" = "xyes" ; then
LUA_VERSION="5.0.x"
LUA_LFLAGS="$LUA_LFLAGS -llualib$l"
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
LUA_LFLAGS="$LUA_LFLAGS -ldl"
fi
fi
LDFLAGS="$ac2_save_LDFLAGS"
break
fi
LDFLAGS="$ac2_save_LDFLAGS"
break
fi
done
fi
@@ -738,24 +741,54 @@ else
not_asked="$not_asked xfer"
fi
# ------------------------------------------------------------------------------
# gcrypt
# ------------------------------------------------------------------------------
if test "x$enable_gcrypt" = "xyes" ; then
AC_CHECK_HEADER(gcrypt.h,ac_found_gcrypt_header="yes",ac_found_gcrypt_header="no")
AC_CHECK_LIB(gcrypt,gcry_check_version,ac_found_gcrypt_lib="yes",ac_found_gcrypt_lib="no")
AC_MSG_CHECKING(for gcrypt headers and librairies)
if test "x$ac_found_gcrypt_header" = "xno" -o "x$ac_found_gcrypt_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
*** libgcrypt was not found. You may want to get it from ftp://ftp.gnupg.org/gcrypt/libgcrypt/
*** WeeChat will be built without gcrypt support.
*** Some features like SASL authentication with IRC server using mechanism DH-BLOWFISH will be disabled.])
enable_gcrypt="no"
not_found="$not_found gcrypt"
else
AC_MSG_RESULT(yes)
GCRYPT_CFLAGS=`libgcrypt-config --cflags`
GCRYPT_LFLAGS=`libgcrypt-config --libs`
AC_SUBST(GCRYPT_CFLAGS)
AC_SUBST(GCRYPT_LFLAGS)
AC_DEFINE(HAVE_GCRYPT)
CFLAGS="$CFLAGS -DHAVE_GCRYPT"
fi
else
not_asked="$not_asked gcrypt"
fi
# ------------------------------------------------------------------------------
# gnutls
# ------------------------------------------------------------------------------
if test "x$enable_gnutls" = "xyes" ; then
AC_CHECK_HEADER(gnutls/gnutls.h,ac_found_gnutls_header="yes",ac_found_gnutls_header="no")
AC_CHECK_LIB(gnutls,gnutls_global_init,ac_found_gnutls_lib="yes",ac_found_gnutls_lib="no")
AC_MSG_CHECKING(for gnutls headers and librairies)
if test "x$ac_found_gnutls_header" = "xno" -o "x$ac_found_gnutls_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
AC_CHECK_HEADER(gnutls/gnutls.h,ac_found_gnutls_header="yes",ac_found_gnutls_header="no")
AC_CHECK_LIB(gnutls,gnutls_global_init,ac_found_gnutls_lib="yes",ac_found_gnutls_lib="no")
AC_MSG_CHECKING(for gnutls headers and librairies)
if test "x$ac_found_gnutls_header" = "xno" -o "x$ac_found_gnutls_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
*** libgnutls was not found. You may want to get it from ftp://ftp.gnutls.org/pub/gnutls/
*** WeeChat will be built without GnuTLS support.])
enable_gnutls="no"
not_found="$not_found gnutls"
enable_gnutls="no"
not_found="$not_found gnutls"
else
AC_MSG_RESULT(yes)
AC_MSG_RESULT(yes)
GNUTLS_CFLAGS=`pkg-config gnutls --cflags`
GNUTLS_LFLAGS=`pkg-config gnutls --libs`
AC_SUBST(GNUTLS_CFLAGS)
@@ -841,13 +874,13 @@ if test "x$enable_doc" = "xyes" ; then
;;
esac
else
enable_doc="no"
enable_doc="no"
fi
if test -z "$ASCIIDOC"; then
not_found="$not_found asciidoc"
fi
if test -z "$SOURCEHIGHLIGHT"; then
not_found="$not_found source-highlight(needed by asciidoc)"
not_found="$not_found source-highlight(needed by asciidoc)"
fi
AC_SUBST(DOC_ASCIIDOC8)
AC_SUBST(ASCIIDOC)
@@ -919,19 +952,20 @@ netbsd*)
fi
CFLAGS="$CFLAGS $CPPFLAGS"
;;
gnu*)
gnu*)
LDFLAGS="$LDFLAGS -lpthread"
;;
*)
;;
esac
CFLAGS="$CFLAGS -DWEECHAT_VERSION=\\\"$VERSION\\\""
CFLAGS="$CFLAGS -DWEECHAT_VERSION=\\\"$VERSION\\\" -DWEECHAT_LICENSE=\\\"$LICENSE\\\""
# ------------------------------------------------------------------------------
# output Makefiles
# ------------------------------------------------------------------------------
AM_CONDITIONAL(HAVE_GCRYPT, test "$enable_gcrypt" = "yes")
AM_CONDITIONAL(HAVE_GNUTLS, test "$enable_gnutls" = "yes")
AM_CONDITIONAL(HAVE_FLOCK, test "$enable_flock" = "yes")
AM_CONDITIONAL(GUI_NCURSES, test "$enable_ncurses" = "yes")
@@ -1058,6 +1092,9 @@ if test "x$enable_xfer" = "xyes"; then
fi
listoptional=""
if test "x$enable_gcrypt" = "xyes"; then
listoptional="$listoptional gcrypt"
fi
if test "x$enable_gnutls" = "xyes"; then
listoptional="$listoptional gnutls"
fi
+1 -1
View File
@@ -12,7 +12,7 @@ builddir/Makefile:
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
build: build-stamp
build-stamp: builddir/Makefile
build-stamp: builddir/Makefile
dh_testdir
$(MAKE) -C builddir
touch $@
+1 -1
View File
@@ -18,4 +18,4 @@ SUBDIRS = . en fr pl de ru ja it
man_MANS = weechat-curses.1
EXTRA_DIST = $(man_MANS) CMakeLists.txt
EXTRA_DIST = $(man_MANS) docgen.pl CMakeLists.txt
+3 -3
View File
@@ -17,9 +17,9 @@
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
weechat_faq.de.txt \
weechat_quickstart.de.txt \
weechat_tester.de.txt
weechat_faq.de.txt \
weechat_quickstart.de.txt \
weechat_tester.de.txt
all-local: weechat_faq.de.html \
weechat_quickstart.de.html \
+293 -188
View File
@@ -1,8 +1,9 @@
WeeChat FAQ (Frequently Asked Questions)
========================================
WeeChat FAQ (häufig gestellte Fragen)
=====================================
FlashCode <flashcode@flashtux.org>
[[general]]
Allgemein
---------
@@ -14,224 +15,166 @@ Weshalb WeeChat? - X-Chat und Irssi sind sehr gut...
Weil WeeChat schlank ist und neue Funktionen besitzt.
Einige Funktionen (Version > = 0.3.x):
* Unterstützung mehrerer Protokolle durch Erweiterungen (IRC, Jabber)
* Unterstützung verschiedener Protokolle durch Erweiterungen (IRC, Jabber)
* mehrere Remote GUIs als Ergänzung zu Curses (in Kürze)
* in mehreren Sprachen verfügbar
* Erweiterungsfähig durch Erweiterungen (C, Perl, Python, Ruby, Lua, Tcl)
* den eigenen Bedürfnissen anpassbar, durch Erweiterungen (C, Perl, Python, Ruby, Lua, Tcl)
* Buffer mit unabhängigem Inhalt
* Filterung der Anzeige mittels Tags und regulären Ausdrücken
* horizontale und vertikale Teilung der Fenster
* anpass- und erweiterbare Leisten
* horizontale und vertikale Einteilung der Fenster
* anpassbare und erweiterbare Leisten
* Nickliste in allen GUI's verfügbar
* inkrementelle Textsuche in Buffern, zu Highlights springen
* FIFO Pipe für Fernsteuerung
* Unterstützung für Aspell
* Unterstützung von Aspell
* Doppelter Zeichensatz (Kodierung/Dekodierung)
* Neuentwicklung (basiert auf keinem anderem Programm)
* Lauffähig auf einer Vielzahl von Plattformen
* lauffähig auf einer Vielzahl von Plattformen
* 100% GPL und Frei
Weitere Informationen gibt es auf der folgenden Internetseite:
http://www.weechat.org/features
[[compilation_install]]
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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zur Zeit ist nur die GUI für Curses verfügbar.
Zur Zeit ist nur eine GUI für Curses verfügbar.
Andere GUIs (zur Zeit in der Entwicklung) werden als Remote Clients verfügbar
sein.
[[compile_git]]
Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - warum?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ich kann WeeChat nach Cloning des git Repository nicht kompilieren - weshalb?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Der empfohlene Weg WeeChat zu komilieren ist die Nutzung von cmake.
Der empfohlene Weg um WeeChat zu kompilieren ist die Nutzung von cmake.
Falls Du mit Hilfe der autotools kompilierst (also nicht cmake), stelle sicher,
dass Du die neueste Version von autoconf und automake besitzt (WeeChat wird mit
autoconf 2.61 und automake 1.10.1 entwickelt).
Falls Du WeeChat mit Hilfe der autotools kompilieren solltest (also nicht cmake),
stelle sicher, dass Du die neueste Version von autoconf und automake besitzt
(WeeChat wird mit autoconf 2.61 und automake 1.10.1 entwickelt).
Der andere Weg ist, das "Entwickler-Paket" zu installieren, dieses hat weniger
Abhängigkeiten. Dieses Paket wird quasi täglich aus dem git Repository erstellt.
Beachte, dass dieses Paket nicht immer exakt mit dem git Repository übereinstimmt
und daher auch weniger brauchbar sein kann als wenn man selbst das Repository
klont und daraus Updates installiert.
WeeChat anwenden
----------------
Die zweite Möglichkeit besteht darin das "Entwickler-Paket" zu installieren. Dies
besitzt weniger Abhängigkeiten. Das Paket wird quasi täglich aus dem git Repository erstellt.
Beachte, dass dieses Paket nicht immer exakt mit dem git Repository übereinstimmen muss
und daher auch weniger brauchbar sein kann, im Gegensatz zu der Methode dass man selbst
das Repository klont und daraus Updates installiert.
[[lost]]
Ich habe WeeChat gestartet, komme aber nicht mehr weiter - was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Um Hilfe zu erhalten, gebe `/help` ein. Hilfe zu einem Befehl erhälst Du durch
die Eingabe von: `help Befehlsname`.
Um Hilfe zu erhalten, nutze den `/help` Befehl. Eine Hilfe zu einem Befehl erhältst
Du durch die Eingabe von: `/help Befehlsname`.
Befehle sowie die Belegung der jeweiligen Tasten sind in der Dokumentation
aufgeführt.
FIXME: (Tip: Mit den Tasten <Bild-hoch>/<Bild-runter> kannst Du die Anzeige
scrollen)
(Tipp: Mit den Tasten <Bild-hoch>/<Bild-runter> kannst Du die Anzeige scrollen)
Neue Benutzer sollten unbedingt die 'quickstart'-Anleitung lesen (siehe
Dokumentation auf der Internetseite).
[[buffer_vs_window]]
Ich habe von "Buffern" und "Fenstern" gehört - was ist der Unterschied?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ein 'Buffer' besteht aus einer Nummer, einem Namen, anzuzeigenden Zeilen (und
anderen Daten)
Ein 'Fenster' ist ein Bildschirmbereich der Buffer darstellt. Es ist möglich
den Bildschirm in mehrere Fenster aufzuteilen.
Jedes Fenster stellt einen Buffer dar. Ein Buffer kann unsichtbar sein (er wird
nicht durch ein Fenster angezeigt), oder durch ein sowie mehrere Fenster
angezeigt werden.
[[display]]
Anzeige
-------
[[charset]]
Teilweise fehlen bei Zeichen die Akzente, was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Teilweise fehlen den Zeichen die Akzente. Wie kann ich das korrigieren?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dies ist ein bekanntes Problem, bitte lese nachfolgendes sorgfältig und
prüfe *alle* aufgezeigten Lösungsmöglichkeiten.
Dies ist ein bekanntes Problem. Bitte lese deshalb die nachfolgende Erklärung
sorgfältig durch und überprüfe *alle* aufgezeigten Lösungsmöglichkeiten.
Für Versionen < 0.2.3, bitte auf die neueste stabile Version upgraden.
Für Versionen < 0.2.3: Bitte auf die neueste stabile Version von WeeChat wechseln.
Für Versionen > = 0.2.3:
* prüfe, dass weechat-curses mit libncursesw gelinkt ist (Warnung: nötig bei den
meißten Distributionen - jedoch nicht bei allen):
`ldd /path/to/weechat-curses`
* prüfe mit dem Befehl `/plugin`, dass die "Charset" Erweiterung geladen ist (falls
nicht, benötigst Du wahrscheinlich noch das Paket "weechat-plugins")
* prüfe die Ausgabe des Befehls /charset (auf dem Server-Buffer). Du solltest
'ISO-XXXXXX' oder 'UTF-8' für den Terminal Zeichensatz sehen. Falls Du
'ANSI_X3.4-1968' oder andere Werte siehst, ist Deine Einstellung der locale
möglicherweise falsch.
* setzen des globalen decode Wertes, z.B.:
* überprüfe, ob weechat-curses mit libncursesw verlinkt ist (Warnung: nötig bei den
meisten Distributionen - jedoch nicht bei allen): `ldd /path/to/weechat-curses`
* prüfe mit dem Befehl `/plugin`, ob die "Charset" Erweiterung geladen ist (falls
dies nicht der Fall sein sollte benötigst Du wahrscheinlich noch das Paket "weechat-plugins")
* überprüfe die Ausgabe des `/charset` Befehls (im Server-Buffer). Du solltest
'ISO-XXXXXX' oder 'UTF-8' für den Terminal Zeichensatz als Antwort erhalten. Falls Du
'ANSI_X3.4-1968' oder einen anderen Wert bekommen solltest, ist Deine Einstellung der
locale möglicherweise falsch.
* Einstellen des globalen decode Wertes, z.B.:
** WeeChat < = 0.2.6: `/setp charset.global.decode = ISO-8859-15`
** WeeChat > = 0.3.x: `/set charset.default.decode "ISO-8859-15"`
* Falls Du UTF-8 locale nutzt:
** prüfe, ob Dein Terminal UTF-8 fähig ist (der empfohlene Terminal für UTF-8
ist rxvt-unicode)
** Solltest Du screen nutzten, prüfe ob er im UTF-8 Modus läuft
("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` zum Sarten von
** Solltest Du screen nutzten, prüfe ob dieser im UTF-8 Modus läuft
("`defutf8 on`" in der Datei ~/.screenrc oder `screen -U` zum Starten von
screen)
[NOTE]
Die Nutzung der UTF-8 locale wird für WeeChat empfohlen. Nutzt Du jedoch ISO
oder andere locale, bitte vergewissere Dich dann, dass *alle* Deine
Einstellungen (Terminal, screen, ...) sich auch auf ISO beziehen und *nicht* auf
UTF-8.
Für Weechat wird die Nutzung von UTF-8 locale empfohlen. Nutzt Du jedoch ISO
oder andere locale, bitte vergewissere Dich, dass *alle* Deine Einstellungen
(Terminal, screen, ...) sich auch auf ISO beziehen und *nicht* auf UTF-8.
[[bars_background]]
Leisten, z.B. Titel und Status sind nicht ausgefüllt, die Hintergrundfarbe endet direkt nach dem Text, warum?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bars, z.B. Titel und Status haben keine Hintergrundfarbe bzw. diese endet direkt nach dem Text, warum?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dies kann durch einen falschen Wert der Variablen TERM Deiner Shell verursacht
werden (schaue Dir die Ausgabe von `echo $TERM` in Deinem Terminal an).
Dies kann durch einen falschen Wert in der Variablen TERM Deiner Shell verursacht
werden. Bitte überprüfe die Ausgabe von `echo $TERM` in Deinem Terminal.
Abhängig davon wo Du WeeChat startest, solltest Du folgenden Wert haben:
Abhängig davon von wo WeeChat startet wird, solltest Du folgenden Wert haben:
* falls WeeChat lokal oder auf einem entfernten Rechner läuft, je nach benutztem
Terminal: 'xterm', 'rxvt', ...
* falls WeeChat unter screen läuft, sollte der Wert 'screen' sein.
Wenn nötig korrigiere den Wert Deiner Variablen TERM: `export TERM="xxx"`.
Falls nötig korrigiere den Wert Deiner Variablen TERM: `export TERM="xxx"`.
[[screen_weird_chars]]
Wenn ich Weechat unter screen nutze, habe ich merkwürdige Zeichen, wie kann ich dies beheben?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wenn ich Weechat unter screen nutze habe ich merkwürdige Zeichen, wie kann ich dies beheben?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dies kann durch einen falschen Wert der Variablen TERM Deiner Shell verursacht
werden (schaue Dir die Ausgabe von `echo $TERM` in Deinem Terminal an).
Dies kann durch einen falschen Wert in der TERM-Variable Deiner Shell verursacht
werden. Bitte überprüfe die Ausgabe von `echo $TERM` in Deinem Terminal.
Als Beispiel, 'xterm-color' könnte solche merkwürdigen Zeichen produzieren,
nutzte stattdessen 'xterm' - die ist ok (wie mehrer andere Werte).
Als Beispiel, 'xterm-color' könnte solche merkwürdigen Zeichen produzieren.
Nutzte stattdessen lieber 'xterm'.
Wenn nötig korrigiere den Wert Deiner Variablen TERM: `export TERM="xxx"`.
Falls nötig korrigiere den Wert Deiner TERM-Variable: `export TERM="xxx"`.
[[key_bindings]]
Wie kann ich die Tastaturbelegung anpassen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[buffer_vs_window]]
Ich habe von "Buffern" und "Fenstern" gehört - Worin besteht der Unterschied?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Die Tasten werden mit dem Befehl /key belegt.
Ein 'Buffer' besteht aus einer Nummer, besitzt einem Namen, hat Zeilen die angezeigt
werden (und noch anderen Daten).
Per Voreinstellung kannst Du mit der Tastenkombination Meta-k (normal Alt-k) den
Code der jeweiligen Taste herausfinden und in die Eingabezeile einfügen.
Ein 'Fenster' ist ein Bildschirmbereich der Buffer darstellt. Es ist möglich
den Bildschirm in mehrere Fenster aufzuteilen.
[[openbsd_plugins]]
Ich benutze BSD, und WeeChat lädt keine Erweiterungen - warum?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unter BSD Enden die Dateinamen der Erweiterungen mit ".so.0.0" (".so" bei Linux).
Um dies zu beheben muss folgendes konfiguriert werden:
* WeeChat < = 0.2.6: +
`/set plugins_extension = ".so.0.0"`
* WeeChat > = 0.3.x: +
`/set weechat.plugin.extension ".so.0.0"`
Danach: `/plugin autoload`.
[[scripts]]
Wie kann ich Perl/Python/Ruby/Lua/Tcl Skripten laden? Sind Skripten kompatibel zu anderen IRC-Clients?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Benutze die Befehle: `/perl`, `/python`, `/ruby`, `/lua` und `/tcl` um Skripten
zu laden (Voreingestellter Pfad zu den Skripten: '~/.weechat/<Skriptsprache>/').
Die Skripten sind mit den anderer IRC-Clients nicht kompatibel.
Anmerkung:
* Skripten, die sich unter '~/.weechat/<Skriptsprache>/autoload/' befinden, werden
beim Start von WeeChat automatisch geladen.
* Eine 'tcl' Erweiterung ist ab version > = 0.3.x verfügbar.
[[change_locale_without_quit]]
Ich möchte die Sprache der Meldungen, die WeeChat ausgibt, ändern ohne WeeChat zu verlassen. 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=en_US.UTF-8
/upgrade
Hierdurch erhält man für das Terminal englische, UTF-8 kodierte Meldungen.
Benutzer von ISO-Kodierungen können folgendes eingeben:
`/shell setenv LANG=en_US`.
Jedes Fenster stellt einen Buffer dar. Ein Buffer kann unsichtbar sein (er wird
in einem Fenster nicht angezeigt). Oder ein Buffer wird durch ein oder mehrere Fenster
angezeigt.
[[terminal_copy_paste]]
Wie kann ich einen Text kopieren und einfügen ohne das die Nickliste auch eingefügt wird?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wie kann ich einen Text kopieren und einfügen ohne das die Nickliste mit eingefügt wird?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Du kannst hierzu ein Terminal nutzen, welches Block-Selektierung erlaubt
(wie rxvt-unicode, konsole, gnome-terminal, ...). Im Normalfall erfolgt diese
mittels der Tasten ctrl + alt in Verbindung mit der Auswahl durch die Maus.
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
ctrl + alt in Verbindung mit der Auswahl durch die Maus.
Eine andere Lösung ist, die Nickliste nach oben oder unten zu verschieben, z.B.:
Eine andere Lösung ist, die Nickliste nach oben oder unten zu verschieben:
* WeeChat < = 0.2.6: +
`set look_nicklist_position = top`
@@ -240,13 +183,13 @@ Eine andere Lösung ist, die Nickliste nach oben oder unten zu verschieben, z.B.
[[urls]]
Wie kann ich eine URL aufrufen, die einen Zeilenumbruch besitzt?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wie kann ich eine URL aufrufen die einen Zeilenumbruch besitzt?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Da WeeChat sowohl die Uhrzeit als auch einen Präfix für jede Zeile darstellt und
man optional auch noch Bars nutzen kann, die das Chatfenster zusätzlich
verkleinern, kann es passieren das sehr lange URLs abgeschnitten und nicht mehr
aufgerufen werden können.
verkleinern, kann es passieren dass sehr lange URLs abgeschnitten und dadurch nicht
mehr aufgerufen werden können.
Deshalb sollte man eines der folgenden Skripten nutzen:
@@ -261,34 +204,89 @@ tinyurl.py::
shortenurl.py::
URLs werden durch einen Internet-Dienst gekürzt.
Liste der Skripten die sich mit URLs befassen: http://www.weechat.org/scripts/stable/tag/url
Eine Liste der Skripten die sich mit URLs befassen: http://www.weechat.org/scripts/stable/tag/url
[[highlight_notification]]
Wie kann ich informiert werden, wenn jemand in einem Channel highlightet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[change_locale_without_quit]]
Ich möchte die Sprache der Meldungen die WeeChat ausgibt ändern, ohne WeeChat zu verlassen. Ist dies möglich?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
((A.d.Ü) highlight bedeutet, dass der eigene Nick z.B. im Channel genannt wird,
der Nick dessen der ihn schrieb wird farblich hervorgehoben)
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:
Abhängig der WeeChat Version:
/shell setenv LANG=en_US.UTF-8
/upgrade
* WeeChat < = 0.2.6: nutze das Skript 'sound.pl' (verfügbar auf der Skript-Site),
und nehme Einstellungen für einen System-Befehl (um einen Klang zu spielen,
eine Meldung anzuzeigen, ...) mit folgendem Befehl vor: +
`/setp perl.sound.cmd_highlight = "/path/to/command arguments"`
* WeeChat > = 0.3.x: nutze das Skript 'launcher.pl' (verfügbar auf der Skript-Site),
und nehme Einstellungen für einen System-Befehl (um einen Klang zu spielen,
eine Meldung anzuzeigen, ...) mit folgendem Befehl vor: +
`/set plugins.var.perl.launcher.signal.weechat_highlight "/path/to/command arguments"`
Hierdurch erhält man für das Terminal englische, UTF-8 kodierte Meldungen.
Benutzer von ISO-Kodierungen können folgendes eingeben:
`/shell setenv LANG=en_US`.
Es gibt noch andere Skripten, die über solche Ereignisse informieren , bitte
besuche dazu die Skripten-Webseite: http://www.weechat.org/scripts/
[[key_bindings]]
Tastaturbelegung
----------------
[[meta_keys]]
Aus welchem Grund funktionieren manche meta keys (alt + key) nicht?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wenn Du einen Terminal wie xterm oder uxterm nutzten solltest werden einige
meta keys standardmäßig nicht unterstützt.
In diesem Fall sollte folgende Zeile der Konfigurationsdatei '~/.Xresources'
hinzugefügt werden:
* für xterm:
----------------------------------------
XTerm*metaSendsEscape: true
----------------------------------------
* für uxterm:
----------------------------------------
UXTerm*metaSendsEscape: true
----------------------------------------
Danach muss resources neu geladen werden (`xrdb -override ~/.Xresources`) oder
man startet X neu.
[[customize_key_bindings]]
Wie kann ich die Tastaturbelegung anpassen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Die Tasten werden mit dem Befehl `/key` belegt.
Mit der voreingestellten Tastenkombination Meta-k (normal Alt-k) kann man sich den
Code der jeweiligen Taste anzeigen lassen und in die Eingabezeile einfügen.
[[irc]]
IRC
---
[[ignore_vs_filter]]
Was ist der Unterschied zwischen dem Befehl /ignore und /filter?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Der Befehl `/ignore` ist ein IRC-Befehl und beeinflusst somit nur die IRC-Buffer
(Server und Channel).
Durch den Befehl kann man bestimmte Nicks oder Hostnamen von Usern eines Servers oder
von Channels ignorieren (Der Befehl wird nicht auf den Inhalt der Meldung angewandt).
Zutreffende Meldungen werden, bevor sie angezeigt werden, von der IRC-Erweiterung gelöscht
(Du wirst sie niemals zu Gesicht bekommen).
Der Befehl `/filter` ist ein Kern-Befehl (A.d.Ü.: wird in WeeChat ausgeführt und
nicht an den Server gesendet) und beeinflußt somit jeden Buffer.
Dieser Befehl eröffnet die Möglichkeit bestimmte Zeilen in Buffern, mittels Tags und
regulären Ausdrücken nach Präfix und Zeileninhalt zu filtern.
Die Darstellung von gefilterte Zeilen wird nur unterdrückt, die Zeilen werden nicht gelöscht.
Du kannst diese Zeilen sichtbar machen indem Du den Filter deaktivierst (Voreinstellung zum
aktivieren/deaktivieren der Filter: Alt-Taste + "=").
[[filter_irc_join_part_quit]]
Wie kann ich join/part/quit Meldungen der IRC Channels filtern (A.d.ü.: unterdrücken)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wie kann ich join/part/quit Meldungen in den IRC Channels filtern (A.d.ü.: unterdrücken)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entsprechend der WeeChat-Version:
@@ -309,70 +307,177 @@ Entsprechend der WeeChat-Version:
`/filter add jpk * irc_join,irc_part,irc_quit *` +
(Hilfe mit: `/help filter`)
[[ignore_vs_filter]]
Was ist der Unterschied zwischen den Befehlen /ignore und /filter?
[[filter_voice_messages]]
Wie kann ich voice Nachrichten filtern (z.B. auf Bitlbee Servern)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Der Befehl `/ignore` ist ein IRC-Befehl und beeinflußt somit nur die IRC-Buffer
(Server und Channel).
Durch den Befehl kann man bestimmte Nicks oder Hostnamen von Usern eines Servers oder
Channels ignorieren (Der Befehl wird nicht auf den Inhalt der Meldung angewandt).
Passende Meldungen werden von dem IRC-Plugin vor der Anzeige gelöscht (Du wirst
sie niemals zu Gesicht bekommen).
Voice Nachrichten zu filtern ist nicht einfach, da der Voice-Modus mit anderen
Modi in der IRC Nachricht kombiniert werden kann.
Der Befehl `/filter` ist ein Kern-Befehl (A.d.Ü.: wird in WeeChat ausgeführt und
nicht an den Server gesendet) und beeinflußt somit jeden Buffer.
Dieser Befehl eröffnet die Möglichkeit bestimmte Zeilen in Buffern, mittels Tags und
regulären Ausdrücken nach Präfix und Zeileninhalt zu filtern.
Gefilterte Zeilen werden nur unsichtbar - nicht gelöscht. Sehen kannst Du sie
wenn Du den Filter deaktivierst (Voreinstellung zum Aktivieren/Deaktivieren der
Filter: Alt-Taste + "=").
Falls Du Voice Nachrichten z.B. bei Bitlbee unterdrücken möchtest da diese
dazu genutzt werden um den Abwesenheitsstatus anderer User anzuzeigen und Du nicht
von diesen Mitteilungen überflutet werden möchtest, kannst Du WeeChat anweisen
den Nick der abwesend ist in einer speziellen Farbe darzustellen.
Im Channel '&bitlbee':
----------------------------------------
set away_devoice false
----------------------------------------
Um in WeeChat anzeigen zu lassen welche Nicks abwesend sind siehe:
<<color_away_nicks,abwesende Nicks>>.
[[color_away_nicks]]
Wie kann ich mir Nicks in der Nickliste anzeigen lassen, die abwesend sind?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dazu musst Du in der Option 'irc.network.away_check' ein Zeitintervall, in Minuten,
angeben die zwischen zwei Überprüfungen liegen soll.
Mit der Option 'irc.network.away_check_max_nicks' kann festgelegt werden in welchen
Channels eine Überprüfung stattfinden soll. Hierbei stellt der angegebene Wert die
maximale Anzahl an Nicks in einem Channel dar, die den Channel gleichzeitig besuchen.
In folgendem Beispiel wird der Abwesenheitsstatus alle fünf Minuten überprüft. Dabei
werden aber nur Channels berücksichtigt die nicht mehr als 25 Teilnehmer haben:
----------------------------------------
/set irc.network.away_check 5
/set irc.network.away_check_max_nicks 25
----------------------------------------
[[highlight_notification]]
Wie kann ich mich darüber informieren lassen falls mich jemand in einem Channel highlighted
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
((A.d.Ü) Highlight bedeutet, dass der eigene Nick-Name im Channel genannt wird. Ich also
direkt, persönlich, angesprochen werde. Der Nick der Person die mich anschreibt wird dabei
farblich hervorgehoben)
Die Einstellung geschieht abhängig von der WeeChat Version:
* WeeChat < = 0.2.6: nutze das Skript 'sound.pl' (verfügbar auf der Skript-Seite),
und nehme Einstellungen für einen System-Befehl (um einen Klang abzuspielen,
eine Meldung anzuzeigen, ...) mit folgendem Befehl vor: +
`/setp perl.sound.cmd_highlight = "/path/to/command arguments"`
* WeeChat > = 0.3.x: nutze das Skript 'launcher.pl' (verfügbar auf der Skript-Seite),
und nehme Einstellungen für einen System-Befehl (um einen Klang abzuspielen,
eine Meldung anzuzeigen, ...) mit folgendem Befehl vor: +
`/set plugins.var.perl.launcher.signal.weechat_highlight "/path/to/command arguments"`
Es gibt noch andere Skripten, die über verschiedene Ereignisse informieren , bitte
besuche dazu die Skripten-Webseite: http://www.weechat.org/scripts/
[[plugins_scripts]]
Erweiterungen / Skripten
------------------------
[[openbsd_plugins]]
Ich benutze OpenBSD und 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:
* WeeChat < = 0.2.6: +
`/set plugins_extension = ".so.0.0"`
* WeeChat > = 0.3.x: +
`/set weechat.plugin.extension ".so.0.0"`
Danach: `/plugin autoload`.
[[load_scripts]]
Wie kann ich Perl/Python/Ruby/Lua/Tcl Skripten laden? Sind Skripten kompatibel zu anderen IRC-Clients?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Die Skripten für WeeChat sind mit anderer IRC-Clients nicht kompatibel und vice versa.
Um Skripten zu laden nutze den Befehl für die jeweilige Skriptsprache:
`/perl`, `/python`, `/ruby`, `/lua` und `/tcl`
Anmerkung:
* Voreingestellter Pfad der Skripten: '~/.weechat/<Skriptsprache>/'
* Skripten die sich im Verzeichnis '~/.weechat/<Skriptsprache>/autoload/' befinden werden
beim Start von WeeChat automatisch geladen.
* Eine 'tcl' Erweiterung ist ab Version > = 0.3.0 verfügbar.
[[settings]]
Einstellungen
-------------
[[memory_usage]]
Wie kann ich WeeChat dazu bringen weniger Speicher zu verbrauchen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Du kannst folgende Tipps umsetzen damit WeeChat weniger Speicher benötigt:
* nutze die aktuelle Version (man kann davon ausgehen das eine aktuelle Version
weniger Speicherlecks besitzt, als eine ältere Version)
* lade keine Erweiterungen die Du nicht benötigst. Zum Beispiel: ASpell, Fifo,
Logger, Perl, Python, Ruby, Lua, Tcl, Xfer (wird für DCC benötigst)
* lade nur Skripten die Du auch benutzt
* nutze einen kleineren Wert für die Option 'weechat.history.max_lines' (Anzahl
der Zeilen die für jeden Buffer im Speicher gehalten werden soll)
* nutze einen kleineren Wert für die Option 'weechat.history.max_commands' (Anzahl
des Verlaufsspeichers, für Befehle, die im Speicher gehalten werden sollen)
[[development]]
Entwicklung
-----------
[[bug_task_patch]]
Was mache ich um Fehler zu melden, nach neuen Funktionen zu fragen oder Patches einzusenden?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Was kann ich machen falls ich einen Fehler gefunden habe, nach neuen Funktionen fragen oder Patches einsenden möchte?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Es gibt drei Möglichkeiten:
. Du kannst zu uns in den IRC kommen: 'irc.freenode.net', channel '#weechat'
. Du kannst die Internetseite savannah nutzen:
* Fehler melden: https://savannah.nongnu.org/bugs/?group=weechat
* Nach einer neuen Funktion fragen: https://savannah.nongnu.org/task/?group=weechat
* Patch senden: https://savannah.nongnu.org/patch/?group=weechat
* Einen Fehler melden: https://savannah.nongnu.org/bugs/?group=weechat
* Einen Verbesserungsvorschlag machen: https://savannah.nongnu.org/task/?group=weechat
* Einen Patch einsenden: https://savannah.nongnu.org/patch/?group=weechat
. Du kannst den Entwicklern mailen, entsprechende Mail-Adressen auf der Supportseite:
http://www.weechat.org/about
(Um emails an die "support" Mailing-Liste zu schicken, kannst Du diese abonnieren)
[[supported_os]]
Auf welchen Plattformen läuft WeeChat? Wird es noch auf anderen Betriebssystemen portiert?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Auf welchen Plattformen läuft WeeChat? Wird es noch auf andere Betriebssystemen portiert?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Die gesamte Liste gibt es unter: http://www.weechat.org/download
Eine vollständige Liste der Portierungen findest Du unter: http://www.weechat.org/download
Wir geben unser Bestes um WeeChat auf möglichst vielen Plattformen lauffähig zu
machen. Um WeeChat auf Betriebssystemen zu testen, zu denen wir keinen Zugang
haben, ist Hilfe willkommenen.
Wir geben unser Bestes um WeeChat auf möglichst viele Plattformen zu portieren.
Aber um WeeChat auf Betriebssystemen zu testen, zu denen wir keinen Zugang haben,
ist Hilfe gerne gesehen.
[[help_developers]]
Ich möchte den Entwicklern von WeeChat helfen. Was kann ich tun?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Es gibt einiges zu tun z.B. Testen, Programmieren, Dokumentation, ...
Es gibt einiges zu tun z.B. testen, programmieren, Dokumentation, ...
Bitte kontaktiere uns via IRC oder email, schaue auf die Support-Seite:
http://www.weechat.org/about
[[donate]]
Kann ich Geld oder Anderes an die Entwickler von WeeChat spenden?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kann ich Geld oder anderes an die WeeChat Entwickler spenden?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Du kannst uns Geld zur Unterstützung der weitern Entwicklung spenden.
Du kannst uns Geld zur Unterstützung der weiteren Entwicklung spenden.
Details hierzu gibt es auf: http://www.weechat.org/donate
+3 -3
View File
@@ -89,11 +89,11 @@ 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 bestimmst.
Diese Vorgabeoptionen sind "irc.server_default.*".
Diese Vorgabeoptionen sind "irc.server_default.*".
Für jede Server-Option benutzt WeeChat den entsprechend gesetzten Wert - falls
definiert (nicht "null"). Andernfalls verwendet WeeChat Vorgabewerte
("irc.server_default.xxx").
("irc.server_default.xxx").
Als Beispiel erwähnt seien die Vorgabe (default) nicks, die auf dem Un*x Login
basieren. Diese können nun für oftc-Server mittels folgendem Befehl
@@ -215,7 +215,7 @@ Belegungen kennen:
- 'alt + A': springe zum Puffer mit Aktivität (aus der Hotlist)
Gemäß Deiner Tastatur und/oder Deinen Bedürfnissen kannst Du jede Taste mittels
des Befehls `/key` neu mit einem Befehl belegen.
des Befehls `/key` neu mit einem Befehl belegen.
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`:
+1 -1
View File
@@ -54,7 +54,7 @@ Du könntest Dich ja dazu entscheiden es manuell zu bauen (empfohlen):
* die GIT Version kann parallel zur stabilen Version gebaut und installiert
werden.
* Du benötigst keine Root-Rechte, und opfern brauchst Du Deine stabile Version
von WeeChat auch nicht.
von WeeChat auch nicht.
[[get_sources]]
Beschaffe und baue die Quellen
+68 -20
View File
@@ -53,7 +53,7 @@ my $version = "0.1";
my $default_path = "~/src/weechat/doc";
# list of locales for which we want to build XML doc files to include
my @locale_list = qw(en_US fr_FR it_IT);
my @all_locale_list = qw(en_US fr_FR it_IT);
# all commands/options/.. of following plugins will produce a file
# non-listed plugins will be ignored
@@ -96,19 +96,33 @@ my @ignore_infolists_plugins = ();
# completions to ignore
my @ignore_completions_plugins = ();
my @ignore_completions_items = ("jabber.*",
my @ignore_completions_items = ("docgen.*",
"jabber.*",
"weeget.*");
# for gettext
my $d;
# -------------------------------[ init ]--------------------------------------
weechat::register("docgen", "FlashCode <flashcode\@flashtux.org>", $version,
"GPL", "Doc generator for WeeChat 0.3.x", "", "");
weechat::hook_command("docgen", "Doc generator", "", "", "", "docgen", "");
"GPL3", "Doc generator for WeeChat 0.3.x", "", "");
weechat::hook_command("docgen", "Doc generator",
"[locales]",
"locales: list of locales to build (by default build all locales)",
"%(docgen_locales)|%*", "docgen", "");
weechat::hook_completion("docgen_locales", "locales for docgen", "docgen_completion", "");
weechat::config_set_plugin("path", $default_path)
if (weechat::config_get_plugin("path") eq "");
# -----------------------------------------------------------------------------
# gettext
sub weechat_gettext
{
return $d->get($_[0]);
}
# get list of commands in a hash with 3 indexes: plugin, command, xxx
sub get_commands
{
@@ -197,6 +211,7 @@ sub get_infos
if ($ignore ne 1)
{
$infos{$plugin}{$info_name}{"description"} = weechat::infolist_string($infolist, "description");
$infos{$plugin}{$info_name}{"args_description"} = weechat::infolist_string($infolist, "args_description");
}
}
weechat::infolist_free($infolist);
@@ -227,6 +242,8 @@ sub get_infolists
if ($ignore ne 1)
{
$infolists{$plugin}{$infolist_name}{"description"} = weechat::infolist_string($infolist, "description");
$infolists{$plugin}{$infolist_name}{"pointer_description"} = weechat::infolist_string($infolist, "pointer_description");
$infolists{$plugin}{$infolist_name}{"args_description"} = weechat::infolist_string($infolist, "args_description");
}
}
weechat::infolist_free($infolist);
@@ -285,6 +302,11 @@ sub escape_table
# build XML doc files (command /docgen)
sub docgen
{
my ($data, $buffer, $args) = ($_[0], $_[1], $_[2]);
my @locale_list = @all_locale_list;
@locale_list = split(/ /, $args) if ($args ne "");
my %plugin_commands = get_commands();
my %plugin_options = get_options();
my %plugin_infos = get_infos();
@@ -301,6 +323,7 @@ sub docgen
my $num_files = 0;
my $num_files_updated = 0;
my $filename = "";
foreach my $locale (@locale_list)
{
my $num_files_commands = 0;
@@ -315,7 +338,7 @@ sub docgen
my $num_files_completions_updated = 0;
setlocale(LC_MESSAGES, $locale.".UTF-8");
my $d = Locale::gettext->domain_raw("weechat");
$d = Locale::gettext->domain_raw("weechat");
$d->codeset("UTF-8");
$d->dir(weechat::info_get("weechat_localedir", ""));
@@ -414,21 +437,21 @@ sub docgen
}
if ($type eq "string")
{
$values = $d->get("any string") if ($max <= 0);
$values = $d->get("any char") if ($max == 1);
$values = $d->get("any string")." (".$d->get("max chars").": ".$max.")" if ($max > 1);
$values = weechat_gettext("any string") if ($max <= 0);
$values = weechat_gettext("any char") if ($max == 1);
$values = weechat_gettext("any string")." (".weechat_gettext("max chars").": ".$max.")" if ($max > 1);
$default_value = "\"".escape_string($default_value)."\"";
}
if ($type eq "color")
{
$values = $d->get("a color name");
$values = weechat_gettext("a color name");
}
print FILE "* *".$config.".".$section.".".$option."*\n";
print FILE "** ".$d->get("description").": ".$description."\n";
print FILE "** ".$d->get("type").": ".$type_nls."\n";
print FILE "** ".$d->get("values").": ".$values." "
."(".$d->get("default value").": ".$default_value.")\n\n";
print FILE "** ".weechat_gettext("description").": ".$description."\n";
print FILE "** ".weechat_gettext("type").": ".$type_nls."\n";
print FILE "** ".weechat_gettext("values").": ".$values." "
."(".weechat_gettext("default value").": ".$default_value.")\n\n";
}
}
#weechat::print("", "docgen: file ok: '$filename'");
@@ -457,18 +480,22 @@ sub docgen
$filename = $dir."plugin_api/infos.txt";
if (open(FILE, ">".$filename.".tmp"))
{
print FILE "[width=\"65%\",cols=\"^1,^2,8\",options=\"header\"]\n";
print FILE "[width=\"100%\",cols=\"^1,^2,6,6\",options=\"header\"]\n";
print FILE "|========================================\n";
print FILE "| ".$d->get("Plugin")." | ".$d->get("Name")." | ".$d->get("Description")."\n";
print FILE "| ".weechat_gettext("Plugin")." | ".weechat_gettext("Name")
." | ".weechat_gettext("Description")." | ".weechat_gettext("Arguments")."\n\n";
foreach my $plugin (sort keys %plugin_infos)
{
foreach my $info (sort keys %{$plugin_infos{$plugin}})
{
my $description = $plugin_infos{$plugin}{$info}{"description"};
$description = $d->get($description) if ($description ne "");
my $args_description = $plugin_infos{$plugin}{$info}{"args_description"};
$args_description = $d->get($args_description) if ($args_description ne "");
$args_description = "-" if ($args_description eq "");
print FILE "| ".escape_table($plugin)." | ".escape_table($info)
." | ".escape_table($description)."\n\n";
." | ".escape_table($description)." | ".escape_table($args_description)."\n\n";
}
}
print FILE "|========================================\n";
@@ -497,18 +524,27 @@ sub docgen
$filename = $dir."plugin_api/infolists.txt";
if (open(FILE, ">".$filename.".tmp"))
{
print FILE "[width=\"65%\",cols=\"^1,^2,8\",options=\"header\"]\n";
print FILE "[width=\"100%\",cols=\"^1,^2,5,5,5\",options=\"header\"]\n";
print FILE "|========================================\n";
print FILE "| ".$d->get("Plugin")." | ".$d->get("Name")." | ".$d->get("Description")."\n";
print FILE "| ".weechat_gettext("Plugin")." | ".weechat_gettext("Name")
." | ".weechat_gettext("Description")." | ".weechat_gettext("Pointer")
." | ".weechat_gettext("Arguments")."\n\n";
foreach my $plugin (sort keys %plugin_infolists)
{
foreach my $infolist (sort keys %{$plugin_infolists{$plugin}})
{
my $description = $plugin_infolists{$plugin}{$infolist}{"description"};
$description = $d->get($description) if ($description ne "");
my $pointer_description = $plugin_infolists{$plugin}{$infolist}{"pointer_description"};
$pointer_description = $d->get($pointer_description) if ($pointer_description ne "");
$pointer_description = "-" if ($pointer_description eq "");
my $args_description = $plugin_infolists{$plugin}{$infolist}{"args_description"};
$args_description = $d->get($args_description) if ($args_description ne "");
$args_description = "-" if ($args_description eq "");
print FILE "| ".escape_table($plugin)." | ".escape_table($infolist)
." | ".escape_table($description)."\n\n";
." | ".escape_table($description)." | ".escape_table($pointer_description)
." | ".escape_table($args_description)."\n\n";
}
}
print FILE "|========================================\n";
@@ -539,7 +575,8 @@ sub docgen
{
print FILE "[width=\"65%\",cols=\"^1,^2,8\",options=\"header\"]\n";
print FILE "|========================================\n";
print FILE "| ".$d->get("Plugin")." | ".$d->get("Name")." | ".$d->get("Description")."\n";
print FILE "| ".weechat_gettext("Plugin")." | ".weechat_gettext("Name")
." | ".weechat_gettext("Description")."\n\n";
foreach my $plugin (sort keys %plugin_completions)
{
foreach my $completion_item (sort keys %{$plugin_completions{$plugin}})
@@ -601,3 +638,14 @@ sub docgen
return weechat::WEECHAT_RC_OK;
}
sub docgen_completion
{
my ($data, $completion_item, $buffer, $completion) = ($_[0], $_[1], $_[2], $_[3]);
foreach my $locale (@all_locale_list)
{
weechat::hook_completion_list_add($completion, $locale, 0, weechat::WEECHAT_LIST_POS_SORT);
}
return weechat::WEECHAT_RC_OK;
}
+8 -8
View File
@@ -17,14 +17,14 @@
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
weechat_user.en.txt \
weechat_plugin_api.en.txt \
weechat_scripting.en.txt \
weechat_faq.en.txt \
weechat_quickstart.en.txt \
weechat_tester.en.txt \
$(wildcard autogen/user/*.txt) \
$(wildcard autogen/plugin_api/*.txt)
weechat_user.en.txt \
weechat_plugin_api.en.txt \
weechat_scripting.en.txt \
weechat_faq.en.txt \
weechat_quickstart.en.txt \
weechat_tester.en.txt \
$(wildcard autogen/user/*.txt) \
$(wildcard autogen/plugin_api/*.txt)
all-local: weechat_user.en.html \
weechat_plugin_api.en.html \
@@ -1,6 +1,7 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
| Plugin | Name | Description
| alias | alias | list of aliases
| aspell | aspell_langs | list of supported langs for aspell
@@ -53,6 +54,10 @@
| weechat | bars_options | options for bars
| weechat | buffer_properties_get | properties that can be read on a buffer
| weechat | buffer_properties_set | properties that can be set on a buffer
| weechat | buffers_names | names of buffers
| weechat | buffers_numbers | numbers of buffers
@@ -77,6 +82,8 @@
| weechat | keys_codes | key codes
| weechat | keys_codes_for_reset | key codes that can be reset (keys added, redefined or removed)
| weechat | nicks | nicks in nicklist of current buffer
| weechat | plugins_commands | commands defined by plugins
+30 -29
View File
@@ -1,58 +1,59 @@
[width="65%",cols="^1,^2,8",options="header"]
[width="100%",cols="^1,^2,5,5,5",options="header"]
|========================================
| Plugin | Name | Description
| alias | alias | list of aliases
| Plugin | Name | Description | Pointer | Arguments
| irc | irc_channel | list of channels for an IRC server
| alias | alias | list of aliases | alias pointer (optional) | alias name (can start or end with "*" as joker) (optional)
| irc | irc_ignore | list of IRC ignores
| irc | irc_channel | list of channels for an IRC server | channel pointer (optional) | server name
| irc | irc_nick | list of nicks for an IRC channel
| irc | irc_ignore | list of IRC ignores | ignore pointer (optional) | -
| irc | irc_server | list of IRC servers
| irc | irc_nick | list of nicks for an IRC channel | nick pointer (optional) | server,channel,nick (channel and nick are optional)
| logger | logger_buffer | list of logger buffers
| irc | irc_server | list of IRC servers | server pointer (optional) | server name (can start or end with "*" as joker) (optional)
| lua | lua_script | list of scripts
| logger | logger_buffer | list of logger buffers | logger pointer (optional) | -
| perl | perl_script | list of scripts
| lua | lua_script | list of scripts | script pointer (optional) | script name (can start or end with "*" as joker) (optional)
| python | python_script | list of scripts
| perl | perl_script | list of scripts | script pointer (optional) | script name (can start or end with "*" as joker) (optional)
| relay | relay | list of relay clients
| python | python_script | list of scripts | script pointer (optional) | script name (can start or end with "*" as joker) (optional)
| ruby | ruby_script | list of scripts
| relay | relay | list of relay clients | relay pointer (optional) | -
| tcl | tcl_script | list of scripts
| ruby | ruby_script | list of scripts | script pointer (optional) | script name (can start or end with "*" as joker) (optional)
| weechat | bar | list of bars
| tcl | tcl_script | list of scripts | script pointer (optional) | script name (can start or end with "*" as joker) (optional)
| weechat | bar_item | list of bar items
| weechat | bar | list of bars | bar pointer (optional) | bar name (can start or end with "*" as joker) (optional)
| weechat | bar_window | list of bar windows
| weechat | bar_item | list of bar items | bar item pointer (optional) | bar item name (can start or end with "*" as joker) (optional)
| weechat | buffer | list of buffers
| weechat | bar_window | list of bar windows | bar window pointer (optional) | -
| weechat | buffer_lines | lines of a buffer
| weechat | buffer | list of buffers | buffer pointer (optional) | buffer name (can start or end with "*" as joker) (optional)
| weechat | filter | list of filters
| weechat | buffer_lines | lines of a buffer | buffer pointer | -
| weechat | history | history of commands
| weechat | filter | list of filters | - | filter name (can start or end with "*" as joker) (optional)
| weechat | hook | list of hooks
| weechat | history | history of commands | buffer pointer (if not set, return global history) (optional) | -
| weechat | hotlist | list of buffers in hotlist
| weechat | hook | list of hooks | - | hook type: command, timer, .. (optional)
| weechat | key | list of key bindings
| weechat | hotlist | list of buffers in hotlist | - | -
| weechat | nicklist | nicks in nicklist for a buffer
| weechat | key | list of key bindings | - | -
| weechat | option | list of options
| weechat | nicklist | nicks in nicklist for a buffer | buffer pointer | nick_xxx or group_xxx to get only nick/group xxx (optional)
| weechat | plugin | list of plugins
| weechat | option | list of options | - | option name (can start or end with "*" as joker) (optional)
| weechat | window | list of windows
| weechat | plugin | list of plugins | plugin pointer (optional) | plugin name (can start or end with "*" as joker) (optional)
| xfer | xfer | list of xfer
| weechat | window | list of windows | window pointer (optional) | window name (can start or end with "*" as joker) (optional)
| xfer | xfer | list of xfer | xfer pointer (optional) | -
|========================================
+26 -21
View File
@@ -1,42 +1,47 @@
[width="65%",cols="^1,^2,8",options="header"]
[width="100%",cols="^1,^2,6,6",options="header"]
|========================================
| Plugin | Name | Description
| fifo | fifo_filename | name of FIFO pipe
| Plugin | Name | Description | Arguments
| irc | irc_buffer | get buffer pointer for an IRC server/channel
| fifo | fifo_filename | name of FIFO pipe | -
| irc | irc_is_channel | 1 if string is an IRC channel
| irc | irc_buffer | get buffer pointer for an IRC server/channel/nick | server,channel,nick (channel and nicks are optional)
| irc | irc_nick | get current nick on a server
| irc | irc_is_channel | 1 if string is a valid IRC channel name | channel name
| irc | irc_nick_color | get nick color
| irc | irc_is_nick | 1 if string is a valid IRC nick name | nickname
| irc | irc_nick_from_host | get nick from IRC host
| irc | irc_nick | get current nick on a server | server name
| weechat | charset_internal | WeeChat internal charset
| irc | irc_nick_color | get nick color | nickname
| weechat | charset_terminal | terminal charset
| irc | irc_nick_from_host | get nick from IRC host | IRC host (like `:nick!name@server.com`)
| weechat | date | WeeChat compilation date
| weechat | charset_internal | WeeChat internal charset | -
| weechat | dir_separator | directory separator
| weechat | charset_terminal | terminal charset | -
| weechat | filters_enabled | 1 if filters are enabled
| weechat | date | WeeChat compilation date | -
| weechat | inactivity | keyboard inactivity (seconds)
| weechat | dir_separator | directory separator | -
| weechat | version | WeeChat version
| weechat | filters_enabled | 1 if filters are enabled | -
| weechat | weechat_dir | WeeChat directory
| weechat | inactivity | keyboard inactivity (seconds) | -
| weechat | weechat_libdir | WeeChat "lib" directory
| weechat | version | WeeChat version | -
| weechat | weechat_localedir | WeeChat "locale" directory
| weechat | version_number | WeeChat version (as number) | -
| weechat | weechat_sharedir | WeeChat "share" directory
| weechat | weechat_dir | WeeChat directory | -
| weechat | weechat_site | WeeChat site
| weechat | weechat_libdir | WeeChat "lib" directory | -
| weechat | weechat_site_download | WeeChat site, download page
| weechat | weechat_localedir | WeeChat "locale" directory | -
| weechat | weechat_sharedir | WeeChat "share" directory | -
| weechat | weechat_site | WeeChat site | -
| weechat | weechat_site_download | WeeChat site, download page | -
|========================================
+12 -1
View File
@@ -1,8 +1,9 @@
&bull; *`/alias`* `[alias_name [command [arguments]]]`::
&bull; *`/alias`* `[[-completion completion] alias_name [command [arguments]]]`::
........................................
create an alias for a command
completion: completion for alias (optional, by default completion is done with target command)
alias_name: name of alias (can start or end with "*" for alias listing)
command: command name (many commands can be separated by semicolons)
arguments: arguments for command
@@ -19,5 +20,15 @@
$nick: current nick
$channel: current channel
$server: current server
To remove an alias, use command /unalias.
Examples:
alias /split to split window horizontally:
/alias split /window splith
alias /hello to say "hello" on all channels but not on #weechat:
/alias hello /allchan -exclude=#weechat msg * hello
alias /forcejoin to send IRC command "forcejoin" with completion of /sajoin:
/alias -completion %%sajoin forcejoin /quote forcejoin
........................................
+35 -19
View File
@@ -41,15 +41,6 @@
/allserv away I'm away
........................................
&bull; *`/away`* `[-all] [message]`::
........................................
toggle away status
-all: toggle away status on all connected servers
message: message for away (if no message is given, away status is removed)
........................................
&bull; *`/ban`* `[channel] [nickname [nickname ...]]`::
........................................
@@ -59,12 +50,13 @@
nickname: user or host to ban
........................................
&bull; *`/connect`* `[-all [-nojoin] | servername [servername ...] [-nojoin] | hostname[/port] [-option[=value]] [-nooption]]`::
&bull; *`/connect`* `[-all [-nojoin] | -open [-nojoin] | servername [servername ...] [-nojoin] | hostname[/port] [-option[=value]] [-nooption]]`::
........................................
connect to IRC server(s)
-all: connect to all servers
-all: connect to all servers defined in configuration
-open: connect to all opened servers that are not currently connected
servername: internal server name to connect (server must have been created by /server add)
-nojoin: do not join any channel (even if autojoin is enabled on server)
hostname: hostname (or IP) of a server
@@ -107,6 +99,12 @@
action: 'send' (file) or 'chat'
nickname: nickname to send file or chat
file: filename (on local host)
Examples:
chat with nick "toto":
/dcc chat toto
send file "/home/foo/bar.txt" to nick "toto":
/dcc send toto /home/foo/bar.txt
........................................
&bull; *`/dehalfop`* `[nickname [nickname]]`::
@@ -224,9 +222,11 @@
nickname: nickname to kick and ban
comment: comment for kick
It is possible to kick/ban with a mask, nick will be extracted from mask and replaced by "*", for example:
/kickban toto!*@host.com
will ban "*!*@host.com" and then kick "toto".
It is possible to kick/ban with a mask, nick will be extracted from mask and replaced by "*".
Example:
ban "*!*@host.com" and then kick "toto":
/kickban toto!*@host.com
........................................
&bull; *`/kill`* `nickname comment`::
@@ -247,13 +247,22 @@
server_mask: list of servers must match this mask
........................................
&bull; *`/list`* `[channel[,channel] [server]]`::
&bull; *`/list`* `[channel[,channel] [server] [-re regexp]]`::
........................................
list channels and their topic
channel: channel to list (a regexp is allowed)
server: server name
channel: channel to list
server: server name
regexp: regular expression used to filter results
Examples:
list all channels on server (can be very slow on large networks):
/list
list channel #weechat:
/list #weechat
list all channels beginning with "#weechat" (can be very slow on large networks):
/list -re #weechat.*
........................................
&bull; *`/lusers`* `[mask [target]]`::
@@ -265,6 +274,12 @@
target: server for forwarding request
........................................
&bull; *`/map`*::
........................................
show a graphical map of the IRC network
........................................
&bull; *`/me`* `message`::
........................................
@@ -479,11 +494,11 @@
........................................
list, add or remove IRC servers
list: list servers (no parameter implies this list)
list: list servers (without argument, this list is displayed)
listfull: list servers with detailed info for each server
add: create a new server
servername: server name, for internal and display use
hostname: name or IP address of server, with optional port (default: 6667)
hostname: name or IP address of server, with optional port (default: 6667), many addresses can be separated by a comma
temp: create temporary server (not saved)
option: set option for server (for boolean option, value can be omitted)
nooption: set boolean option to 'off' (for example: -nossl)
@@ -500,6 +515,7 @@
/server add oftc irc.oftc.net/6697 -ssl -autoconnect
/server add oftc6 irc6.oftc.net/6697 -ipv6 -ssl
/server add freenode2 chat.eu.freenode.net/6667,chat.us.freenode.net/6667
/server add freenode3 irc.freenode.net -password=mypass
/server copy oftc oftcbis
/server rename oftc newoftc
/server del freenode
+61 -11
View File
@@ -43,11 +43,6 @@
** type: integer
** values: off, local, channel (default value: local)
* *irc.look.display_channel_modes*
** description: display channel modes in "buffer_name" bar item
** type: boolean
** values: on, off (default value: on)
* *irc.look.display_ctcp_blocked*
** description: display CTCP message even if it is blocked
** type: boolean
@@ -63,11 +58,6 @@
** type: boolean
** values: on, off (default value: on)
* *irc.look.display_nick_modes*
** description: display nick modes in "input_prompt" bar item
** type: boolean
** values: on, off (default value: on)
* *irc.look.display_old_topic*
** description: display old topic when channel topic is changed
** type: boolean
@@ -83,11 +73,31 @@
** type: string
** values: any string (default value: "irc_privmsg,irc_notice")
* *irc.look.item_channel_modes*
** description: display channel modes in "buffer_name" bar item
** type: boolean
** values: on, off (default value: on)
* *irc.look.item_channel_modes_hide_key*
** description: hide channel key if modes are displayed in "buffer_name" bar item (this will hide all channel modes arguments if mode +k is set on channel)
** type: boolean
** values: on, off (default value: off)
* *irc.look.item_display_server*
** description: name of bar item where IRC server is displayed (for status bar)
** type: integer
** values: buffer_plugin, buffer_name (default value: buffer_plugin)
* *irc.look.item_nick_modes*
** description: display nick modes in "input_prompt" bar item
** type: boolean
** values: on, off (default value: on)
* *irc.look.item_nick_prefix*
** description: display nick prefix in "input_prompt" bar item
** type: boolean
** values: on, off (default value: on)
* *irc.look.msgbuffer_fallback*
** description: default target buffer for msgbuffer options when target is private and that private buffer is not found
** type: integer
@@ -123,6 +133,11 @@
** type: boolean
** values: on, off (default value: off)
* *irc.look.part_closes_buffer*
** description: close buffer when /part is issued on a channel
** type: boolean
** values: on, off (default value: off)
* *irc.look.raw_messages*
** description: number of IRC raw messages to save in memory when raw data buffer is closed (messages will be displayed when opening raw data buffer)
** type: integer
@@ -141,13 +156,23 @@
* *irc.look.smart_filter*
** description: filter join/part/quit messages for a nick if not speaking for some minutes on channel (you must create a filter on tag "irc_smart_filter")
** type: boolean
** values: on, off (default value: off)
** values: on, off (default value: on)
* *irc.look.smart_filter_delay*
** description: delay for filtering join/part/quit messages (in minutes)
** type: integer
** values: 1 .. 10080 (default value: 5)
* *irc.look.smart_filter_join*
** description: enable smart filter for "join" messages
** type: boolean
** values: on, off (default value: on)
* *irc.look.smart_filter_quit*
** description: enable smart filter for "part" and "quit" messages
** type: boolean
** values: on, off (default value: on)
* *irc.look.topic_strip_colors*
** description: strip colors in topic (used only when displaying buffer title)
** type: boolean
@@ -183,6 +208,11 @@
** type: boolean
** values: on, off (default value: on)
* *irc.network.connection_timeout*
** description: timeout (in seconds) between TCP connection to server and message 001 received, if this timeout is reached before 001 message is received, WeeChat will disconnect from server
** type: integer
** values: 1 .. 3600 (default value: 60)
* *irc.network.default_msg_part*
** description: default part message (leaving channel) ("%v" will be replaced by WeeChat version in string)
** type: string
@@ -288,6 +318,26 @@
** type: string
** values: any string (default value: "")
* *irc.server_default.sasl_mechanism*
** description: mechanism for SASL authentication
** type: integer
** values: plain, dh-blowfish (default value: plain)
* *irc.server_default.sasl_password*
** description: password for SASL authentication
** type: string
** values: any string (default value: "")
* *irc.server_default.sasl_timeout*
** description: timeout (in seconds) before giving up SASL authentication
** type: integer
** values: 1 .. 3600 (default value: 15)
* *irc.server_default.sasl_username*
** description: username for SASL authentication
** type: string
** values: any string (default value: "")
* *irc.server_default.ssl*
** description: use SSL for server communication
** type: boolean
-1
View File
@@ -15,7 +15,6 @@
/logger set 5
disable logging for current buffer:
/logger disable
set level to 3 for all IRC buffers:
/set logger.level.irc 3
disable logging for main WeeChat buffer:
+2 -2
View File
@@ -9,7 +9,7 @@
** values: on, off (default value: off)
* *logger.file.mask*
** description: default file name mask for log files (format is "directory/to/file" or "file", without first "/" because "path" option is used to build complete path to file); local buffer variables are permitted
** description: default file name mask for log files (format is "directory/to/file" or "file", without first "/" because "path" option is used to build complete path to file); local buffer variables are permitted; date specifiers are permitted (see man strftime)
** type: string
** values: any string (default value: "$plugin.$name.weechatlog")
@@ -19,7 +19,7 @@
** values: on, off (default value: on)
* *logger.file.path*
** description: path for WeeChat log files ("%h" will be replaced by WeeChat home, "~/.weechat" by default)
** description: path for WeeChat log files; "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default); date specifiers are permitted (see man strftime)
** type: string
** values: any string (default value: "%h/logs/")
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/lua`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload] | [unload [name]]`::
&bull; *`/lua`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload [name]] | [unload [name]]`::
........................................
list/load/unload scripts
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/perl`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload] | [unload [name]]`::
&bull; *`/perl`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload [name]] | [unload [name]]`::
........................................
list/load/unload scripts
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/python`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload] | [unload [name]]`::
&bull; *`/python`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload [name]] | [unload [name]]`::
........................................
list/load/unload scripts
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/ruby`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload] | [unload [name]]`::
&bull; *`/ruby`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload [name]] | [unload [name]]`::
........................................
list/load/unload scripts
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/tcl`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload] | [unload [name]]`::
&bull; *`/tcl`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload [name]] | [unload [name]]`::
........................................
list/load/unload scripts
+96 -30
View File
@@ -1,3 +1,12 @@
&bull; *`/away`* `[-all] [message]`::
........................................
toggle away status
-all: toggle away status on all connected servers
message: message for away (if no message is given, away status is removed)
........................................
&bull; *`/bar`* `[add barname type[,cond1,cond2,...] position size separator item1,item2,...] | [default] | [del barname|-all] | [set barname option value] | [hide|show|toggle barname] | [scroll barname buffer scroll_value] | [list] | [listfull] | [listitems]`::
........................................
@@ -44,7 +53,7 @@
/bar scroll nicklist * ye
........................................
&bull; *`/buffer`* `[clear [number | -merged | -all] | move number | merge number | unmerge [number] | close [n1[-n2]] | list | notify level | localvar | set property value | number | name]`::
&bull; *`/buffer`* `[clear [number | -merged | -all] | move number | merge number | unmerge [number] | close [n1[-n2]] | list | notify level | localvar | set property value | get property | number | name]`::
........................................
manage buffers
@@ -55,7 +64,7 @@
(by default ctrl-x switches between merged buffers)
unmerge: unmerge buffer from other buffers which have same number
close: close buffer (number/range is optional)
list: list buffers (no parameter implies this list)
list: list buffers (without argument, this list is displayed)
notify: set notify level for current buffer: this level determines whether buffer will be added to hotlist or not:
none: never
highlight: for highlights only
@@ -64,6 +73,7 @@
reset: reset to default value (all)
localvar: display local variables for current buffer
set: set a property for current buffer
get: display a property of current buffer
number: jump to buffer by number, possible prefix:
'+': relative jump, add number to current
'-': relative jump, sub number to current
@@ -71,15 +81,22 @@
name: jump to buffer by (partial) name
Examples:
clear current buffer: /buffer clear
clear all buffers: /buffer clear -all
move buffer: /buffer move 5
merge with core buffer: /buffer merge 1
unmerge buffer: /buffer unmerge
close current buffer: /buffer close
close buffers 5 to 7: /buffer close 5-7
jump to #weechat: /buffer #weechat
jump to next buffer: /buffer +1
clear current buffer:
/buffer clear
move buffer to number 5:
/buffer move 5
merge with core buffer:
/buffer merge 1
unmerge buffer:
/buffer unmerge
close current buffer:
/buffer close
close buffers 5 to 7:
/buffer close 5-7
jump to #weechat:
/buffer #weechat
jump to next buffer:
/buffer +1
........................................
&bull; *`/command`* `plugin command`::
@@ -124,11 +141,18 @@
The default key alt+'=' toggles filtering on/off.
Tags most commonly used:
no_filter, no_highlight, log0..log9 (log level),
notify_message, notify_private, notify_highlight,
irc_xxx (xxx is command name or number, see /server raw), irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
Examples:
use IRC smart filter for join/part/quit messages:
/filter add irc_smart * irc_smart_filter *
filter all IRC join/part/quit messages:
/filter add joinquit * irc_join,irc_part,irc_quit *
filter nicks displayed when joining channels or with /names:
/filter add nicks * irc_366 *
filter nick "toto" on IRC channel #weechat:
/filter add toto irc.freenode.#weechat * toto\t
filter lines containing word "spam":
@@ -155,7 +179,7 @@
value: number of history entries to show
........................................
&bull; *`/input`* `return | complete_next | complete_previous | search_next | delete_previous_char | delete_next_char | delete_previous_word | delete_next_word | delete_beginning_of_line | delete_end_of_line | delete_line | clipboard_paste | transpose_chars | move_beginning_of_line | move_end_of_line | move_previous_char | move_next_char | move_previous_word | move_next_word | history_previous | history_next | history_global_previous | history_global_next | jump_smart | jump_last_buffer | jump_previously_visited_buffer | jump_next_visited_buffer | hotlist_clear | grab_key | grab_key_command | scroll_unread | set_unread | set_unread_current_buffer | insert [args]`::
&bull; *`/input`* `return | complete_next | complete_previous | search_next | delete_previous_char | delete_next_char | delete_previous_word | delete_next_word | delete_beginning_of_line | delete_end_of_line | delete_line | clipboard_paste | transpose_chars | move_beginning_of_line | move_end_of_line | move_previous_char | move_next_char | move_previous_word | move_next_word | history_previous | history_next | history_global_previous | history_global_next | jump_smart | jump_last_buffer | jump_previously_visited_buffer | jump_next_visited_buffer | hotlist_clear | grab_key | grab_key_command | scroll_unread | set_unread | set_unread_current_buffer | switch_active_buffer | switch_active_buffer_previous | insert [args]`::
........................................
functions for command line
@@ -163,17 +187,29 @@
This command is used by key bindings or plugins.
........................................
&bull; *`/key`* `[bind key [command [args]]] | [unbind key] | [reset -yes] | [missing]`::
&bull; *`/key`* `[list | listdefault | listdiff] | [bind key [command [args]]] | [unbind key] | [reset key] | [resetall -yes] | [missing]`::
........................................
bind/unbind keys
bind: bind a command to a key or display command bound to key
unbind: remove a key binding
reset: restore bindings to the default values and delete ALL personal bindings (use carefully!)
missing: add missing keys (using default bindings)
list: list all current keys (without argument, this list is displayed)
listdefault: list default keys
listdiff: list differences between current and default keys (keys added, redefined or deleted)
bind: bind a command to a key or display command bound to key
unbind: remove a key binding
reset: reset a key to default binding
resetall: restore bindings to the default values and delete ALL personal bindings (use carefully!)
missing: add missing keys (using default bindings), useful after installing new WeeChat version
When binding a command to a key, it is recommended to use key alt+k (or Esc then k), and then press the key to bind: this will insert key code in command line.
Examples:
key alt-x to toggle nicklist bar:
/key bind meta-x /bar toggle nicklist
key alt-r to jump to #weechat IRC channel:
/key bind meta-r /buffer #weechat
restore default binding for key alt-r:
/key reset meta-r
........................................
&bull; *`/layout`* `[[save | apply | reset] [buffers | windows]]`::
@@ -190,6 +226,28 @@
Without argument, this command displays saved layout.
........................................
&bull; *`/mute`* `[-current | -buffer name | -all] command`::
........................................
execute a command silently
-current: no output on curent buffer
-buffer: no output on specified buffer
name: full buffer name (examples: "irc.server.freenode", "irc.freenode.#weechat")
-all: no output on ALL buffers
command: command to execute silently (a '/' is automatically added if not found at beginning of command)
If no target is specified (-current, -buffer or -all), then default is to mute WeeChat core buffer only.
Examples:
config save:
/mute save
message to current IRC channel:
/mute -current msg * hi!
message to #weechat channel:
/mute -buffer irc.freenode.#weechat msg #weechat hi!
........................................
&bull; *`/plugin`* `[list [name]] | [listfull [name]] | [load filename] | [autoload] | [reload [name]] | [unload [name]]`::
........................................
@@ -301,20 +359,22 @@
This command run again a WeeChat binary, so it should have been compiled or installed with a package manager before running this command.
........................................
&bull; *`/uptime`* `[-o]`::
&bull; *`/uptime`* `[-o | -ol]`::
........................................
show WeeChat uptime
-o: send uptime to current buffer as input
-o: send uptime to current buffer as input (english string)
-ol: send uptime to current buffer as input (translated string)
........................................
&bull; *`/version`* `[-o]`::
&bull; *`/version`* `[-o | -ol]`::
........................................
show WeeChat version and compilation date
-o: send version to current buffer as input
-o: send version to current buffer as input (english string)
-ol: send version to current buffer as input (translated string)
........................................
&bull; *`/wait`* `number[unit] command`::
@@ -333,9 +393,12 @@
Note: command is executed on buffer where /wait was executed (if buffer is not found (for example if it has been closed before execution of command), then command is executed on WeeChat core buffer).
Examples:
join channel in 10 sec: /wait 10 /join #test
set away in 15 min: /wait 15m /away -all I'm away
say 'hello' in 2 min: /wait 2m hello
join channel in 10 sec:
/wait 10 /join #test
set away in 15 min:
/wait 15m /away -all I'm away
say 'hello' in 2 min:
/wait 2m hello
........................................
&bull; *`/window`* `[list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv [pct] | resize pct | merge [all] | page_up | page_down | refresh | scroll | scroll_up | scroll_down | scroll_top | scroll_bottom | scroll_previous_highlight | scroll_next_highlight | zoom]`::
@@ -343,7 +406,7 @@
........................................
manage windows
list: list opened windows (no parameter implies this list)
list: list opened windows (without argument, this list is displayed)
-1: jump to previous window
+1: jump to next window
b#: jump to next window displaying buffer number #
@@ -355,7 +418,6 @@
splitv: split current window vertically
resize: resize window size, new size is <pct> percentage of parent window
merge: merge window with another (all = keep only one window)
page_up: scroll one page up
page_down: scroll one page down
refresh: refresh screen
@@ -371,9 +433,13 @@
For splith and splitv, pct is a percentage which represents size of new window, computed with current window as size reference. For example 25 means create a new window with size = current_size / 4
Examples:
jump to window displaying buffer #1: /window b1
scroll 2 lines up: /window scroll -2
scroll 2 days up: /window scroll -2d
scroll to beginning of current day: /window scroll -d
jump to window displaying buffer #1:
/window b1
scroll 2 lines up:
/window scroll -2
scroll 2 days up:
/window scroll -2d
scroll to beginning of current day:
/window scroll -d
........................................
+20 -10
View File
@@ -208,10 +208,10 @@
** type: color
** values: a color name (default value: green)
* *weechat.color.nicklist_more*
** description: text color for '+' when scrolling nicks in nicklist
* *weechat.color.nicklist_offline*
** description: text color for offline nicknames
** type: color
** values: a color name (default value: lightmagenta)
** values: a color name (default value: blue)
* *weechat.color.nicklist_prefix1*
** description: text color for prefix #1 in nicklist
@@ -364,7 +364,7 @@
** values: none, highlight, message, all (default value: all)
* *weechat.look.buffer_time_format*
** description: time format for buffers
** description: time format for each line displayed in buffers
** type: string
** values: any string (default value: "%H:%M:%S")
@@ -378,6 +378,11 @@
** type: boolean
** values: on, off (default value: off)
* *weechat.look.command_chars*
** description: chars used to determine if input string is a command or not: input must start with one of these chars; the slash ("/") is always considered as command prefix (example: ".$")
** type: string
** values: any string (default value: "")
* *weechat.look.day_change*
** description: display special message when day changes
** type: boolean
@@ -523,6 +528,11 @@
** type: integer
** values: none, line, dotted-line, char (default value: dotted-line)
* *weechat.look.read_marker_always_show*
** description: always show read marker, even if it is after last buffer line
** type: boolean
** values: on, off (default value: off)
* *weechat.look.save_config_on_exit*
** description: save configuration file on exit
** type: boolean
@@ -553,13 +563,18 @@
** type: boolean
** values: on, off (default value: on)
* *weechat.look.time_format*
** description: time format for dates converted to strings and displayed in messages
** type: string
** values: any string (default value: "%a, %d %b %Y %T")
* *weechat.network.gnutls_ca_file*
** description: file containing the certificate authorities
** type: string
** values: any string (default value: "%h/ssl/CAs.pem")
* *weechat.plugin.autoload*
** description: comma separated list of plugins to load automatically at startup, "*" means all plugins found (names may be partial, for example "perl" is ok for "perl.so")
** description: comma separated list of plugins to load automatically at startup, "*" means all plugins found, a name beginning with "!" is a negative value to prevent a plugin from being loaded, names can start or end with "*" to match several plugins (examples: "*" or "*,!lua,!tcl")
** type: string
** values: any string (default value: "*")
@@ -603,8 +618,3 @@
** type: boolean
** values: on, off (default value: on)
* *weechat.startup.weechat_slogan*
** description: WeeChat slogan (if empty, slogan is not used)
** type: string
** values: any string (default value: "le client de discussion le plus geek !")
+195 -96
View File
@@ -3,6 +3,7 @@ WeeChat FAQ (Frequently Asked Questions)
FlashCode <flashcode@flashtux.org>
[[general]]
General
-------
@@ -34,6 +35,7 @@ Some features (version > = 0.3.x):
More info on this page: http://www.weechat.org/features
[[compilation_install]]
Compilation / install
---------------------
@@ -57,16 +59,12 @@ If you're compiling with autotools (and not cmake), check that you have latest
version of autoconf and automake (WeeChat is developed with autoconf 2.61 and
automake 1.10.1).
The other way is to install "devel package", which needs less dependencies.
The other way is to install the "devel package", which needs less dependencies.
This package is built almost every day using git repository. Note that this
package may not correspond exactly to git base and that it's less convenient
than git cloning for installing updates.
Using WeeChat
-------------
[[lost]]
I've launched WeeChat, but I'm lost, what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -78,18 +76,9 @@ It's recommended for new users to read the quickstart guide (see the doc page
on the website).
[[buffer_vs_window]]
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).
A 'window' is a screen area which displays a buffer. It is possible to split
your screen into many windows.
Each window displays one buffer. A buffer can be hidden (not displayed by a
window) or displayed by one or more windows.
[[display]]
Display
-------
[[charset]]
@@ -153,60 +142,18 @@ which is ok (like many other values).
If needed, fix your TERM variable: `export TERM="xxx"`.
[[key_bindings]]
How can I customize key bindings?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[buffer_vs_window]]
I heard about "buffers" and "windows", what's the difference?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Key bindings are customizable with /key command.
A 'buffer' is composed by a number, a name, lines displayed (and some other
data).
Default key Meta-k (usually Alt-k) lets you grab key code and insert it in
command line.
A 'window' is a screen area which displays a buffer. It is possible to split
your screen into many windows.
[[openbsd_plugins]]
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:
* with WeeChat < = 0.2.6: +
`/set plugins_extension = ".so.0.0"`
* with WeeChat > = 0.3.x: +
`/set weechat.plugin.extension ".so.0.0"`
Then: `/plugin autoload`.
[[scripts]]
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>/').
Scripts are not compatible with other IRC clients.
Notes:
* scripts in '~/.weechat/<language>/autoload/' are automatically loaded when
WeeChat is starting up.
* a 'tcl' plugin is available with version > = 0.3.x.
[[change_locale_without_quit]]
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`.
Each window displays one buffer. A buffer can be hidden (not displayed by a
window) or displayed by one or more windows.
[[terminal_copy_paste]]
@@ -247,23 +194,75 @@ shortenurl.py::
List of scripts about URLs: http://www.weechat.org/scripts/stable/tag/url
[[highlight_notification]]
How can I be warned when someone highlights me on a channel?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[change_locale_without_quit]]
I want to change the language used by WeeChat for messages, but without exiting WeeChat, is it possible?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
According to WeeChat version:
Yes, you have to use a python script, shell.py (available on WeeChat website)
and issue these commands when script is loaded:
* with WeeChat < = 0.2.6: use script 'sound.pl' (available on scripts page),
and then setup a system command (to play sound, display message, ..) with
this command: +
`/setp perl.sound.cmd_highlight = "/path/to/command arguments"`
* with WeeChat > = 0.3.x: use script 'launcher.pl' (available on scripts page),
and then setup a system command (to play sound, display message, ..) with
this command: +
`/set plugins.var.perl.launcher.signal.weechat_highlight "/path/to/command arguments"`
/shell setenv LANG=en_US.UTF-8
/upgrade
Many other scripts exist for notification, please look at plugins/scripts page:
http://www.weechat.org/scripts
To have english messages with UTF-8 encoding for terminal, for ISO users, you
can issue: `/shell setenv LANG=en_US`.
[[key_bindings]]
Key bindings
------------
[[meta_keys]]
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?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Key bindings are customizable with `/key` command.
Default key Meta-k (usually Alt-k) lets you grab key code and insert it in
command line.
[[irc]]
IRC
---
[[ignore_vs_filter]]
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).
It lets you ignore some nicks or hostnames of users for a server or channel
(command will not apply on content of messages).
Matching messages are deleted by IRC plugin before display (so you'll
never see them).
The `/filter` command is a core command, so it applies to any buffer.
It lets you filter some lines in buffers with tags or regular expression for
prefix and content of line.
Filtered lines are only hidden, not deleted, and you can see them if you
disable filters (by default, the key alt + "=" toggles filters).
[[filter_irc_join_part_quit]]
@@ -290,24 +289,124 @@ According to WeeChat version:
(`/help filter` for help)
[[ignore_vs_filter]]
What is the difference between the /ignore and /filter commands?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[filter_voice_messages]]
How can I filter voice messages (eg on Bitlbee server)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The `/ignore` command is an IRC command, so it applies only for IRC buffers
(servers and channels).
It lets you ignore some nicks or hostnames of users for a server or channel
(command will not apply on content of messages).
Matching messages are deleted by IRC plugin before display (so you'll
never see them).
It's not easy to filter voice messages, because voice mode can be set with other
modes in same IRC message.
The `/filter` command is a core command, so it applies to any buffer.
It lets you filter some lines in buffers with tags or regular expression for
prefix and content of line.
Filtered lines are only hidden, not deleted, and you can see them if you
disable filters (by default, the key alt + "=" toggles filters).
If you want to do that, it's probably because Bitlbee is using voice to show
away users, and you are flooded with voice messages. Therefore, you can change
that and let WeeChat use a special color for away nicks in nicklist.
On channel '&bitlbee', do:
----------------------------------------
set away_devoice false
----------------------------------------
For checking away nicks in WeeChat, see question about
<<color_away_nicks,away nicks>>.
[[color_away_nicks]]
How can I see away nicks in nicklist?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You have to set option 'irc.network.away_check' to a positive value (minutes
between each check of away nicks).
You can set option 'irc.network.away_check_max_nicks' to limit away check on
small channels only.
For example, check every 5 minutes for away nicks, for channels with max 25
nicks:
----------------------------------------
/set irc.network.away_check 5
/set irc.network.away_check_max_nicks 25
----------------------------------------
[[highlight_notification]]
How can I be warned when someone highlights me on a channel?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
According to WeeChat version:
* with WeeChat < = 0.2.6: use script 'sound.pl' (available on scripts page),
and then setup a system command (to play sound, display message, ..) with
this command: +
`/setp perl.sound.cmd_highlight = "/path/to/command arguments"`
* with WeeChat > = 0.3.x: use script 'launcher.pl' (available on scripts page),
and then setup a system command (to play sound, display message, ..) with
this command: +
`/set plugins.var.perl.launcher.signal.weechat_highlight "/path/to/command arguments"`
Many other scripts exist for notification, please look at plugins/scripts page:
http://www.weechat.org/scripts
[[plugins_scripts]]
Plugins / scripts
-----------------
[[openbsd_plugins]]
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:
* with WeeChat < = 0.2.6: +
`/set plugins_extension = ".so.0.0"`
* with WeeChat > = 0.3.x: +
`/set weechat.plugin.extension ".so.0.0"`
Then: `/plugin autoload`.
[[load_scripts]]
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>/').
Scripts are not compatible with other IRC clients.
Notes:
* scripts in '~/.weechat/<language>/autoload/' are automatically loaded when
WeeChat is starting up.
* a 'tcl' plugin is available with version > = 0.3.0.
[[settings]]
Settings
--------
[[memory_usage]]
How can I tweak WeeChat to consume less memory?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can try following tips to consume less memory:
* use the latest stable version (it is supposed to have less memory leaks than
older versions)
* do not load some plugins if you don't use them, for example: aspell, fifo,
logger, perl, python, ruby, lua, tcl, xfer (used for DCC)
* load only scripts that you really need
* reduce value of option 'weechat.history.max_lines' (number of lines saved in
memory for each buffer)
* reduce value of option 'weechat.history.max_commands' (number of user commands
saved in memory)
[[development]]
Development
-----------
+374 -88
View File
@@ -681,6 +681,20 @@ int match3 = weechat_string_match ("abcdef", "*def", 0); /* == 1 */
int match4 = weechat_string_match ("abcdef", "*de*", 0); /* == 1 */
----------------------------------------
Script (Python):
[source,python]
----------------------------------------
# prototype
match = weechat.string_match(string, mask, case_sensitive)
# examples
match1 = weechat.string_match("abcdef", "abc*", 0) # 1
match2 = weechat.string_match("abcdef", "*dd*", 0) # 0
match3 = weechat.string_match("abcdef", "*def", 0) # 1
match4 = weechat.string_match("abcdef", "*de*", 0) # 1
----------------------------------------
weechat_string_replace
^^^^^^^^^^^^^^^^^^^^^^
@@ -809,6 +823,17 @@ C example:
int hl = weechat_string_has_highlight ("my test string", "test,word2"); /* == 1 */
----------------------------------------
Script (Python):
[source,python]
----------------------------------------
# prototype
highlight = weechat.string_has_highlight(string, highlight_words)
# example
highlight = weechat.string_has_highlight("my test string", "test,word2") # 1
----------------------------------------
weechat_string_mask_to_regex
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -840,6 +865,17 @@ char *str_regex = weechat_string_mask_to_regex ("test*mask");
free (str_regex);
----------------------------------------
Script (Python):
[source,python]
----------------------------------------
# prototype
regex = weechat.string_mask_to_regex(mask)
# example
regex = weechat.string_mask_to_regex("test*mask") # "test.*mask"
----------------------------------------
weechat_string_split
^^^^^^^^^^^^^^^^^^^^
@@ -866,9 +902,9 @@ Arguments:
Return value:
* array of strings, NULL if problem (must be freed by calling
<<_weechat_string_free_split>> after use)
<<_weechat_string_free_split,weechat_string_free_split>> after use)
Examples:
C examples:
[source,C]
----------------------------------------
@@ -907,7 +943,8 @@ void weechat_string_free_split (char **split_string);
Arguments:
* 'split_string': string split by function <<_weechat_string_split>>
* 'split_string': string split by function
<<_weechat_string_split,weechat_string_split>>
C example:
@@ -935,7 +972,8 @@ char *weechat_string_build_with_split_string (char **split_string,
Arguments:
* 'split_string': string split by function <<_weechat_string_split>>
* 'split_string': string split by function
<<_weechat_string_split,weechat_string_split>>
* 'separator': string used to separate strings
Return value:
@@ -976,7 +1014,7 @@ Arguments:
Return value:
* array of strings, NULL if problem (must be freed by calling
<<_weechat_free_split_command>> after use)
<<_weechat_free_split_command,weechat_free_split_command>> after use)
C example:
@@ -1003,7 +1041,8 @@ void weechat_string_free_split_command (char **split_command);
Arguments:
* 'split_command': command split by <<_weechat_string_split_command>>
* 'split_command': command split by
<<_weechat_string_split_command,weechat_string_split_command>>
C example:
@@ -1035,7 +1074,7 @@ Return value:
* formatted string (must be freed by calling "free" after use)
Examples:
C examples:
[source,C]
----------------------------------------
@@ -1082,7 +1121,7 @@ Return value:
* string without color (must be freed by calling "free" after use)
Examples:
C examples:
[source,C]
----------------------------------------
@@ -1108,6 +1147,149 @@ str = weechat.string_remove_color(string, replacement)
str = weechat.string_remove_color(my_string, "?")
----------------------------------------
weechat_string_encode_base64
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Encode a string in base64.
Prototype:
[source,C]
----------------------------------------
void weechat_string_encode_base64 (const char *from, int length, char *to);
----------------------------------------
Arguments:
* 'from': string to encode
* 'length': length of string to encode (for example `strlen(from)`)
* 'to': pointer to string to store result (must be long enough, result is
longer than initial string)
C example:
[source,C]
----------------------------------------
char *string = "abcdefgh", result[128];
weechat_string_encode_base64 (string, strlen (string), result);
/* result == "YWJjZGVmZ2g=" */
----------------------------------------
weechat_string_decode_base64
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Decode a base64 string.
Prototype:
[source,C]
----------------------------------------
int weechat_string_decode_base64 (const char *from, char *to);
----------------------------------------
Arguments:
* 'from': string to decode
* 'to': pointer to string to store result (must be long enough, result is
shorter than initial string)
Return value:
* length of string stored in *to (does not count final '\0')
C example:
[source,C]
----------------------------------------
char *string = "YWJjZGVmZ2g=", result[128];
int length;
length = weechat_string_decode_base64 (string, result);
/* length == 8, result == "abcdefgh" */
----------------------------------------
weechat_string_is_command_char
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Check if first char of string is a command char (default command char is '/').
Prototype:
[source,C]
----------------------------------------
int weechat_string_is_command_char (const char *string);
----------------------------------------
Arguments:
* 'string': string
Return value:
* 1 if first char of string is a command char, otherwise 0
C examples:
[source,C]
----------------------------------------
int command_char1 = weechat_string_is_command_char ("/test"); /* == 1 */
int command_char2 = weechat_string_is_command_char ("test"); /* == 0 */
----------------------------------------
Script (Python):
[source,python]
----------------------------------------
# prototype
is_cmdchar = weechat.string_is_command_char(string)
# examples
command_char1 = weechat.string_is_command_char("/test") # == 1
command_char2 = weechat.string_is_command_char("test") # == 0
----------------------------------------
weechat_string_input_for_buffer
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Return pointer to input text for buffer (pointer inside "string" argument), or
NULL if it's a command.
Prototype:
[source,C]
----------------------------------------
const char *weechat_string_input_for_buffer (const char *string);
----------------------------------------
Arguments:
* 'string': string
Return value:
* pointer into "string", or NULL
C examples:
[source,C]
----------------------------------------
const char *str1 = weechat_string_input_for_buffer ("test"); /* "test" */
const char *str2 = weechat_string_input_for_buffer ("/test"); /* NULL */
const char *str3 = weechat_string_input_for_buffer ("//test"); /* "/test" */
----------------------------------------
Script (Python):
[source,python]
----------------------------------------
# prototype
str = weechat.string_input_for_buffer(string)
# examples
str1 = weechat.string_input_for_buffer("test") # "test"
str2 = weechat.string_input_for_buffer("/test") # ""
str3 = weechat.string_input_for_buffer("//test") # "/test"
----------------------------------------
[[utf-8]]
UTF-8
~~~~~
@@ -1718,8 +1900,8 @@ Util
Some useful functions.
weechat_timeval_cmp
^^^^^^^^^^^^^^^^^^^
weechat_util_timeval_cmp
^^^^^^^^^^^^^^^^^^^^^^^^
Compare two "timeval" structures.
@@ -1727,7 +1909,7 @@ Prototype:
[source,C]
----------------------------------------
int weechat_timeval_cmp (struct timeval *tv1, struct timeval *tv2);
int weechat_util_timeval_cmp (struct timeval *tv1, struct timeval *tv2);
----------------------------------------
Arguments:
@@ -1745,14 +1927,14 @@ C example:
[source,C]
----------------------------------------
if (weechat_timeval_cmp (&tv1, &tv2) > 0)
if (weechat_util_timeval_cmp (&tv1, &tv2) > 0)
{
/* tv1 > tv2 */
}
----------------------------------------
weechat_timeval_diff
^^^^^^^^^^^^^^^^^^^^
weechat_util_timeval_diff
^^^^^^^^^^^^^^^^^^^^^^^^^
Return difference (in milliseconds) between two "timeval" structures.
@@ -1760,7 +1942,7 @@ Prototype:
[source,C]
----------------------------------------
long weechat_timeval_diff (struct timeval *tv1, struct timeval *tv2);
long weechat_util_timeval_diff (struct timeval *tv1, struct timeval *tv2);
----------------------------------------
Arguments:
@@ -1776,11 +1958,11 @@ C example:
[source,C]
----------------------------------------
long diff = weechat_timeval_diff (&tv1, &tv2);
long diff = weechat_util_timeval_diff (&tv1, &tv2);
----------------------------------------
weechat_timeval_add
^^^^^^^^^^^^^^^^^^^
weechat_util_timeval_add
^^^^^^^^^^^^^^^^^^^^^^^^
Add interval (in milliseconds) to a timeval structure.
@@ -1788,7 +1970,7 @@ Prototype:
[source,C]
----------------------------------------
void weechat_timeval_add (struct timeval *tv, long interval);
void weechat_util_timeval_add (struct timeval *tv, long interval);
----------------------------------------
Arguments:
@@ -1800,7 +1982,32 @@ C example:
[source,C]
----------------------------------------
weechat_timeval_add (&tv, 2000); /* add 2 seconds */
weechat_util_timeval_add (&tv, 2000); /* add 2 seconds */
----------------------------------------
weechat_util_get_time_string
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Get date/time as a string built with "strftime".
Prototype:
[source,C]
----------------------------------------
char *weechat_util_get_time_string (const time_t *date);
----------------------------------------
Arguments:
* 'date': pointer to date
C example:
[source,C]
----------------------------------------
time_t date = time (NULL);
weechat_printf (NULL, "date: %s",
weechat_util_get_time_string (&date));
----------------------------------------
[[sorted_lists]]
@@ -2339,9 +2546,10 @@ Return value:
[NOTE]
File is NOT created on disk by this function. It will be created by call to
function <<_weechat_write_config>>. You should call this function only after
adding some sections (with <<_weechat_config_new_section>>) and options (with
<<_weechat_config_new_option>>).
function <<_weechat_write_config,weechat_write_config>>.
You should call this function only after adding some sections (with
<<_weechat_config_new_section,weechat_config_new_section>>) and options (with
<<_weechat_config_new_option,weechat_config_new_option>>).
C example:
@@ -2492,7 +2700,8 @@ my_section_write_cb (void *data, struct t_config_file *config_file,
{
/* ... */
return WEECHAT_RC_OK;
return WEECHAT_CONFIG_WRITE_OK;
/* return WEECHAT_CONFIG_WRITE_ERROR; */
}
int
@@ -2501,7 +2710,8 @@ my_section_write_default_cb (void *data, struct t_config_file *config_file,
{
/* ... */
return WEECHAT_RC_OK;
return WEECHAT_CONFIG_WRITE_OK;
/* return WEECHAT_CONFIG_WRITE_ERROR; */
}
int
@@ -2511,7 +2721,8 @@ my_section_create_option_cb (void *data, struct t_config_file *config_file,
{
/* ... */
return WEECHAT_RC_OK;
return WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
/* return WEECHAT_CONFIG_OPTION_SET_ERROR; */
}
int
@@ -2521,7 +2732,8 @@ my_section_delete_option_cb (void *data, struct t_config_file *config_file,
{
/* ... */
return WEECHAT_RC_OK;
return WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED;
/* return WEECHAT_CONFIG_OPTION_UNSET_ERROR; */
}
/* standard section, user can not add/delete options */
@@ -2563,19 +2775,19 @@ def my_section_read_cb(data, config_file, section, option_name, value):
def my_section_write_cb(data, config_file, section_name):
# ...
return weechat.WEECHAT_RC_OK
return weechat.WEECHAT_CONFIG_WRITE_OK
def my_section_write_default_cb(data, config_file, section_name):
# ...
return weechat.WEECHAT_RC_OK
return weechat.WEECHAT_CONFIG_WRITE_OK
def my_section_create_option_cb(data, config_file, section, option_name, value):
# ...
return weechat.WEECHAT_RC_OK
return weechat.WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE
def my_section_delete_option_cb(data, config_file, section, option):
# ...
return weechat.WEECHAT_RC_OK
return weechat.WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED
section = weechat.config_new_section(config_file, "section1", 1, 1,
"my_section_read_cb", "",
@@ -3114,7 +3326,7 @@ Arguments:
[NOTE]
You can set value to null only if it is allowed for option (see
<<_weechat_config_new_option>>).
<<_weechat_config_new_option,weechat_config_new_option>>).
Return value:
@@ -3337,7 +3549,7 @@ Script (Python):
[source,python]
----------------------------------------
# prototype
weechat.config_option_is_null(option)
is_null = weechat.config_option_is_null(option)
# example
if weechat.config_option_is_null(option):
@@ -3384,7 +3596,7 @@ Script (Python):
[source,python]
----------------------------------------
# prototype
weechat.config_option_default_is_null(option)
is_null = weechat.config_option_default_is_null(option)
# example
if weechat.config_option_default_is_null(option):
@@ -4831,9 +5043,7 @@ def my_command_cb(data, buffer, args):
return weechat.WEECHAT_RC_OK
hook = weechat.hook_command("myfilter", "description of myfilter",
"[list] | [enable|disable|toggle [name]] | "
"[add name plugin.buffer tags regex] | "
"[del name|-all]",
"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags regex] | [del name|-all]",
"description of arguments...",
"list"
" || enable %(filters_names)"
@@ -4862,7 +5072,7 @@ struct t_hook *weechat_hook_command_run (const char *command,
Arguments:
* 'command': command to hook, may start or end with "*" as joker
* 'command': command to hook, can start or end with "*" as joker
* 'callback': function called when command is run, arguments:
** 'void *data': pointer
** 'struct t_gui_buffer *buffer': buffer where command is executed
@@ -5163,7 +5373,7 @@ struct t_hook *weechat_hook_connect (const char *proxy,
int (*callback)(void *data,
int status,
int gnutls_rc,
const char *errpr,
const char *error,
const char *ip_address),
void *callback_data);
----------------------------------------
@@ -5180,6 +5390,7 @@ Arguments:
* 'gnutls_cb': GnuTLS callback (optional)
* 'gnutls_dhkey_size': size of the key used during the Diffie-Hellman Key
Exchange (GnuTLS)
* 'local_hostname': local hostname to use for connection (optional)
* 'callback': function called when connection is ok or failed, arguments:
** 'void *data': pointer
** 'int status': connection status:
@@ -5389,17 +5600,27 @@ Arguments:
* 'signal': signal to catch, can begin or end with "*":
[width="80%",cols="^1,^3,^3,5",options="header"]
[width="100%",cols="^1,^3,^4,5",options="header"]
|========================================
| Plugin | Signal | Arguments | Description
| irc | xxx,irc_in_yyy ^1^ | string: message |
irc message from server (before irc plugin uses it)
| irc | xxx,irc_in_yyy ^(1)^ | string: message |
irc message from server (before irc plugin uses it,
signal sent only if message is *not* ignored)
| irc | xxx,irc_in2_yyy ^1^ | string: message |
irc message from server (after irc plugin uses it)
| irc | xxx,irc_in2_yyy ^(1)^ | string: message |
irc message from server (after irc plugin uses it,
signal sent only if message is *not* ignored)
| irc | xxx,irc_out_yyy ^1^ | string: message |
| irc | xxx,irc_raw_in_yyy ^(1)^ | string: message |
irc message from server (before irc plugin uses it,
signal sent even if message is ignored)
| irc | xxx,irc_raw_in2_yyy ^(1)^ | string: message |
irc message from server (after irc plugin uses it,
signal sent even if message is ignored)
| irc | xxx,irc_out_yyy ^(1)^ | string: message |
irc message sent to server
| irc | irc_ctcp | string: message |
@@ -5477,6 +5698,9 @@ Arguments:
| weechat | buffer_type_changed | pointer: buffer |
type of buffer changed
| weechat | day_changed | string: new date, format: "2010-01-31" |
day of system date has changed
| weechat | debug_dump | - |
dump request
@@ -5513,8 +5737,17 @@ Arguments:
| weechat | key_pressed | string: key pressed |
key pressed
| weechat | nicklist_changed | - |
nicklist has changed
| weechat | nicklist_group_added | string: buffer pointer + "," + group name |
group added in nicklist
| weechat | nicklist_group_removed | string: buffer pointer + "," + group name |
group removed from nicklist
| weechat | nicklist_nick_added | string: buffer pointer + "," + nick name |
nick added in nicklist
| weechat | nicklist_nick_removed | string: buffer pointer + "," + nick name |
nick removed from nicklist
| weechat | partial_completion | - |
partial completion happened
@@ -5563,10 +5796,13 @@ Arguments:
| xfer | xfer_resume_ready | pointer: infolist with xfer info |
xfer resume ready
| xfer | xfer_ended | pointer: infolist with xfer info |
xfer has ended
|========================================
[NOTE]
^1^ 'xxx' is IRC server name, 'yyy' is IRC command name.
^(1)^ 'xxx' is IRC server name, 'yyy' is IRC command name.
* 'callback': function called when signal is received, arguments:
** 'void *data': pointer
@@ -5607,7 +5843,7 @@ Script (Python):
hook = weechat.hook_signal(signal, callback, callback_data)
# example
def my_signal_cb(data, signal, type_data, signal_data):
def my_signal_cb(data, signal, signal_data):
# ...
return weechat.WEECHAT_RC_OK
@@ -5631,7 +5867,8 @@ void weechat_hook_signal_send (const char *signal, const char *type_data,
Arguments:
* 'signal': signal to send
* 'type_data': type of data sent with signal (see <<_weechat_hook_signal>>)
* 'type_data': type of data sent with signal (see
<<_weechat_hook_signal,weechat_hook_signal>>)
* 'signal_data': data sent with signal
C example:
@@ -5724,6 +5961,7 @@ Prototype:
[source,C]
----------------------------------------
struct t_hook *weechat_hook_completion (const char *completion_item,
const char *description,
int (*callback)(void *data,
const char *completion_item,
struct t_gui_buffer *buffer,
@@ -5735,13 +5973,15 @@ Arguments:
* 'completion_item': name of completion item, after you can use '%(name)' in
a command hooked (argument 'completion')
* 'description': description of completion
* 'callback': function called when completion item is used (user is completing
something using this item), artuments:
** 'void *data': pointer
** 'const char *completion_item': name of completion item
** 'struct t_gui_buffer *buffer': buffer where completion is made
** 'struct t_gui_completion *completion': structure used to add words for
completion (see <<_weechat_hook_completion_list_add>>)
completion (see
<<_weechat_hook_completion_list_add,weechat_hook_completion_list_add>>)
* 'callback_data': pointer given to callback when it is called by WeeChat
[NOTE]
@@ -5770,6 +6010,7 @@ my_completion_cb (void *data, const char *completion_item,
}
struct t_hook *my_completion_hook = weechat_hook_completion ("plugin_item",
"my custom completion!",
&my_completion_cb, NULL);
----------------------------------------
@@ -5778,7 +6019,7 @@ Script (Python):
[source,python]
----------------------------------------
# prototype
hook = weechat.hook_completion(completion_item, callback, callback_data)
hook = weechat.hook_completion(completion_item, description, callback, callback_data)
# example
def my_completion_cb(data, completion_item, buffer, completion):
@@ -5786,7 +6027,8 @@ def my_completion_cb(data, completion_item, buffer, completion):
weechat.hook_completion_list_add(completion, "test_word2", 0, weechat.WEECHAT_LIST_POS_SORT)
return weechat.WEECHAT_RC_OK
hook = weechat.hook_completion("plugin_item", "my_completion_cb", "")
hook = weechat.hook_completion("plugin_item", "my custom completion!",
"my_completion_cb", "")
----------------------------------------
weechat_hook_completion_list_add
@@ -5814,7 +6056,7 @@ Arguments:
** 'WEECHAT_LIST_POS_BEGINNING': beginning of list
** 'WEECHAT_LIST_POS_END': end of list
C example: see <<_weechat_hook_completion>>.
C example: see <<_weechat_hook_completion,weechat_hook_completion>>.
Script (Python):
@@ -5871,21 +6113,26 @@ Arguments:
any string |
string with IRC color codes, or without color
| irc | irc_in_xxx ^1^ |
| irc | irc_in_xxx ^(1)^ |
server name |
content of message received from IRC server |
new content of message
| irc | irc_out_xxx ^1^ |
| irc | irc_out_xxx ^(1)^ |
server name |
content of message about to be sent to IRC server |
new content of message
| weechat | bar_condition_yyy ^2^ |
| weechat | bar_condition_yyy ^(2)^ |
string with window pointer ("0x123..") |
empty string |
"1" to display bar, "0" to hide it
| weechat | history_add |
string with buffer pointer ("0x123..") |
input buffer (from user) to add in command history (buffer and global) |
string added to command history
| weechat | input_text_content |
string with buffer pointer ("0x123..") |
input buffer (from user) |
@@ -5908,8 +6155,8 @@ Arguments:
|========================================
[NOTE]
^1^ 'xxx' is IRC command name. +
^2^ 'yyy' is bar name.
^(1)^ 'xxx' is IRC command name. +
^(2)^ 'yyy' is bar name.
* 'callback': function called when modifier is used, arguments:
** 'void *data': pointer
@@ -6021,6 +6268,7 @@ Prototype:
----------------------------------------
struct t_hook *weechat_hook_info (const char *info_name,
const char *description,
const char *args_description,
const char *(*callback)(void *data,
const char *info_name,
const char *arguments),
@@ -6031,6 +6279,7 @@ Arguments:
* 'info_name': name of info
* 'description': description
* 'args_description': description of arguments (optional, can be NULL)
* 'callback': function called when info is asked, arguments:
** 'void *data': pointer
** 'const char *info_name': name of info
@@ -6054,8 +6303,9 @@ my_info_cb (void *data, const char *info_name, const char *arguments)
/* add info "my_info" */
struct t_hook *my_info_hook = weechat_hook_info ("my_info",
"Some info",
&my_info_cb, NULL);
"Some info",
"Info about arguments",
&my_info_cb, NULL);
----------------------------------------
Script (Python):
@@ -6063,13 +6313,14 @@ Script (Python):
[source,python]
----------------------------------------
# prototype
hook = weechat.hook_info(info_name, description, callback, callback_data)
hook = weechat.hook_info(info_name, description, args_description, callback, callback_data)
# example
def my_info_cb(data, info_name, arguments):
return "some_info"
hook = weechat.hook_info("my_info", "Some info", "my_info_cb", "")
hook = weechat.hook_info("my_info", "Some info", "Info about arguments",
"my_info_cb", "")
----------------------------------------
weechat_hook_infolist
@@ -6083,6 +6334,8 @@ Prototype:
----------------------------------------
struct t_hook *weechat_hook_infolist (const char *infolist_name,
const char *description,
const char *pointer_description,
const char *args_description,
const char *(*callback)(void *data,
const char *infolist_name,
void *pointer,
@@ -6094,6 +6347,8 @@ Arguments:
* 'infolist_name': name of infolist
* 'description': description
* 'pointer_description': description of pointer (optional, can be NULL)
* 'args_description': description of arguments (optional, can be NULL)
* 'callback': function called when infolist is asked, arguments:
** 'void *data': pointer
** 'const char *infolist_name': name of infolist
@@ -6125,6 +6380,8 @@ my_infolist_cb (void *data, const char *infolist_name, void *pointer,
/* add infolist "my_infolist" */
struct t_hook *my_infolist = weechat_hook_infolist ("my_infolist",
"Infolist with some data",
"Info about pointer",
"Info about arguments",
&my_infolist_cb, NULL);
----------------------------------------
@@ -6133,7 +6390,8 @@ Script (Python):
[source,python]
----------------------------------------
# prototype
hook = weechat.hook_infolist(infolist_name, description, callback, callback_data)
hook = weechat.hook_infolist(infolist_name, description, pointer_description,
args_description, callback, callback_data)
# example
def my_infolist_cb(data, infolist_name, pointer, arguments):
@@ -6141,7 +6399,9 @@ def my_infolist_cb(data, infolist_name, pointer, arguments):
# ...
return my_infolist
hook = weechat.hook_infolist("my_infolist", "Infolist with some data", "my_infolist_cb", "")
hook = weechat.hook_infolist("my_infolist", "Infolist with some data",
"Info about pointer", "Info about arguments",
"my_infolist_cb", "")
----------------------------------------
weechat_unhook
@@ -6585,20 +6845,36 @@ Arguments:
* 'buffer': buffer pointer
* 'property': property name:
** 'number': number of buffer (starts with 1)
** 'num_displayed': number of windows displaying buffer
** 'layout_number': number of buffer saved in layout
** 'type': buffer type (0: formatted, 1: free content)
** 'notify': notify level for buffer
** 'num_displayed': number of windows displaying buffer
** 'active': 1 if buffer is active, 0 if buffer is merged and not selected
** 'print_hooks_enabled': 1 if print hooks are enabled, otherwise 0
** 'lines_hidden': 1 if at least one line is hidden on buffer (filtered), or 0
if all lines are displayed
** 'prefix_max_length': max length for prefix in this buffer
** 'time_for_each_line': 1 if time is displayed for each line in buffer
(default), otherwise 0
** 'nicklist': 1 if nicklist is enabled, otherwise 0
** 'nicklist_case_sensitive': 1 if nicks are case sensitive, otherwise 0
** 'nicklist_max_length': max length for a nick
** 'nicklist_display_groups': 1 if groups are displayed, otherwise 0
** 'nicklist_visible_count': number of nicks/groups displayed
** 'input': 1 if input is enabled, otherwise 0
** 'input_get_unknown_commands': 1 if unknown commands are sent to input
callback, otherwise 0
** 'input_size': input size (in bytes)
** 'input_length': input length (number of chars)
** 'input_pos': cursor position in buffer input
** 'input_1st_display': first char displayed on screen
** 'num_history': number of commands in history
** 'text_search': text search type:
*** 0: no search at this moment
*** 1: backward search (direction: oldest messages)
*** 2: forward search (direction: newest messages)
** 'text_search_exact': 1 if text search is case sensitive
** 'text_search_found': 1 if text found, otherwise 0
** 'input_pos': cursor position in buffer input
Return value:
@@ -6644,8 +6920,11 @@ Arguments:
buffer)
** 'name': name of buffer
** 'short_name': short name of buffer
** 'tilte': title of buffer
** 'title': title of buffer
** 'input': input text
** 'text_search_input': input saved before text search
** 'highlight_words': list of words to highlight
** 'highlight_tags': list of tags to highlight
** 'localvar_xxx': get content of local variable "xxx" (replace "xxx" by the
name of variable to read)
@@ -6746,7 +7025,7 @@ Arguments:
"-": disable hotlist (global setting, buffer pointer is not used) +
priority: add buffer to hotlist with this priority
| unread | (N/A) |
| unread | - |
set unread marker after last line of buffer
| display | "1", "auto" |
@@ -6769,14 +7048,14 @@ Arguments:
| notify | "0", "1", "2", "3" |
set notify level for buffer: "0" = never add to hotlist, "1" = add for
highlights only, "2" = add for highlights and messages, "3" = add for all
messages
messages
| title | any string |
set new title for buffer
| time_for_each_line | "0" or "1" |
"0" to hide time for all lines in buffer, "1" to see time for all lines
(default for a new buffer)
(default for a new buffer)
| nicklist | "0" or "1" |
"0" to remove nicklist for buffer, "1" to add nicklist for buffer
@@ -6790,7 +7069,14 @@ Arguments:
| highlight_words | "-" or comma separated list of words |
"-" is a special value to disable any highlight on this buffer, or comma
separated list of words to highlight in this buffer, for example:
"abc,def,ghi"
"abc,def,ghi"
| highlight_words_add | comma separated list of words |
comma separated list of words to highlight in this buffer, these words are
added to existing highlighted words in buffer
| highlight_words_del | comma separated list of words |
comma separated list of words to remove from highlighted words on buffer
| highlight_tags | comma separated list of tags |
comma separated list of tags to highlight in this buffer
@@ -6799,7 +7085,7 @@ Arguments:
bind a new key 'xxx', specific to this buffer, value is command to execute
for this key
| key_unbind_xxx | (N/A) |
| key_unbind_xxx | - |
unbind key 'xxx' for this buffer
| input | any string |
@@ -6817,7 +7103,7 @@ Arguments:
set new value for local variable 'xxx' (variable is created if it does not
exist)
| localvar_del_xxx | (N/A) |
| localvar_del_xxx | - |
remove local variable 'xxx'
|========================================
@@ -7822,7 +8108,7 @@ Arguments:
* 'bar': bar pointer
* 'property': name, hidden, priority, conditions, position, filling_top_bottom,
filling_left_right, size, size_max, color_fg, color_delim, color_bg,
separator, items (see <<_weechat_bar_new>>)
separator, items (see <<_weechat_bar_new,weechat_bar_new>>)
* 'value': new value for property
Return value:
@@ -8092,7 +8378,7 @@ weechat_printf (NULL, "Current WeeChat version is: %s (compiled on %s)",
weechat_info_get ("version", NULL),
weechat_info_get ("date", NULL));
weechat_printf (NULL, "WeeChat home is: %s",
weechat_info_get ("weechat_dir"));
weechat_info_get ("weechat_dir", NULL));
----------------------------------------
Script (Python):
@@ -8105,7 +8391,7 @@ value = weechat.info_get(info_name, arguments)
# example
weechat.prnt("", "Current WeeChat version is: %s (compiled on %s)"
% (weechat.info_get("version", ""), weechat.info_get("date", ""))
weechat.prnt("", "WeeChat home is: %s" % weechat.info_get("weechat_dir"))
weechat.prnt("", "WeeChat home is: %s" % weechat.info_get("weechat_dir", ""))
----------------------------------------
[[infolists]]
@@ -8920,9 +9206,9 @@ Prototype:
[source,C]
----------------------------------------
struct t_upgrade_file *weechat_upgrade_write_object (struct t_upgrade_file *upgrade_file,
int object_id,
struct t_infolist *infolist);
int weechat_upgrade_write_object (struct t_upgrade_file *upgrade_file,
int object_id,
struct t_infolist *infolist);
----------------------------------------
Arguments:
@@ -8954,7 +9240,7 @@ Script (Python):
[source,python]
----------------------------------------
# prototype
weechat.upgrade_write_object(upgrade_file, object_id, infolist)
rc = weechat.upgrade_write_object(upgrade_file, object_id, infolist)
# example
weechat.upgrade_write_object(upgrade_file, 1, infolist)
@@ -8969,12 +9255,12 @@ Prototype:
[source,C]
----------------------------------------
struct t_upgrade_file *weechat_upgrade_read (struct t_upgrade_file *upgrade_file,
int (*callback_read)(void *data,
struct t_upgrade_file *upgrade_file,
int object_id,
struct t_infolist *infolist),
void *callback_read_data);
int weechat_upgrade_read (struct t_upgrade_file *upgrade_file,
int (*callback_read)(void *data,
struct t_upgrade_file *upgrade_file,
int object_id,
struct t_infolist *infolist),
void *callback_read_data);
----------------------------------------
Arguments:
@@ -9009,7 +9295,7 @@ Script (Python):
[source,python]
----------------------------------------
# prototype
weechat.upgrade_read(upgrade_file, callback_read, callback_read_data)
rc = weechat.upgrade_read(upgrade_file, callback_read, callback_read_data)
# example
def my_upgrade_read_cb(upgrade_file, object_id, infolist):
+522 -204
View File
@@ -46,9 +46,9 @@ Some things are specific to languages:
* tcl:
** functions are called with `weechat::xxx arg1 arg2 ...`
[[register]]
Register
~~~~~~~~
[[register_function]]
Register function
~~~~~~~~~~~~~~~~~
All WeeChat scripts must "register" themselves to WeeChat, and this must be
first WeeChat function called in script.
@@ -71,10 +71,6 @@ Arguments:
* 'charset': string, script charset (optional, if your script is UTF-8, you
can use blank value here, because UTF-8 is default charset)
[[script_example]]
Script example
~~~~~~~~~~~~~~
Example of script, for each language:
* perl:
@@ -139,11 +135,11 @@ You have to use command, depending on language:
You can make link in directory 'language/autoload' to autoload script when
WeeChat is starting.
For example with perl:
For example with Python:
----------------------------------------
$ cd ~/.weechat/perl/autoload
$ ln -s ../script.pl
$ cd ~/.weechat/python/autoload
$ ln -s ../script.py
----------------------------------------
[[differences_with_c_api]]
@@ -156,8 +152,8 @@ in API: prototype, arguments, return values, examples.
It's important to make difference between a 'plugin' and a 'script': a
'plugin' is a binary file compiled and loaded with command `/plugin`, whereas
a 'script' is a text file loaded with a plugin like 'perl' with command
`/perl`.
a 'script' is a text file loaded with a plugin like 'python' with command
`/python`.
When your script 'test.py' calls a WeeChat API function, path is like that:
@@ -176,6 +172,7 @@ previous path:
WeeChat core -------> python plugin (python.so) -------> test.py
........................................
[[pointers]]
Pointers
~~~~~~~~
@@ -202,6 +199,7 @@ In many functions, for speed reasons, WeeChat does not check if your pointer
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
~~~~~~~~~
@@ -230,206 +228,526 @@ Script API
For more information about functions in API, please read
'WeeChat Plugin API Reference'.
[[script_api_functions]]
Functions
~~~~~~~~~
List of functions in script API:
* general:
** 'register'
* plugins:
** 'plugin_get_name'
* strings:
** 'charset_set'
** 'iconv_to_internal'
** 'iconv_from_internal'
** 'gettext'
** 'ngettext'
** 'string_remove_color'
* directories:
** 'mkdir_home'
** 'mkdir'
** 'mkdir_parents'
* sorted lists:
** 'list_new'
** 'list_add'
** 'list_search'
** 'list_casesearch'
** 'list_get'
** 'list_set'
** 'list_next'
** 'list_prev'
** 'list_string'
** 'list_size'
** 'list_remove'
** 'list_remove_all'
** 'list_free'
* configuration files:
** 'config_new'
** 'config_new_section'
** 'config_search_section'
** 'config_new_option'
** 'config_search_option'
** 'config_string_to_boolean'
** 'config_option_reset'
** 'config_option_set'
** 'config_option_set_null'
** 'config_option_unset'
** 'config_option_rename'
** 'config_option_is_null'
** 'config_option_default_is_null'
** 'config_boolean'
** 'config_boolean_default'
** 'config_integer'
** 'config_integer_default'
** 'config_string'
** 'config_string_default'
** 'config_color'
** 'config_color_default'
** 'config_write_option'
** 'config_write_line'
** 'config_write'
** 'config_read'
** 'config_reload'
** 'config_option_free'
** 'config_section_free_options'
** 'config_section_free'
** 'config_free'
** 'config_get'
** 'config_get_plugin'
** 'config_is_set_plugin'
** 'config_set_plugin'
** 'config_unset_plugin'
* display:
** 'prefix'
** 'color'
** 'print' (for python: 'prnt')
** 'print_date_tags' (for python: 'prnt_date_tags')
** 'print_y' (for python: 'prnt_y')
** 'log_print'
* hooks:
** 'hook_command'
** 'hook_command_run'
** 'hook_timer'
** 'hook_fd'
** 'hook_process'
** 'hook_connect'
** 'hook_print'
** 'hook_signal'
** 'hook_signal_send'
** 'hook_config'
** 'hook_completion'
** 'hook_completion_list_add'
** 'hook_modifier'
** 'hook_modifier_exec'
** 'hook_info'
** 'hook_infolist'
** 'unhook'
** 'unhook_all'
* buffers:
** 'buffer_new'
** 'current_buffer'
** 'buffer_search'
** 'buffer_search_main'
** 'buffer_clear'
** 'buffer_close'
** 'buffer_merge'
** 'buffer_unmerge'
** 'buffer_get_integer'
** 'buffer_get_string'
** 'buffer_get_pointer'
** 'buffer_set'
** 'buffer_string_replace_local_var'
* windows:
** 'current_window'
** 'window_get_integer'
** 'window_get_pointer'
** 'window_set_title'
* nicklist:
** 'nicklist_add_group'
** 'nicklist_search_group'
** 'nicklist_add_nick'
** 'nicklist_search_nick'
** 'nicklist_remove_group'
** 'nicklist_remove_nick'
** 'nicklist_remove_all'
* bars:
** 'bar_item_search'
** 'bar_item_new'
** 'bar_item_update'
** 'bar_item_remove'
** 'bar_search'
** 'bar_new'
** 'bar_set'
** 'bar_update'
** 'bar_remove'
* commands:
** 'command'
* infos:
** 'info_get'
* infolists:
** 'infolist_new'
** 'infolist_new_item'
** 'infolist_new_var_integer'
** 'infolist_new_var_string'
** 'infolist_new_var_pointer'
** 'infolist_new_var_time'
** 'infolist_get'
** 'infolist_next'
** 'infolist_prev'
** 'infolist_reset_item_cursor'
** 'infolist_fields'
** 'infolist_integer'
** 'infolist_string'
** 'infolist_pointer'
** 'infolist_time'
** 'infolist_free'
* upgrade:
** 'upgrade_new'
** 'upgrade_write_object'
** 'upgrade_read'
** 'upgrade_close'
[width="100%",cols="^1,10",options="header"]
|========================================
| Category | Functions
| general |
register
| plugins |
plugin_get_name
| strings |
charset_set, iconv_to_internal, iconv_from_internal, gettext, ngettext, +
string_match, string_has_highlight, string_mask_to_regex,
string_remove_color, string_is_command_char, string_input_for_buffer
| directories |
mkdir_home, mkdir, mkdir_parents
| sorted lists |
list_new, list_add, list_search, list_casesearch, list_get, list_set,
list_next, list_prev, list_string, list_size, list_remove, list_remove_all,
list_free
| configuration files |
config_new, config_new_section, config_search_section, config_new_option,
config_search_option, +
config_string_to_boolean, config_option_reset, config_option_set,
config_option_set_null, config_option_unset, config_option_rename,
config_option_is_null, config_option_default_is_null, +
config_boolean, config_boolean_default, config_integer, config_integer_default,
config_string, config_string_default, config_color, config_color_default, +
config_write_option, config_write_line, config_write, config_read,
config_reload, +
config_option_free, config_section_free_options, config_section_free,
config_free, +
config_get, config_get_plugin, config_is_set_plugin, config_set_plugin,
config_unset_plugin
| display |
prefix, color, print (for python: prnt), print_date_tags (for python:
prnt_date_tags), print_y (for python: prnt_y), log_print
| hooks |
hook_command, hook_command_run, hook_timer, hook_fd, hook_process,
hook_connect, hook_print, hook_signal, hook_signal_send, hook_config,
hook_completion, hook_completion_list_add, hook_modifier, hook_modifier_exec,
hook_info, hook_infolist, unhook, unhook_all
| buffers |
buffer_new, current_buffer, buffer_search, buffer_search_main, buffer_clear,
buffer_close, buffer_merge, buffer_unmerge, buffer_get_integer,
buffer_get_string, buffer_get_pointer, buffer_set,
buffer_string_replace_local_var
| windows |
current_window, window_get_integer, window_get_string, window_get_pointer,
window_set_title
| nicklist |
nicklist_add_group, nicklist_search_group, nicklist_add_nick,
nicklist_search_nick, nicklist_remove_group, nicklist_remove_nick,
nicklist_remove_all
| bars |
bar_item_search, bar_item_new, bar_item_update, bar_item_remove, bar_search,
bar_new, bar_set, bar_update, bar_remove
| commands |
command
| infos |
info_get
| infolists |
infolist_new, infolist_new_item, infolist_new_var_integer,
infolist_new_var_string, infolist_new_var_pointer, infolist_new_var_time, +
infolist_get, infolist_next, infolist_prev, infolist_fields, infolist_integer,
infolist_string, infolist_pointer, infolist_time, infolist_free
| upgrade |
upgrade_new, upgrade_write_object, upgrade_read, upgrade_close
|========================================
[[script_api_constants]]
Constants
~~~~~~~~~
List of constants in script API:
* 'WEECHAT_RC_OK'
* 'WEECHAT_RC_OK_EAT'
* 'WEECHAT_RC_ERROR'
* 'WEECHAT_CONFIG_READ_OK'
* 'WEECHAT_CONFIG_READ_MEMORY_ERROR'
* 'WEECHAT_CONFIG_READ_FILE_NOT_FOUND'
* 'WEECHAT_CONFIG_WRITE_OK'
* 'WEECHAT_CONFIG_WRITE_ERROR'
* 'WEECHAT_CONFIG_WRITE_MEMORY_ERROR'
* 'WEECHAT_CONFIG_OPTION_SET_OK_CHANGED'
* 'WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE'
* 'WEECHAT_CONFIG_OPTION_SET_ERROR'
* 'WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND'
* 'WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET'
* 'WEECHAT_CONFIG_OPTION_UNSET_OK_RESET'
* 'WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED'
* 'WEECHAT_CONFIG_OPTION_UNSET_ERROR'
* 'WEECHAT_LIST_POS_SORT'
* 'WEECHAT_LIST_POS_BEGINNING'
* 'WEECHAT_LIST_POS_END'
* 'WEECHAT_HOTLIST_LOW'
* 'WEECHAT_HOTLIST_MESSAGE'
* 'WEECHAT_HOTLIST_PRIVATE'
* 'WEECHAT_HOTLIST_HIGHLIGHT'
* 'WEECHAT_HOOK_PROCESS_RUNNING'
* 'WEECHAT_HOOK_PROCESS_ERROR'
* 'WEECHAT_HOOK_CONNECT_OK'
* 'WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND'
* 'WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND'
* 'WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED'
* 'WEECHAT_HOOK_CONNECT_PROXY_ERROR'
* 'WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR'
* 'WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR'
* 'WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR'
* 'WEECHAT_HOOK_CONNECT_MEMORY_ERROR'
* 'WEECHAT_HOOK_SIGNAL_STRING'
* 'WEECHAT_HOOK_SIGNAL_INT'
* 'WEECHAT_HOOK_SIGNAL_POINTER'
[width="100%",cols="^1,10",options="header"]
|========================================
| Category | Constants
| return codes |
WEECHAT_RC_OK, WEECHAT_RC_OK_EAT, WEECHAT_RC_ERROR
| configuration files |
WEECHAT_CONFIG_READ_OK, WEECHAT_CONFIG_READ_MEMORY_ERROR,
WEECHAT_CONFIG_READ_FILE_NOT_FOUND, WEECHAT_CONFIG_WRITE_OK,
WEECHAT_CONFIG_WRITE_ERROR, WEECHAT_CONFIG_WRITE_MEMORY_ERROR, +
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED, WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE,
WEECHAT_CONFIG_OPTION_SET_ERROR, WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND,
WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET, WEECHAT_CONFIG_OPTION_UNSET_OK_RESET,
WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED, WEECHAT_CONFIG_OPTION_UNSET_ERROR
| sorted lists |
WEECHAT_LIST_POS_SORT, WEECHAT_LIST_POS_BEGINNING, WEECHAT_LIST_POS_END
| hotlist |
WEECHAT_HOTLIST_LOW, WEECHAT_HOTLIST_MESSAGE, WEECHAT_HOTLIST_PRIVATE,
WEECHAT_HOTLIST_HIGHLIGHT
| hook process |
WEECHAT_HOOK_PROCESS_RUNNING, WEECHAT_HOOK_PROCESS_ERROR
| hook connect |
WEECHAT_HOOK_CONNECT_OK, WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND,
WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND, WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED,
WEECHAT_HOOK_CONNECT_PROXY_ERROR, WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR,
WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR, WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR,
WEECHAT_HOOK_CONNECT_MEMORY_ERROR
| hook signal |
WEECHAT_HOOK_SIGNAL_STRING, WEECHAT_HOOK_SIGNAL_INT, WEECHAT_HOOK_SIGNAL_POINTER
|========================================
[[common_tasks]]
Common tasks
------------
This chapter shows some common tasks, with examples.
Only partial things in API are used here, for full reference, see see
'WeeChat Plugin API Reference'.
[[buffers]]
Buffers
~~~~~~~
[[buffers_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>>).
Examples:
[source,python]
----------------------------------------
# display "hello" on core buffer
weechat.prnt("", "hello")
# display prefix "==>" and message "hello" on current buffer
# (prefix and message must be separated by tab)
weechat.prnt(weechat.current_buffer(), "==>\thello")
# display error message on core buffer (with error prefix)
weechat.prnt("", "%swrong arguments" % weechat.prefix("error"))
# display message with color on core buffer
weechat.prnt("", "text %syellow on blue" % weechat.color("yellow,blue"))
# search buffer and display message
# (full name of buffer is plugin.name, for example: "irc.freenode.#weechat")
buffer = weechat.buffer_search("irc", "freenode.#weechat")
weechat.prnt(buffer, "message on #weechat channel")
# other solution to find an IRC buffer (better)
# (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
^^^^^^^^^^^^^^^^^^^
You can send text or command to a buffer. This is exactly like if you type text
on command line and press [Enter].
Examples:
[source,python]
----------------------------------------
# execute command "/help" 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
^^^^^^^^^^^^^^^^^
You can create a new buffer in your script, then use it for displaying messages.
Two callbacks can be called (they are optional): one for input data (when you
type some text and press [Enter] on buffer), the other is called when buffer is
closed (for example by `/buffer close`).
Example:
[source,python]
----------------------------------------
# callback for data received in input
def buffer_input_cb(data, buffer, input_data):
# ...
return weechat.WEECHAT_RC_OK
# callback called when buffer is closed
def buffer_close_cb(data, buffer):
# ...
return weechat.WEECHAT_RC_OK
# create buffer
buffer = weechat.buffer_new("mybuffer", "buffer_input_cb", "", "buffer_close_cb", "")
# set title
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
^^^^^^^^^^^^^^^^^
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")
# read local variable
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
~~~~~
[[hook_command]]
Add new command
^^^^^^^^^^^^^^^
Add a custom command with `hook_command`. You can use a custom completion
template to complete arguments of your command.
Example:
[source,python]
----------------------------------------
def my_command_cb(data, buffer, args):
# ...
return weechat.WEECHAT_RC_OK
hook = weechat.hook_command("myfilter", "description of myfilter",
"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags regex] | [del name|-all]",
"description of arguments...",
"list"
" || enable %(filters_names)"
" || disable %(filters_names)"
" || toggle %(filters_names)"
" || 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 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
^^^^^^^^^^^^^^^^^^^^^^^^
You can run a background process with `hook_process`. Your callback will be
called when data is ready. It may be called many times.
For the last call to your callback, 'rc' is set to 0 or positive value, it's
return code of command.
Example:
[source,python]
----------------------------------------
# Display versions of Linux kernels.
kernel_txt = ""
def kernel_process_cb(data, command, rc, stdout, stderr):
""" Callback reading command output. """
global kernel_txt
if stdout != "":
kernel_txt += stdout
if int(rc) >= 0:
weechat.prnt("", kernel_txt)
return weechat.WEECHAT_RC_OK
weechat.hook_process("python -c \"import urllib; " \
"print urllib.urlopen('http://www.kernel.org/kdist/finger_banner').read()\"",
10 * 1000, "kernel_process_cb", "")
----------------------------------------
[[config_options]]
Config / options
~~~~~~~~~~~~~~~~
[[config_options_set_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.
Example:
[source,python]
----------------------------------------
script_options = {
"option1" : "value1",
"option2" : "value2",
"option3" : "value3",
}
for option, default_value in script_options.iteritems():
if not weechat.config_is_set_plugin(option):
weechat.config_set_plugin(option, default_value)
----------------------------------------
[[config_options_detect_changes]]
Detect changes
^^^^^^^^^^^^^^
You must use `hook_config` to be notified if user changes some script options.
Example:
[source,python]
----------------------------------------
SCRIPT_NAME = "myscript"
# ...
def config_cb(data, option, value):
""" Callback called when a script option is changed. """
# for example, read all script options to script variables...
# ...
return weechat.WEECHAT_RC_OK
# ...
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
^^^^^^^^^^^^^^^^^^^^
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"))))
# boolean
weechat.prnt("", "value of option weechat.look.day_change is: %d"
% (weechat.config_boolean(weechat.config_get("weechat.look.day_change"))))
# integer
weechat.prnt("", "value of option weechat.look.scroll_page_percent is: %d"
% (weechat.config_integer(weechat.config_get("weechat.look.scroll_page_percent"))))
# 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_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, ..):
xxxx,irc_in_yyy::
signal sent before processing message
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"
nick = weechat.info_get("irc_nick_from_host", signal_data)
server = signal.split(",")[0]
channel = signal_data.split(":")[-1]
buffer = weechat.info_get("irc_buffer", "%s,%s" % (server, channel))
if buffer:
weechat.prnt(buffer, "Eheh, %s has joined this channel!" % nick)
return weechat.WEECHAT_RC_OK
# it is useful here to use "*" as server, to catch JOIN messages on all IRC
# servers
weechat.hook_signal("*,irc_in2_join", "join_cb", "")
----------------------------------------
[[infos]]
Infos
~~~~~
[[infos_weechat_version]]
WeeChat version
^^^^^^^^^^^^^^^
The best way to check version is to ask "version_number" and make integer
comparison with hexidecimal 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
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
^^^^^^^^^^^
[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_read]]
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:
while weechat.infolist_next(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
WeeChat will not automatically free memory.
+264 -27
View File
@@ -59,10 +59,14 @@ Binary packages
Binary packages are available for many distributions, including:
* Debian (or any Debian compatible distribution): `apt-get install weechat`
* Debian (or any Debian compatible distribution):
`apt-get install weechat-curses`
* Mandriva/RedHat (or any RPM compatible distribution):
`rpm -i /path/to/weechat-x.y.z-1.i386.rpm`
* Gentoo: `emerge weechat`
* Arch Linux: `pacman -S weechat`
* Fedora Core: `yum install weechat`
* Sourcemage: `cast weechat`
Some additional packages may be useful, like weechat-plugins.
@@ -75,9 +79,39 @@ Source package
WeeChat can be compiled with cmake or autotools (cmake is recommended way).
[[dependencies]]
Dependencies
^^^^^^^^^^^^
Following table shows list of packages that are required or optional to
compile WeeChat.
[width="80%",cols="4,^2,13",options="header"]
|========================================
| Package ^(1)^ | Required | Feature
| cmake | *yes* | build (autotools still possible, but cmake is recommended)
| libncursesw5-dev ^(2)^ | *yes* | ncurses interface
| libgcrypt11-dev | no | SASL authentication with IRC server using DH-BLOWFISH mechanism
| libgnutls-dev | no | SSL connection to IRC server
| libaspell-dev | no | aspell plugin
| libperl-dev | no | perl plugin
| python-dev | no | python plugin
| ruby1.8-dev | no | ruby plugin
| liblua5.1-0-dev | no | lua plugin
| tcl-dev | no | tcl plugin
| asciidoc (>= 8.2) | no | build documentation (HTML files)
| source-highlight | no | syntax highlight for sources in HTML documentation
|========================================
[NOTE]
^(1)^ Name comes from the Debian GNU/Linux distribution, versions and package
names may be different in different distributions and versions. +
^(2)^ WeeChat can compile with libncurses5-dev, but it is *NOT* recommended (you
will have display bugs with wide chars).
[[compile_with_cmake]]
With cmake
^^^^^^^^^^
Compile with cmake
^^^^^^^^^^^^^^^^^^
* Installation in system directories (requires 'root' privileges):
@@ -100,8 +134,8 @@ $ make install
----------------------------------------
[[compile_with_autotools]]
With autotools
^^^^^^^^^^^^^^
Compile with autotools
^^^^^^^^^^^^^^^^^^^^^^
* Installation in system directories (requires 'root' privileges):
@@ -138,7 +172,97 @@ If you're using autotools (and not cmake), execute this script:
$ ./autogen.sh
----------------------------------------
Then follow instructions for source package (see <<source_package>>).
Then follow instructions for source package (see
<<source_package,source package>>).
[[report_crashes]]
Report crashes
~~~~~~~~~~~~~~
If you experienced crashes, or if you want to report any future WeeChat crash,
you have to:
* compile it with debug info (or install binary package with debug info)
* enable 'core' files on your system
* install gdb
[[debug_info]]
Debug info
^^^^^^^^^^
If you're compiling with cmake:
----------------------------------------
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
----------------------------------------
If you're compiling with autotools, debug is default (`--with-debug=1`).
If you installed a binary package, then install package 'weechat-dbg'.
[[core_files]]
Core files
^^^^^^^^^^
To enable 'core' files, you have to use `ulimit` command.
For example under Linux with 'bash' shell, add this line to your `~/.bashrc`:
----------------------------------------
ulimit -c unlimited
----------------------------------------
Or max size:
----------------------------------------
ulimit -c 200000
----------------------------------------
[[gdb_backtrace]]
Get backtrace with gdb
^^^^^^^^^^^^^^^^^^^^^^
When WeeChat crashes, your system will create a file 'core' or 'core.12345'
('12345' is process id).
This file is created in directory where you have run WeeChat (this is *not*
directory where WeeChat is installed!).
For example if 'weechat-curses' is installed in '/usr/bin/' and 'core' file is
in '/home/xxx/', then run gdb with this command:
----------------------------------------
gdb /usr/bin/weechat-curses /home/xxx/core
----------------------------------------
Then under gdb, use command `bt` to display backtrace.
You will see something like that:
----------------------------------------
(gdb) bt
#0 0xffffe424 in __kernel_vsyscall ()
#1 0xb76208e0 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb7623e15 in abort () from /lib/i686/cmov/libc.so.6
#3 0x08083940 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:357
#4 0x08098aaa in debug_sigsegv () at /some_path/src/core/wee-debug.c:155
#5 <signal handler called>
#6 0xb7656681 in vsnprintf () from /lib/i686/cmov/libc.so.6
#7 0xb763dd22 in snprintf () from /lib/i686/cmov/libc.so.6
#8 0xb7258674 in irc_protocol_cmd_join (server=0x8165138, command=0xb727c187 "join", argc=3, argv=0x889e840, argv_eol=0x889e858)
at /some_path/src/plugins/irc/irc-protocol.c:520
#9 0xb7265c6e in irc_protocol_recv_command (server=0x8165138, entire_line=0x889e7e0 ":nick!nick@127.0.0.1 JOIN :#test",
command=0x889d080 "JOIN") at /some_path/src/plugins/irc/irc-protocol.c:4077
#10 0xb726a2c6 in irc_server_msgq_flush () at /some_path/src/plugins/irc/irc-server.c:1614
#11 0xb726a4da in irc_server_recv_cb (data=0x8165138, fd=8) at /some_path/src/plugins/irc/irc-server.c:1691
#12 0x0809a797 in hook_fd_exec (read_fds=0xbfcf8074, write_fds=0xbfcf7ff4, exception_fds=0xbfcf7f74)
at /some_path/src/core/wee-hook.c:1133
#13 0x08060af0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:330
#14 0x08083b10 in main (argc=3, argv=0xbfcf81d4) at /some_path/src/core/weechat.c:419
----------------------------------------
You must report this trace to developers, and tell them what action caused this
crash.
Thank you for your help!
[[usage]]
@@ -171,6 +295,9 @@ Command line arguments:
-p, --no-plugin::
Disable plugins auto-load
-s, --no-script::
Disable scripts auto-load
-v, --version::
Display WeeChat version
@@ -188,7 +315,8 @@ created, with default options. The default configuration file is:
'~/.weechat/weechat.conf'.
You can edit this file at your convenience to configure WeeChat or you can set
parameters with `/set` command in WeeChat (see <<weechat_commands>>).
parameters with `/set` command in WeeChat (see
<<weechat_commands,WeeChat commands>>).
[[screen_layout]]
Screen layout
@@ -677,24 +805,25 @@ attribute.
Color codes for ^Cc are:
[width="20%",cols="^1m,2"]
[width="35%",cols="^1m,3,3",options="header"]
|========================================
| 00 | white
| 01 | black
| 02 | dark blue
| 03 | dark green
| 04 | light red
| 05 | dark red
| 06 | magenta
| 07 | orange
| 08 | yellow
| 09 | light green
| 10 | cyan
| 11 | light cyan
| 12 | light blue
| 13 | light magenta
| 14 | gray
| 15 | light gray (white)
| Code | IRC | WeeChat (curses)
| 00 | white | white
| 01 | black | black
| 02 | dark blue | blue
| 03 | dark green | green
| 04 | light red | lightred
| 05 | dark red | red
| 06 | magenta | magenta
| 07 | orange | brown
| 08 | yellow | yellow
| 09 | light green | lightgreen
| 10 | cyan | cyan
| 11 | light cyan | lightcyan
| 12 | light blue | lightblue
| 13 | light magenta | lightmagenta
| 14 | gray | default
| 15 | light gray | white
|========================================
Example: display of "hello everybody!" with "hello" in light blue bold and
@@ -710,7 +839,9 @@ WeeChat options (weechat.conf)
include::autogen/user/weechat_options.txt[]
Colors for Curses GUI are:
[[curses_colors]]
Colors for Curses GUI
^^^^^^^^^^^^^^^^^^^^^
[width="50%",cols="^3m,8"]
|========================================
@@ -777,7 +908,7 @@ Examples to load, unload or list plugins:
Default plugins are:
[width="50%",cols=">1s,5",options="header"]
[width="50%",cols="^1,5",options="header"]
|========================================
| Plugin | Description
| alias | Define alias for commands
@@ -998,7 +1129,7 @@ IRC plugin
The IRC plugin is designed to chat through IRC protocol with other people.
It is multi-servers, and offers all supported IRC commands including DCC chat
and file transfer (via xfer plugin, see <<xfer_plugin>>).
and file transfer (via xfer plugin, see <<xfer_plugin,Xfer plugin>>).
[[irc_command_line_options]]
Command line options
@@ -1029,6 +1160,111 @@ Commands
include::autogen/user/irc_commands.txt[]
[[irc_ssl_certificates]]
SSL certificates
^^^^^^^^^^^^^^^^
When connecting to IRC server with SSL, WeeChat checks by default that the
connection is fully trusted.
Some options are used to control SSL connection:
weechat.network.gnutls_ca_file::
path to file with certificate authorities (by default: "%h/ssl/CAs.pem")
irc.server.xxx.ssl_cert::
SSL certificate file used to automatically identify your nick (for example
CertFP on oftc, see below)
irc.server.xxx.ssl_dhkey_size::
size of the key used during the Diffie-Hellman Key Exchange (by default:
2048)
irc.server.xxx.ssl_verify::
check that the SSL connection is fully trusted (on by default)
[NOTE]
Option "ssl_verify" is on by default, so verification is strict and may fail,
even if it was ok with versions prior to 0.3.1.
[[irc_connect_oftc_with_certificate]]
First example: connect to oftc and check certificate
++++++++++++++++++++++++++++++++++++++++++++++++++++
* Import certificate in shell:
----------------------------------------
$ mkdir ~/.weechat/ssl
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/secretary/spi-cacert.crt
----------------------------------------
Note: it is possible to concatenate many certificates in file CAs.pem.
* In WeeChat, with "oftc" server already created:
----------------------------------------
/connect oftc
----------------------------------------
[[irc_connect_oftc_with_certfp]]
Second example: connect to oftc using CertFP
++++++++++++++++++++++++++++++++++++++++++++
* Create certificate in shell:
----------------------------------------
$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
$ cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
----------------------------------------
* In WeeChat, with "oftc" server already created:
----------------------------------------
/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
/connect oftc
/msg nickserv cert add
----------------------------------------
For more information, look at http://www.oftc.net/oftc/NickServ/CertFP
[[irc_smart_filter_join_part_quit]]
Smart filter for join/part/quit messages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
A smart filter is available to filter join/part/quit messages when nick did not
say something during past X minutes on channel.
Smart filter is enabled by default, but you must add a filter to hide lines on
buffers, for example:
----------------------------------------
/filter add irc_smart * irc_smart_filter *
----------------------------------------
It is possible to create filter for one channel only or channels beginning with
same name (see `/help filter`):
----------------------------------------
/filter add irc_smart_weechat irc.freenode.#weechat irc_smart_filter *
/filter add irc_smart_weechats irc.freenode.#weechat* irc_smart_filter *
----------------------------------------
You can hide only join or part/quit with following options:
----------------------------------------
/set irc.look.smart_filter_join on
/set irc.look.smart_filter_quit on
----------------------------------------
You can setup delay (in minutes):
----------------------------------------
/set irc.look.smart_filter_delay 5
----------------------------------------
If a nick did not speak during last 5 minutes, its join and/or part/quit will be
hidden on channel.
[[irc_ctcp_replies]]
CTCP replies
^^^^^^^^^^^^
@@ -1130,6 +1366,7 @@ Non-exhaustive list of IRC messages or alias that you can customize:
| wallops | | wallops
| 221 | | user mode string
| 275 | whois | whois (secure connection)
| 301 | whois | whois (away)
| 303 | | ison
| 305 | unaway | unaway
| 306 | away | away
+8 -8
View File
@@ -17,14 +17,14 @@
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
weechat_user.fr.txt \
weechat_plugin_api.fr.txt \
weechat_scripting.fr.txt \
weechat_faq.fr.txt \
weechat_quickstart.fr.txt \
weechat_tester.fr.txt \
$(wildcard autogen/user/*.txt) \
$(wildcard autogen/plugin_api/*.txt)
weechat_user.fr.txt \
weechat_plugin_api.fr.txt \
weechat_scripting.fr.txt \
weechat_faq.fr.txt \
weechat_quickstart.fr.txt \
weechat_tester.fr.txt \
$(wildcard autogen/user/*.txt) \
$(wildcard autogen/plugin_api/*.txt)
all-local: weechat_user.fr.html \
weechat_plugin_api.fr.html \
+8 -1
View File
@@ -1,6 +1,7 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
| Plugin | Name | Description
| Extension | Nom | Description
| alias | alias | liste des alias
| aspell | aspell_langs | liste des langues supportées pour aspell
@@ -53,6 +54,10 @@
| weechat | bars_options | options pour les barres
| weechat | buffer_properties_get | propriétés qui peuvent être lues sur un tampon
| weechat | buffer_properties_set | propriétés qui peuvent être changées sur un tampon
| weechat | buffers_names | noms des tampons
| weechat | buffers_numbers | numéros des tampons
@@ -77,6 +82,8 @@
| weechat | keys_codes | codes des touches
| weechat | keys_codes_for_reset | codes des touches pouvant être réinitialisées (touches ajoutées, redéfinies ou supprimées)
| weechat | nicks | pseudos dans la liste des pseudos du tampon courant
| weechat | plugins_commands | commandes définies par les extensions
+30 -29
View File
@@ -1,58 +1,59 @@
[width="65%",cols="^1,^2,8",options="header"]
[width="100%",cols="^1,^2,5,5,5",options="header"]
|========================================
| Plugin | Name | Description
| alias | alias | liste des alias
| Extension | Nom | Description | Pointeur | Paramètres
| irc | irc_channel | liste des canaux pour un serveur IRC
| alias | alias | liste des alias | pointeur vers l'alias (optionnel) | nom d'alias (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| irc | irc_ignore | liste des ignores IRC
| irc | irc_channel | liste des canaux pour un serveur IRC | pointeur vers le canal (optionnel) | nom de serveur
| irc | irc_nick | liste des pseudos pour un canal IRC
| irc | irc_ignore | liste des ignores IRC | pointeur vers l'ignore (optionnel) | -
| irc | irc_server | liste des serveurs IRC
| irc | irc_nick | liste des pseudos pour un canal IRC | pointeur vers le pseudo (optionnel) | serveur,canal,pseudo (canal et pseudo sont optionnels)
| logger | logger_buffer | liste des enregistreurs de tampons (loggers)
| irc | irc_server | liste des serveurs IRC | pointeur vers le serveur (optionnel) | nom de serveur (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| lua | lua_script | liste des scripts
| logger | logger_buffer | liste des enregistreurs de tampons (loggers) | pointeur vers le logger (optionnel) | -
| perl | perl_script | liste des scripts
| lua | lua_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| python | python_script | liste des scripts
| perl | perl_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| relay | relay | liste des clients pour le relai
| python | python_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| ruby | ruby_script | liste des scripts
| relay | relay | liste des clients pour le relai | pointeur vers le relay (optionnel) | -
| tcl | tcl_script | liste des scripts
| ruby | ruby_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| weechat | bar | liste des barres
| tcl | tcl_script | liste des scripts | pointeur vers le script (optionnel) | nom de script (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| weechat | bar_item | liste des objets de barres
| weechat | bar | liste des barres | pointeur vers la barre (optionnel) | nom de barre (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| weechat | bar_window | liste des fenêtres de barre
| weechat | bar_item | liste des objets de barres | pointeur vers l'objet de barre (optionnel) | nom d'objet de barre (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| weechat | buffer | liste des tampons
| weechat | bar_window | liste des fenêtres de barre | pointeur vers la fenêtre de barre (optionnel) | -
| weechat | buffer_lines | lignes d'un tampon
| weechat | buffer | liste des tampons | pointeur vers le tampon (optionnel) | nom de tampon (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| weechat | filter | liste des filtres
| weechat | buffer_lines | lignes d'un tampon | pointeur vers le tampon | -
| weechat | history | historique des commandes
| weechat | filter | liste des filtres | - | nom de filtre (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| weechat | hook | liste des hooks
| weechat | history | historique des commandes | pointeur vers le tampon (si non défini, retourne l'historique global) (optionnel) | -
| weechat | hotlist | liste des tampons dans la hotlist
| weechat | hook | liste des hooks | - | type de hook: command, timer, .. (optionnel)
| weechat | key | liste des associations de touches
| weechat | hotlist | liste des tampons dans la hotlist | - | -
| weechat | nicklist | pseudos dans la liste des pseudos pour un tampon
| weechat | key | liste des associations de touches | - | -
| weechat | option | liste des options
| weechat | nicklist | pseudos dans la liste des pseudos pour un tampon | pointeur vers le tampon | nick_xxx ou group_xxx pour avoir seulement le pseudo/groupe xxx (optionnel)
| weechat | plugin | liste des extensions
| weechat | option | liste des options | - | nom d'option (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| weechat | window | liste des fenêtres
| weechat | plugin | liste des extensions | pointeur vers l'extension (optionnel) | nom d'extension (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| xfer | xfer | liste des xfer
| weechat | window | liste des fenêtres | pointeur vers la fenêtre (optionnel) | nom de fenêtre (peut démarrer ou se terminer par "*" comme joker) (optionnel)
| xfer | xfer | liste des xfer | pointeur vers le xfer (optionnel) | -
|========================================
+26 -21
View File
@@ -1,42 +1,47 @@
[width="65%",cols="^1,^2,8",options="header"]
[width="100%",cols="^1,^2,6,6",options="header"]
|========================================
| Plugin | Name | Description
| fifo | fifo_filename | nom du tube FIFO
| Extension | Nom | Description | Paramètres
| irc | irc_buffer | retourne le pointeur vers le tampon pour un serveur/canal IRC
| fifo | fifo_filename | nom du tube FIFO | -
| irc | irc_is_channel | 1 si la chaîne est un canal IRC
| irc | irc_buffer | retourne le pointeur vers le tampon pour un serveur/canal/pseudo IRC | serveur,canal,pseudo (canal et pseudo sont optionnels)
| irc | irc_nick | retourne le pseudo utilisé actuellement sur un serveur
| irc | irc_is_channel | 1 si la chaîne est un nom de canal IRC valide | nom de canal
| irc | irc_nick_color | retourne la couleur du pseudo
| irc | irc_is_nick | 1 si la chaîne est un pseudo IRC valide | pseudo
| irc | irc_nick_from_host | retourne le pseudo à partir d'un host IRC
| irc | irc_nick | retourne le pseudo utilisé actuellement sur un serveur | nom de serveur
| weechat | charset_internal | charset interne à WeeChat
| irc | irc_nick_color | retourne la couleur du pseudo | pseudo
| weechat | charset_terminal | charset du terminal
| irc | irc_nick_from_host | retourne le pseudo à partir d'un host IRC | host IRC (comme `:pseudo!nom@serveur.com`)
| weechat | date | date de compilation de WeeChat
| weechat | charset_internal | charset interne à WeeChat | -
| weechat | dir_separator | séparateur de répertoire
| weechat | charset_terminal | charset du terminal | -
| weechat | filters_enabled | 1 si les filtres sont activés
| weechat | date | date de compilation de WeeChat | -
| weechat | inactivity | inactivité du clavier (secondes)
| weechat | dir_separator | séparateur de répertoire | -
| weechat | version | version de WeeChat
| weechat | filters_enabled | 1 si les filtres sont activés | -
| weechat | weechat_dir | répertoire de WeeChat
| weechat | inactivity | inactivité du clavier (secondes) | -
| weechat | weechat_libdir | répertoire "lib" de WeeChat
| weechat | version | version de WeeChat | -
| weechat | weechat_localedir | répertoire "locale" de WeeChat
| weechat | version_number | version de WeeChat (sous forme de nombre) | -
| weechat | weechat_sharedir | répertoire "share" de WeeChat
| weechat | weechat_dir | répertoire de WeeChat | -
| weechat | weechat_site | site WeeChat
| weechat | weechat_libdir | répertoire "lib" de WeeChat | -
| weechat | weechat_site_download | site WeeChat, page de téléchargement
| weechat | weechat_localedir | répertoire "locale" de WeeChat | -
| weechat | weechat_sharedir | répertoire "share" de WeeChat | -
| weechat | weechat_site | site WeeChat | -
| weechat | weechat_site_download | site WeeChat, page de téléchargement | -
|========================================
+13 -2
View File
@@ -1,15 +1,16 @@
&bull; *`/alias`* `[nom_alias [commande [paramètres]]]`::
&bull; *`/alias`* `[[-completion complétion] nom_alias [commande [paramètres]]]`::
........................................
créer un alias pour une commande
complétion: complétion pour l'alias (optionnel, par défaut la complétion se fait avec la commande cible)
nom_alias: nom de l'alias (peut démarrer ou se terminer par "*" pour une liste d'alias)
commande: nom de la commande (plusieurs commandes peuvent être séparées par des point-virgules)
paramètres: paramètres pour la commande
Sans paramètre, cette commande liste tous les alias définis.
Note: dans la commande, les variables spéciales sont remplacées :
Note : dans la commande, les variables spéciales sont remplacées :
$n: paramètre 'n' (entre 1 et 9)
$-m: paramètres de 1 à 'm'
$n-: paramètres de 'n' au dernier
@@ -19,5 +20,15 @@
$nick: pseudo courant
$channel: canal courant
$server: serveur courant
Pour supprimer un alias, utilisez la commande /unalias.
Exemples:
alias /split pour diviser la fenêtre horizontalement :
/alias split /window splith
alias /hello pour dire "hello" sur tous les canaux mais pas sur #weechat :
/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
........................................
+36 -20
View File
@@ -16,7 +16,7 @@
commande: commande à exécuter
paramètres: paramètres pour la commande
Exemples :
Exemples:
exécuter '/me teste' sur tous les canaux :
/allchan me teste
dire 'bonjour' partout sauf sur #weechat :
@@ -34,22 +34,13 @@
commande: commande à exécuter
paramètres: paramètres pour la commande
Exemples :
Exemples:
changer de pseudo sur tous les serveurs :
/allserv nick newnick
positionner l'absence sur tous les serveurs :
/allserv away Je suis absent
........................................
&bull; *`/away`* `[-all] [message]`::
........................................
basculer le statut absent
-all: basculer le statut absent sur tous les serveurs connectés
message: message pour l'absence (si pas de message donné, le statut d'absence est supprimé)
........................................
&bull; *`/ban`* `[canal] [pseudo [pseudo ...]]`::
........................................
@@ -59,12 +50,13 @@
pseudo: pseudo ou hôte pour le bannissement
........................................
&bull; *`/connect`* `[-all [-nojoin] | nom_serveur [nom_serveur ...] [-nojoin] | nom[/port] [-option[=valeur]] [-nooption]]`::
&bull; *`/connect`* `[-all [-nojoin] | -open [-nojoin] | nom_serveur [nom_serveur ...] [-nojoin] | nom[/port] [-option[=valeur]] [-nooption]]`::
........................................
se connecter à un/plusieurs serveur(s) IRC
-all: se reconnecter à tous les serveurs
-all: se connecter à tous les serveurs définis dans la configuration
-open: se connecter à tous les serveurs ouverts qui ne sont pas actuellement connectés
nom_serveur: nom du serveur interne pour se connecter (le serveur doit avoir été créé par /server add)
-nojoin: ne rejoindre aucun canal (même si l'autojoin est activé pour le serveur)
nom: nom (ou adresse IP) d'un serveur
@@ -107,6 +99,12 @@
action: 'send' (envoi de fichier) ou 'chat' (discussion)
pseudo: pseudo pour envoyer le fichier ou discuter
fichier: nom du fichier (sur la machine locale)
Exemples:
discuter avec le pseudo "toto":
/dcc chat toto
envoyer le fichier "/home/foo/bar.txt" au pseudo "toto":
/dcc send toto /home/foo/bar.txt
........................................
&bull; *`/dehalfop`* `[pseudo [pseudo]]`::
@@ -224,9 +222,11 @@
pseudo: pseudo à éliminer et bannir
commentaire: commentaire pour l'élimination
Il est possible d'émiliner/bannir avec un masque, le pseudo sera extrait du masque et remplacé par "*", par exemple :
/kickban toto!*@host.com
bannira "*!*@host.com" puis éliminera "toto".
Il est possible d'émiliner/bannir avec un masque, le pseudo sera extrait du masque et remplacé par "*".
Exemple:
bannit "*!*@host.com" puis élimine "toto":
/kickban toto!*@host.com
........................................
&bull; *`/kill`* `pseudo commentaire`::
@@ -247,13 +247,22 @@
masque_serveur: liste des serveurs correspondant au masque
........................................
&bull; *`/list`* `[canal[,canal] [serveur]]`::
&bull; *`/list`* `[canal[,canal] [serveur] [-re regexp]]`::
........................................
lister les canaux et leur titre
canal: canal à lister (une expression régulière est acceptée)
canal: canal à lister
serveur: nom du serveur
regexp: expression régulière utilisée pour filtrer les résultats
Exemples:
lister tous les canaux du serveur (peut être très lent pour les grands réseaux):
/list
lister le canal #weechat:
/list #weechat
lister tous les canaux commençant par "#weechat" (peut être très lent pour les grands réseaux):
/list -re #weechat.*
........................................
&bull; *`/lusers`* `[masque [cible]]`::
@@ -265,6 +274,12 @@
cible: serveur pour faire suivre la requête
........................................
&bull; *`/map`*::
........................................
afficher une carte graphique du réseau IRC
........................................
&bull; *`/me`* `message`::
........................................
@@ -479,11 +494,11 @@
........................................
liste, ajoute ou retire des serveurs IRC
list: afficher les serveurs (pas de paramètre implique cette liste)
list: afficher les serveurs (sans paramètre, cette liste est affichée)
listfull: afficher les serveurs avec de l'info détaillée pour chaque
add: créer un nouveau serveur
nom_serveur: nom du serveur, pour usage interne et affichage
nom: nom ou adresse IP du serveur avec port en option (defaut: 6667)
nom: nom ou adresse IP du serveur avec port en option (defaut: 6667), plusieurs addresses peuvent être séparées par une virgule
temp: créer un serveur temporaire (non sauvé)
option: définir l'option pour le serveur (pour une option booléenne, la valeur peut être omise)
nooption: définir l'option booléenne à 'off' (par exemple: -nossl)
@@ -500,6 +515,7 @@
/server add oftc irc.oftc.net/6697 -ssl -autoconnect
/server add oftc6 irc6.oftc.net/6697 -ipv6 -ssl
/server add freenode2 chat.eu.freenode.net/6667,chat.us.freenode.net/6667
/server add freenode3 irc.freenode.net -password=mypass
/server copy oftc oftcbis
/server rename oftc newoftc
/server del freenode
+61 -11
View File
@@ -43,11 +43,6 @@
** type: entier
** valeurs: off, local, channel (valeur par défaut: local)
* *irc.look.display_channel_modes*
** description: affiche les modes du canal dans l'objet de barre "buffer_name"
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *irc.look.display_ctcp_blocked*
** description: afficher le message CTCP même s'il est bloqué
** type: booléen
@@ -63,11 +58,6 @@
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *irc.look.display_nick_modes*
** description: affiche les modes du pseudo dans l'objet de barre "input_prompt"
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *irc.look.display_old_topic*
** description: afficher l'ancien titre lorsque le titre du canal est changé
** type: booléen
@@ -83,11 +73,31 @@
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "irc_privmsg,irc_notice")
* *irc.look.item_channel_modes*
** description: affiche les modes du canal dans l'objet de barre "buffer_name"
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *irc.look.item_channel_modes_hide_key*
** description: cacher la clé du canal si les modes sont affichés dans l'objet de barre "buffer_name" (cela cachera tous les paramètres des modes du canal si le mode +k est défini sur le canal)
** type: booléen
** valeurs: on, off (valeur par défaut: off)
* *irc.look.item_display_server*
** description: nom de l'objet de barre où est affiché le serveur IRC (pour la barre de statut)
** type: entier
** valeurs: buffer_plugin, buffer_name (valeur par défaut: buffer_plugin)
* *irc.look.item_nick_modes*
** description: affiche les modes du pseudo dans l'objet de barre "input_prompt"
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *irc.look.item_nick_prefix*
** description: affiche le préfixe du pseudo dans l'objet de barre "input_prompt"
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *irc.look.msgbuffer_fallback*
** description: tampon cible par défaut pour les options msgbuffer quand la cible est "private" et que le tampon privé n'est pas trouvé
** type: entier
@@ -123,6 +133,11 @@
** type: booléen
** valeurs: on, off (valeur par défaut: off)
* *irc.look.part_closes_buffer*
** description: fermer le tampon lorsque /part est exécuté sur un canal
** type: booléen
** valeurs: on, off (valeur par défaut: off)
* *irc.look.raw_messages*
** description: nombre de messages IRC bruts à sauvegarder en mémoire lorsque le tampon des données brutes est fermé (ces messages seront affichés lors de l'ouverture du tampon des données brutes)
** type: entier
@@ -141,13 +156,23 @@
* *irc.look.smart_filter*
** description: filtrer les messages join/part/quit pour un pseudo s'il n'a pas parlé pendant quelques minutes sur le canal (vous devez créer un filtre sur le tag "irc_smart_filter")
** type: booléen
** valeurs: on, off (valeur par défaut: off)
** valeurs: on, off (valeur par défaut: on)
* *irc.look.smart_filter_delay*
** description: délai pour filtrer les messages join/part/quit (en minutes)
** type: entier
** valeurs: 1 .. 10080 (valeur par défaut: 5)
* *irc.look.smart_filter_join*
** description: activer le filtre intelligent pour les messages "join"
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *irc.look.smart_filter_quit*
** description: activer le filtre intelligent pour les messages "part" et "quit"
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *irc.look.topic_strip_colors*
** description: supprimer les couleurs dans le titre (utilisé seulement lors de l'affichage du titre du tampon)
** type: booléen
@@ -183,6 +208,11 @@
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *irc.network.connection_timeout*
** description: délai d'attente (en secondes) entre la connexion TCP au serveur et la réception du message 001, si ce délai est atteint avant que le message 001 soit reçu, WeeChat se déconnectera du serveur
** type: entier
** valeurs: 1 .. 3600 (valeur par défaut: 60)
* *irc.network.default_msg_part*
** description: message par défaut pour le part (en quittant un canal) ("%v" sera remplacé par la version de WeeChat dans la chaîne)
** type: chaîne
@@ -288,6 +318,26 @@
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "")
* *irc.server_default.sasl_mechanism*
** description: mécanisme pour l'authentification SASL
** type: entier
** valeurs: plain, dh-blowfish (valeur par défaut: plain)
* *irc.server_default.sasl_password*
** description: mot de passe pour l'authentification SASL
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "")
* *irc.server_default.sasl_timeout*
** description: délai d'attende maximum (en secondes) avant d'abandonner l'authentification SASL
** type: entier
** valeurs: 1 .. 3600 (valeur par défaut: 15)
* *irc.server_default.sasl_username*
** description: nom d'utilisateur pour l'authentification SASL
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "")
* *irc.server_default.ssl*
** description: utiliser SSL pour la communication avec le serveur
** type: booléen
+3 -3
View File
@@ -9,7 +9,7 @@
** valeurs: on, off (valeur par défaut: off)
* *logger.file.mask*
** description: masque de fichier par défaut pour les fichiers de log (le format est "repertoire/vers/fichier" ou "fichier", sans le premier "/" car l'option "path" est utilisée pour construire le chemin complet vers le fichier); les variables locales du tampon sont permises
** description: masque de fichier par défaut pour les fichiers de log (le format est "repertoire/vers/fichier" ou "fichier", sans le premier "/" car l'option "path" est utilisée pour construire le chemin complet vers le fichier); les variables locales du tampon sont permises; les caractères de formatage de date sont autorisés (voir man strftime)
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "$plugin.$name.weechatlog")
@@ -19,7 +19,7 @@
** valeurs: on, off (valeur par défaut: on)
* *logger.file.path*
** description: chemin pour les fichiers de log WeeChat ("%h" sera remplacé par le répertoire de base WeeChat, par défaut: "~/.weechat")
** description: chemin pour les fichiers de log WeeChat; "%h" au début de la chaîne est remplacé par le répertoire de base WeeChat (par défaut: "~/.weechat"); les caractères de formatage de date sont autorisés (voir man strftime)
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "%h/logs/")
@@ -29,7 +29,7 @@
** valeurs: toute chaîne (valeur par défaut: "_")
* *logger.file.time_format*
** description: format de date/heure utilisé dans les fichiers log (voir strftime(3) pour le format de date/heure)
** description: format de date/heure utilisé dans les fichiers log (voir man strftime pour le format de date/heure)
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "%Y-%m-%d %H:%M:%S")
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/lua`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload] | [unload [nom]]`::
&bull; *`/lua`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload [nom]] | [unload [nom]]`::
........................................
liste/charge/décharge des scripts
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/perl`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload] | [unload [nom]]`::
&bull; *`/perl`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload [nom]] | [unload [nom]]`::
........................................
liste/charge/décharge des scripts
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/python`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload] | [unload [nom]]`::
&bull; *`/python`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload [nom]] | [unload [nom]]`::
........................................
liste/charge/décharge des scripts
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/ruby`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload] | [unload [nom]]`::
&bull; *`/ruby`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload [nom]] | [unload [nom]]`::
........................................
liste/charge/décharge des scripts
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/tcl`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload] | [unload [nom]]`::
&bull; *`/tcl`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload [nom]] | [unload [nom]]`::
........................................
liste/charge/décharge des scripts
+97 -30
View File
@@ -1,3 +1,12 @@
&bull; *`/away`* `[-all] [message]`::
........................................
basculer le statut absent
-all: basculer le statut absent sur tous les serveurs connectés
message: message pour l'absence (si pas de message donné, le statut d'absence est supprimé)
........................................
&bull; *`/bar`* `[add nombarre type[,cond1,cond2,...] position taille separateur objet1,objet2,...] | [default] | [del nombarre|-all] | [set nombarre option valeur] | [hide|show|toggle nombarre] | [scroll nombarre tampon valeur_scroll] | [list] | [listfull] | [listitems]`::
........................................
@@ -44,7 +53,7 @@
/bar scroll nicklist * ye
........................................
&bull; *`/buffer`* `[clear [nombre | -merged | -all] | move nombre | merge nombre | unmerge [nombre] | close [n1[-n2]] | list | notify niveau | localvar | set propriété valeur | nombre | nom]`::
&bull; *`/buffer`* `[clear [nombre | -merged | -all] | move nombre | merge nombre | unmerge [nombre] | close [n1[-n2]] | list | notify niveau | localvar | set propriété valeur | get propriété | nombre | nom]`::
........................................
gestion des tampons
@@ -55,7 +64,7 @@
(par défaut ctrl-x bascule entre les tampons mélangés)
unmerge: détache le tampon courant des autres tampons portant le même numéro
close: ferme le tampon (nombre/intervalle optionnel)
list: liste les tampons ouverts (pas de paramètre affiche cette liste)
list: liste les tampons ouverts (sans paramètre, cette liste est affichée)
notify: définit le niveau de notification pour le tampon courant: ce niveau détermine si le buffer doit être ajouté à la hotlist ou pas:
none: jamais
highlight: pour les highlights seulement
@@ -64,6 +73,7 @@
reset: réinitialise à valeur par défaut (all)
localvar: affiche la liste des variables locales pour le tampon courant
set: modifier une propriété du tampon courant
get: afficher une propriété du tampon courant
nombre: saute au tampon qui a ce numéro, préfixe possible:
'+': saut relatif, ajoute le numéro au courant,
'-': saut relatif, soustrait le numéro au courant,
@@ -71,15 +81,22 @@
nom: saute au tampon par nom (partiel)
Exemples:
effacer le tampon courant: /buffer clear
effacer tous les tampons: /buffer clear -all
déplacer le tampon: /buffer move 5
mélanger avec le tampon core: /buffer merge 1
détacher le tampon: /buffer unmerge
fermer le tampon courant: /buffer close
fermer les tampons 5 à 7: /buffer close 5-7
aller sur #weechat: /buffer #weechat
aller au tampon suivant: /buffer +1
effacer le tampon courant:
/buffer clear
déplacer le tampon vers le numéro 5:
/buffer move 5
mélanger avec le tampon core:
/buffer merge 1
détacher le tampon:
/buffer unmerge
fermer le tampon courant:
/buffer close
fermer les tampons 5 à 7:
/buffer close 5-7
aller sur #weechat:
/buffer #weechat
aller au tampon suivant:
/buffer +1
........................................
&bull; *`/command`* `extension commande`::
@@ -124,11 +141,18 @@
La touche par défaut alt+'=' active/désactive le filtrage.
Les tags les plus couramment utilisés:
no_filter, no_highlight, log0..log9 (niveau de log),
notify_message, notify_private, notify_highlight,
irc_xxx (xxx est un nom de commande ou nombre, voir /server raw), irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
Exemples:
utiliser le filtre intelligent IRC pour les messages join/part/quit:
/filter add irc_smart * irc_smart_filter *
filtrer tous les messages IRC join/part/quit:
/filter add joinquit * irc_join,irc_part,irc_quit *
filtrer les pseudos afficher en rejoignant les canaux ou avec /names:
/filter add nicks * irc_366 *
filtrer le pseudo "toto" sur le canal IRC #weechat:
/filter add toto irc.freenode.#weechat * toto\t
filtrer les lignes contenant le mot "spam":
@@ -155,7 +179,7 @@
valeur: nombre d'entrées dans l'historique à afficher
........................................
&bull; *`/input`* `return | complete_next | complete_previous | search_next | delete_previous_char | delete_next_char | delete_previous_word | delete_next_word | delete_beginning_of_line | delete_end_of_line | delete_line | clipboard_paste | transpose_chars | move_beginning_of_line | move_end_of_line | move_previous_char | move_next_char | move_previous_word | move_next_word | history_previous | history_next | history_global_previous | history_global_next | jump_smart | jump_last_buffer | jump_previously_visited_buffer | jump_next_visited_buffer | hotlist_clear | grab_key | grab_key_command | scroll_unread | set_unread | set_unread_current_buffer | insert [args]`::
&bull; *`/input`* `return | complete_next | complete_previous | search_next | delete_previous_char | delete_next_char | delete_previous_word | delete_next_word | delete_beginning_of_line | delete_end_of_line | delete_line | clipboard_paste | transpose_chars | move_beginning_of_line | move_end_of_line | move_previous_char | move_next_char | move_previous_word | move_next_word | history_previous | history_next | history_global_previous | history_global_next | jump_smart | jump_last_buffer | jump_previously_visited_buffer | jump_next_visited_buffer | hotlist_clear | grab_key | grab_key_command | scroll_unread | set_unread | set_unread_current_buffer | switch_active_buffer | switch_active_buffer_previous | insert [args]`::
........................................
fonctions pour la ligne de commande
@@ -163,17 +187,29 @@
Cette commande est utilisée par les associations de touches ou les extensions.
........................................
&bull; *`/key`* `[bind touche [commande [args]]] | [unbind touche] | [reset -yes] | [missing]`::
&bull; *`/key`* `[list | listdefault | listdiff] | [bind touche [commande [args]]] | [unbind touche] | [reset touche] | [resetall -yes] | [missing]`::
........................................
associer/libérer des touches
bind: associer une commande à une touche ou afficher la commande associée à la touche
unbind: supprimer l'association à une touche
reset: restaure les touches aux valeurs par défaut et supprime TOUTES les touches personnelles (utiliser avec précaution !)
missing: ajoute les touches manquantes (en utilisant les touches par défaut)
list: affiche toutes les touches courantes (sans paramètre, cette liste est affichée)
listdefault: affiche les touches par défaut
listdiff: affiche les différences entre les touches courantes et celles par défaut (touches ajoutées, redéfinies ou supprimées)
bind: associe une commande à une touche ou affiche la commande associée à la touche
unbind: supprime l'association à une touche
reset: réinitialise une touche à son association par défaut
resetall: restaure les touches aux valeurs par défaut et supprime TOUTES les touches personnelles (utiliser avec précaution !)
missing: ajoute les touches manquantes (en utilisant les touches par défaut), pratique après installation d'une nouvelle version de WeeChat
Lors de l'association d'une commande à une touche, il est recommandé d'utiliser la touche alt+k (ou Echap puis k), et puis de presser la touche à associer: cela insère le code de la touche dans la ligne de commande.
Exemples:
touche alt-x pour activer/désactiver la liste des pseudos:
/key bind meta-x /bar toggle nicklist
touche alt-r pour aller sur le canal IRC #weechat:
/key bind meta-r /buffer #weechat
restaure l'association par défaut pour la touche alt-r:
/key reset meta-r
........................................
&bull; *`/layout`* `[[save | apply | reset] [buffers | windows]]`::
@@ -190,6 +226,28 @@
Sans paramètre, cette commande affiche la disposition sauvegardée.
........................................
&bull; *`/mute`* `[-current | -buffer nom | -all] commande`::
........................................
exécuter une commande silencieusement
-current: pas d'affichage sur le tampon courant
-buffer: pas d'affichage sur le tampon spécifié
nom: nom complet du tampon (exemples: "irc.server.freenode", "irc.freenode.#weechat")
-all: pas d'affichage sur TOUS les tampons
commande: commande à exécuter silencieusement (un '/' est automatiquement ajouté s'il n'est pas trouvé au début de la commande)
Si aucune cible n'est spécifiée (-current, -buffer ou -all), alors par défaut seul le tampon core WeeChat sera silencieux.
Exemples:
sauvegarde configuration:
/mute save
message au canal IRC courant:
/mute -current msg * bonjour !
message au canal #weechat:
/mute -buffer irc.freenode.#weechat msg #weechat bonjour !
........................................
&bull; *`/plugin`* `[list [nom]] | [listfull [nom]] | [load fichier] | [autoload] | [reload [nom]] | [unload [nom]]`::
........................................
@@ -301,20 +359,22 @@
Cette commande lance à nouveau un binaire WeeChat, il doit donc avoir été compilé ou installé via un gestionnaire de paquet avant de lancer cette commande.
........................................
&bull; *`/uptime`* `[-o]`::
&bull; *`/uptime`* `[-o | -ol]`::
........................................
montrer l'uptime de WeeChat
-o: envoyer l'uptime sur le tampon courant comme entrée
-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)
........................................
&bull; *`/version`* `[-o]`::
&bull; *`/version`* `[-o | -ol]`::
........................................
afficher la version de WeeChat et la date de compilation
-o: envoyer la version sur le tampon courant comme entrée
-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)
........................................
&bull; *`/wait`* `nombre[unité] commande`::
@@ -330,12 +390,15 @@
h: heures
commande: commande à exécuter (ou texte à envoyer au tampon si la commande ne commence pas par '/')
Note: la commande est exécutée sur le tampon où /wait a été exécuté (si le tampon n'est pas trouvé, alors la commande est exécutée sur le tampon WeeChat principal).
Note : la commande est exécutée sur le tampon où /wait a été exécuté (si le tampon n'est pas trouvé, alors la commande est exécutée sur le tampon WeeChat principal).
Exemples:
rejoindre le canal dans 10 sec: /wait 10 /join #test
passer absent dans 15 min: /wait 15m /away -all I'm away
dire 'bonjour' dans 2 min: /wait 2m bonjour
rejoindre le canal dans 10 sec:
/wait 10 /join #test
passer absent dans 15 min:
/wait 15m /away -all I'm away
dire 'bonjour' dans 2 min:
/wait 2m bonjour
........................................
&bull; *`/window`* `[list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv [ptc] | resize pct | merge [all] | page_up | page_down | refresh | scroll | scroll_up | scroll_down | scroll_top | scroll_bottom | scroll_previous_highlight | scroll_next_highlight | zoom]`::
@@ -343,7 +406,7 @@
........................................
gestion des fenêtres
list: liste les fenêtres ouvertes (pas de paramètre affiche cette liste)
list: liste les fenêtres ouvertes (sans paramètre, cette liste est affichée)
-1: saute à la fenêtre précédente
+1: saute à la fenêtre suivante
b#: saute à la fenêtre affichant le tampon #
@@ -370,9 +433,13 @@
Pour splith et splitv, pct est un pourcentage qui représente la taille de la nouvelle fenêtre, calculée par rapport à la taille de la fenêtre courante. Par exemple 25 signifie créer une fenêtre qui a pour taille: taille_courante / 4
Exemples:
sauter à la fenêtre affichant le tampon 1: /window b1
défilement de 2 lignes vers le haut: /window scroll -2
défilement de 2 jours vers le haut: /window scroll -2d
défilement jusqu'au début du jour courant: /window scroll -d
sauter à la fenêtre affichant le tampon 1:
/window b1
défilement de 2 lignes vers le haut:
/window scroll -2
défilement de 2 jours vers le haut:
/window scroll -2d
défilement jusqu'au début du jour courant:
/window scroll -d
........................................
+20 -10
View File
@@ -208,10 +208,10 @@
** type: couleur
** valeurs: un nom de couleur (valeur par défaut: green)
* *weechat.color.nicklist_more*
** description: couleur du texte pour les '+' lors du défilement des pseudos dans la liste des pseudos
* *weechat.color.nicklist_offline*
** description: couleur du texte pour les pseudos déconnectés
** type: couleur
** valeurs: un nom de couleur (valeur par défaut: lightmagenta)
** valeurs: un nom de couleur (valeur par défaut: blue)
* *weechat.color.nicklist_prefix1*
** description: couleur du texte pour le préfixe n°1 de la liste des pseudos
@@ -364,7 +364,7 @@
** valeurs: none, highlight, message, all (valeur par défaut: all)
* *weechat.look.buffer_time_format*
** description: format de date/heure pour les tampons
** description: format de date/heure pour chaque ligne affichée dans les tampons
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "%H:%M:%S")
@@ -378,6 +378,11 @@
** type: booléen
** valeurs: on, off (valeur par défaut: off)
* *weechat.look.command_chars*
** description: caractères utilisés pour déterminer si la chaîne entrée est une commande ou non: l'entrée doit démarrer avec un de ces caractères; le slash ("/") est toujours considéré comme un préfixe de commande (exemple: ".$")
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "")
* *weechat.look.day_change*
** description: affiche un message quand le jour change
** type: booléen
@@ -523,6 +528,11 @@
** type: entier
** valeurs: none, line, dotted-line, char (valeur par défaut: dotted-line)
* *weechat.look.read_marker_always_show*
** description: toujours afficher le marqueur de lecture, même s'il est après la dernière ligne du tampon
** type: booléen
** valeurs: on, off (valeur par défaut: off)
* *weechat.look.save_config_on_exit*
** description: sauvegarder la configuration en quittant
** type: booléen
@@ -553,13 +563,18 @@
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *weechat.look.time_format*
** description: format de date/heure pour les dates converties en chaînes et affichées dans les messages
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "%a, %d %b %Y %T")
* *weechat.network.gnutls_ca_file*
** description: fichier contenant les autorités de certification
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "%h/ssl/CAs.pem")
* *weechat.plugin.autoload*
** description: liste des extensions à charger automatiquement au démarrage, "*" signifie toutes (séparées par des virgules, les noms peuvent être partiels, par exemple "perl" est ok pour "perl.so")
** description: liste des extensions à charger automatiquement au démarrage (séparées par des virgules), "*" signifie toutes les extensions trouvées, un nom commençant par "!" est une valeur négative pour empêcher une extension d'être chargée, les noms peuvent commencer ou se terminer par "*" pour indiquer plusieurs extensions (exemples: "*" ou "*,!lua,!tcl")
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "*")
@@ -603,8 +618,3 @@
** type: booléen
** valeurs: on, off (valeur par défaut: on)
* *weechat.startup.weechat_slogan*
** description: slogan WeeChat (si vide, le slogan ne sera pas utilisé)
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: "le client de discussion le plus geek !")
+200 -99
View File
@@ -34,6 +34,7 @@ Quelques fonctionnalités (version > = 0.3.x) :
Plus d'infos sur cette page : http://www.weechat.org/features
[[compilation_install]]
Compilation / installation
--------------------------
@@ -65,10 +66,6 @@ git et qu'il est moins pratique que de cloner la base git pour installer des
mises à jour.
Utilisation de WeeChat
----------------------
[[lost]]
J'ai lancé WeeChat, mais je suis perdu, que puis-je faire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -80,19 +77,9 @@ Il est recommandé pour les nouveaux utilisateurs de lire le guide de démarrage
rapide (voir la page de doc sur le site).
[[buffer_vs_window]]
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).
Une fenêtre ('window') est une zone de l'écran affichant un tampon. Il est
possible de découper l'écran horizontaleent ou verticalement en plusieurs
fenêtres.
Chaque fenêtre affiche un tampon. Un tampon peut être caché (affiché par
aucune fenêtre) ou affiché par une ou plusieurs fenêtres.
[[display]]
Affichage
---------
[[charset]]
@@ -159,61 +146,19 @@ Par exemple 'xterm-color' provoque ce genre de problèmes, utilisez
Si besoin, corrigez la variable TERM : `export TERM="xxx"`.
[[key_bindings]]
Comment puis-je configurer les raccourcis clavier ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[buffer_vs_window]]
J'ai entendu parler de "buffer" et "window", quelle est la différence ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Les raccourcis clavier sont modifiables avec la commande /key.
Un tampon ('buffer') est composé d'un numéro, un nom, des lignes affichées
(ainsi que d'autres données).
La touche par défaut Meta-k (souvent Alt-k) permet de capturer le code d'une
touche et de l'inclure dans la ligne de commande.
Une fenêtre ('window') est une zone de l'écran affichant un tampon. Il est
possible de découper l'écran horizontaleent ou verticalement en plusieurs
fenêtres.
[[openbsd_plugins]]
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 :
* avec WeeChat < = 0.2.6 : +
`/set plugins_extension = ".so.0.0"`
* avec WeeChat > = 0.3.x : +
`/set weechat.plugin.extension ".so.0.0"`
Puis: `/plugin autoload`.
[[scripts]]
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>/').
Les scripts ne sont pas compatibles avec d'autres clients IRC.
Notes :
* les scripts dans '~/.weechat/<langage>/autoload/' sont automatiquement chargés
par WeeChat lorsqu'il démarre.
* l'extension 'tcl' est disponible à partir de la version 0.3.x.
[[change_locale_without_quit]]
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`.
Chaque fenêtre affiche un tampon. Un tampon peut être caché (affiché par
aucune fenêtre) ou affiché par une ou plusieurs fenêtres.
[[terminal_copy_paste]]
@@ -258,23 +203,78 @@ Liste des scripts manipulant des URLs :
http://www.weechat.org/scripts/stable/tag/url
[[highlight_notification]]
Comment être averti lorsque quelqu'un prononce mon pseudo sur un canal ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[change_locale_without_quit]]
Je souhaite changer la langue des messages affichés par WeeChat, mais sans quitter WeeChat, est-ce possible ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Selon la version de WeeChat :
Oui, il faut utiliser le script python shell.py (disponible sur le site de
WeeChat) et taper ces commandes une fois le script chargé :
* avec WeeChat < = 0.2.6 : utilisez le script 'sound.pl' (disponible sur la
page des scripts), puis configurez une commande système (jouant un son,
affichant un message à l'écran, etc...) comme ceci : +
`/setp perl.sound.cmd_highlight = "/chemin/vers/commande parametres"`
* avec WeeChat > = 0.3.x : utilisez le script 'launcher.pl' (disponible sur la
page des scripts), puis configurez une commande système (jouant un son,
affichant un message à l'écran, etc...) comme ceci : +
`/set plugins.var.perl.launcher.signal.weechat_highlight "/chemin/vers/commande parametres"`
/shell setenv LANG=fr_FR.UTF-8
/upgrade
De nombreux autres scripts de notification existent, merci de consulter la
liste des extensions/scripts : http://www.weechat.org/scripts
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`.
[[key_bindings]]
Raccourcis clavier
------------------
[[meta_keys]]
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 ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Les raccourcis clavier sont modifiables avec la commande `/key`.
La touche par défaut Meta-k (souvent Alt-k) permet de capturer le code d'une
touche et de l'inclure dans la ligne de commande.
[[irc]]
IRC
---
[[ignore_vs_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).
Elle permet d'ignorer des pseudos ou nom d'hôtes pour un serveur ou un canal
(la commande ne s'applique pas au contenu des messages).
Les messages corespondants sont supprimés par l'extension IRC avant affichage
(donc vous ne les verrez jamais).
La commande `/filter` est une commande "core", donc elle s'applique à n"importe
quel tampon.
Elle permet de filtrer des lignes dans les tampons à l'aide de tags ou
d'expression régulière pour le préfixe et contenu de la ligne.
Les lignes filtrées sont simplement cachées, pas supprimées, et il est possible
de les voir en désactivant les filtres (par défaut, la touche alt + "="
active/désactive les filtres).
[[filter_irc_join_part_quit]]
@@ -302,26 +302,127 @@ Selon la version de WeeChat :
(`/help filter` pour l'aide)
[[ignore_vs_filter]]
Quelle est la différence entre les commandes /ignore et /filter ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[filter_voice_messages]]
Comment puis-je filtrer les messages voice (par exemple sur le serveur Bitlbee) ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
La commande `/ignore` est une commande IRC, donc elle s'applique uniquement aux
tampons IRC (serveurs et canaux).
Elle permet d'ignorer des pseudos ou nom d'hôtes pour un serveur ou un canal
(la commande ne s'applique pas au contenu des messages).
Les messages corespondants sont supprimés par l'extension IRC avant affichage
(donc vous ne les verrez jamais).
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.
La commande `/filter` est une commande "core", donc elle s'applique à n"importe
quel tampon.
Elle permet de filtrer des lignes dans les tampons à l'aide de tags ou
d'expression régulière pour le préfixe et contenu de la ligne.
Les lignes filtrées sont simplement cachées, pas supprimées, et il est possible
de les voir en désactivant les filtres (par défaut, la touche alt + "="
active/désactive les filtres).
Si vous souhaitez faire cela, c'est probablement parce que Bitlbee utilise le
voice pour montrer les utilisateurs absents, et vous recevez plein de messages
voice. Par conséquent, vous pouvez changer cela et laisser WeeChat utiliser une
couleur spéciale pour les pseudos absents dans la liste des pseudos.
Sur le canal '&bitlbee', faites :
----------------------------------------
set away_devoice false
----------------------------------------
Pour vérifier les pseudos absents dans WeeChat, voir la question à propos des
<<color_away_nicks,pseudos absents>>.
[[color_away_nicks]]
Comment puis-je voir les pseudos absents dans la liste des pseudos ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vous devez positionner l'option 'irc.network.away_check' avec une valeur
positive (minutes entre chaque vérification des pseudos absents).
Vous pouvez aussi positionner l'option 'irc.network.away_check_max_nicks' 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.network.away_check 5
/set irc.network.away_check_max_nicks 25
----------------------------------------
[[highlight_notification]]
Comment être averti lorsque quelqu'un prononce mon pseudo sur un canal ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Selon la version de WeeChat :
* avec WeeChat < = 0.2.6 : utilisez le script 'sound.pl' (disponible sur la
page des scripts), puis configurez une commande système (jouant un son,
affichant un message à l'écran, etc...) comme ceci : +
`/setp perl.sound.cmd_highlight = "/chemin/vers/commande parametres"`
* avec WeeChat > = 0.3.x : utilisez le script 'launcher.pl' (disponible sur la
page des scripts), puis configurez une commande système (jouant un son,
affichant un message à l'écran, etc...) comme ceci : +
`/set plugins.var.perl.launcher.signal.weechat_highlight "/chemin/vers/commande parametres"`
De nombreux autres scripts de notification existent, merci de consulter la
liste des extensions/scripts : http://www.weechat.org/scripts
[[plugins_scripts]]
Extensions / scripts
--------------------
[[openbsd_plugins]]
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 :
* avec WeeChat < = 0.2.6 : +
`/set plugins_extension = ".so.0.0"`
* avec WeeChat > = 0.3.x : +
`/set weechat.plugin.extension ".so.0.0"`
Puis: `/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 ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Les commandes `/perl`, `/python`, `/ruby`, `/lua` et `/tcl` permettent de
charger les scripts (le chemin par défaut est '~/.weechat/<langage>/').
Les scripts ne sont pas compatibles avec d'autres clients IRC.
Notes :
* les scripts dans '~/.weechat/<langage>/autoload/' sont automatiquement chargés
par WeeChat lorsqu'il démarre.
* l'extension 'tcl' est disponible à partir de la version 0.3.0.
[[settings]]
Réglages
--------
[[memory_usage]]
Comment configurer WeeChat pour consommer moins de mémoire ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vous pouvez essayer les astuces suivantes pour consommer moins de mémoire :
* utiliser la dernière version stable (elle est supposée avoir moins de fuites
de mémoire que les versions plus anciennes)
* ne pas charger les extensions si vous ne les utilisez pas, par exemple :
aspell, fifo, logger, perl, python, ruby, lua, tcl, xfer (utilisé pour les
DCC)
* charger uniquement les scripts dont vous avez vraiment besoin
* réduire la valeur de l'option 'weechat.history.max_lines' (nombre de lignes
sauvées en mémoire pour chaque tampon)
* réduire la valeur de l'option 'weechat.history.max_commands' (nombre de
commandes utilisateur sauvées en mémoire)
[[development]]
Développement
-------------
File diff suppressed because it is too large Load Diff
+533 -204
View File
@@ -47,9 +47,9 @@ Quelques choses sont spécifiques aux langages :
* tcl :
** les fonctions sont appelées par `weechat::xxx arg1 arg2 ...`
[[register]]
Register
~~~~~~~~
[[register_function]]
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.
@@ -74,11 +74,7 @@ Paramètres :
est UTF-8, vous pouvez utiliser une valeur vide ici, car UTF-8 est le jeu de
caractères par défaut)
[[script_example]]
Exemple de script
~~~~~~~~~~~~~~~~~
Exemple de script, pour chaque langage :
Exemple, pour chaque langage :
* perl :
@@ -142,11 +138,11 @@ Vous devez utiliser la commande, dépendant du langage :
Vous pouvez faire un lien dans le répertoire 'langage/autoload' pour charger
automatiquement le script quand WeeChat démarre.
Par exemple en perl :
Par exemple en Python :
----------------------------------------
$ cd ~/.weechat/perl/autoload
$ ln -s ../script.pl
$ cd ~/.weechat/python/autoload
$ ln -s ../script.py
----------------------------------------
[[differences_with_c_api]]
@@ -160,7 +156,7 @@ chaque fonction de l'API : prototype, paramètres, valeurs de retour, exemples.
Il est important de bien faire la différence entre une 'extension' et un
'script' : une 'extension' est un fichier binaire compilé et chargé avec la
commande `/plugin`, tandis qu'un 'script' est un fichier texte chargé par une
extension comme 'perl' par la commande `perl`.
extension comme 'pyhton' par la commande `/python`.
Quand votre script 'test.py' appelle une fonction de l'API WeeChat, le chemin
est le suivant :
@@ -180,6 +176,7 @@ est inversé :
WeeChat core -------> extension plugin (python.so) -------> test.py
........................................
[[pointers]]
Pointeurs
~~~~~~~~~
@@ -209,6 +206,7 @@ si votre pointeur est correct ou pas. Il est de votre responsabilité de
vérifier que vous donnez un pointeur valide, sinon vous pourriez voir un joli
rapport de crash ;)
[[callbacks]]
Callbacks
~~~~~~~~~
@@ -239,206 +237,537 @@ 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
~~~~~~~~~
Liste des fonctions de l'API script :
* général :
** 'register'
* extensions :
** 'plugin_get_name'
* chaînes :
** 'charset_set'
** 'iconv_to_internal'
** 'iconv_from_internal'
** 'gettext'
** 'ngettext'
** 'string_remove_color'
* répertoires :
** 'mkdir_home'
** 'mkdir'
** 'mkdir_parents'
* listes triées :
** 'list_new'
** 'list_add'
** 'list_search'
** 'list_casesearch'
** 'list_get'
** 'list_set'
** 'list_next'
** 'list_prev'
** 'list_string'
** 'list_size'
** 'list_remove'
** 'list_remove_all'
** 'list_free'
* fichiers de configuration :
** 'config_new'
** 'config_new_section'
** 'config_search_section'
** 'config_new_option'
** 'config_search_option'
** 'config_string_to_boolean'
** 'config_option_reset'
** 'config_option_set'
** 'config_option_set_null'
** 'config_option_unset'
** 'config_option_rename'
** 'config_option_is_null'
** 'config_option_default_is_null'
** 'config_boolean'
** 'config_boolean_default'
** 'config_integer'
** 'config_integer_default'
** 'config_string'
** 'config_string_default'
** 'config_color'
** 'config_color_default'
** 'config_write_option'
** 'config_write_line'
** 'config_write'
** 'config_read'
** 'config_reload'
** 'config_option_free'
** 'config_section_free_options'
** 'config_section_free'
** 'config_free'
** 'config_get'
** 'config_get_plugin'
** 'config_is_set_plugin'
** 'config_set_plugin'
** 'config_unset_plugin'
* affichage :
** 'prefix'
** 'color'
** 'print' (pour python : 'prnt')
** 'print_date_tags' (pour python : 'prnt_date_tags')
** 'print_y' (pour python : 'prnt_y')
** 'log_print'
* hooks :
** 'hook_command'
** 'hook_command_run'
** 'hook_timer'
** 'hook_fd'
** 'hook_process'
** 'hook_connect'
** 'hook_print'
** 'hook_signal'
** 'hook_signal_send'
** 'hook_config'
** 'hook_completion'
** 'hook_completion_list_add'
** 'hook_modifier'
** 'hook_modifier_exec'
** 'hook_info'
** 'hook_infolist'
** 'unhook'
** 'unhook_all'
* tampons :
** 'buffer_new'
** 'current_buffer'
** 'buffer_search'
** 'buffer_search_main'
** 'buffer_clear'
** 'buffer_close'
** 'buffer_merge'
** 'buffer_unmerge'
** 'buffer_get_integer'
** 'buffer_get_string'
** 'buffer_get_pointer'
** 'buffer_set'
** 'buffer_string_replace_local_var'
* fenêtres :
** 'current_window'
** 'window_get_integer'
** 'window_get_pointer'
** 'window_set_title'
* liste des pseudos :
** 'nicklist_add_group'
** 'nicklist_search_group'
** 'nicklist_add_nick'
** 'nicklist_search_nick'
** 'nicklist_remove_group'
** 'nicklist_remove_nick'
** 'nicklist_remove_all'
* barres :
** 'bar_item_search'
** 'bar_item_new'
** 'bar_item_update'
** 'bar_item_remove'
** 'bar_search'
** 'bar_new'
** 'bar_set'
** 'bar_update'
** 'bar_remove'
* commandes :
** 'command'
* infos :
** 'info_get'
* infolists :
** 'infolist_new'
** 'infolist_new_item'
** 'infolist_new_var_integer'
** 'infolist_new_var_string'
** 'infolist_new_var_pointer'
** 'infolist_new_var_time'
** 'infolist_get'
** 'infolist_next'
** 'infolist_prev'
** 'infolist_reset_item_cursor'
** 'infolist_fields'
** 'infolist_integer'
** 'infolist_string'
** 'infolist_pointer'
** 'infolist_time'
** 'infolist_free'
* mise à jour :
** 'upgrade_new'
** 'upgrade_write_object'
** 'upgrade_read'
** 'upgrade_close'
[width="100%",cols="^1,10",options="header"]
|========================================
| Catégorie | Fonctions
| général |
register
| extensions |
plugin_get_name
| chaînes |
charset_set, iconv_to_internal, iconv_from_internal, gettext, ngettext, +
string_match, string_has_highlight, string_mask_to_regex,
string_remove_color, string_is_command_char, string_input_for_buffer
| répertoires |
mkdir_home, mkdir, mkdir_parents
| listes triées |
list_new, list_add, list_search, list_casesearch, list_get, list_set,
list_next, list_prev, list_string, list_size, list_remove, list_remove_all,
list_free
| fichiers de configuration |
config_new, config_new_section, config_search_section, config_new_option,
config_search_option, +
config_string_to_boolean, config_option_reset, config_option_set,
config_option_set_null, config_option_unset, config_option_rename,
config_option_is_null, config_option_default_is_null, +
config_boolean, config_boolean_default, config_integer, config_integer_default,
config_string, config_string_default, config_color, config_color_default, +
config_write_option, config_write_line, config_write, config_read,
config_reload, +
config_option_free, config_section_free_options, config_section_free,
config_free, +
config_get, config_get_plugin, config_is_set_plugin, config_set_plugin,
config_unset_plugin
| affichage |
prefix, color, print (for python: prnt), print_date_tags (for python:
prnt_date_tags), print_y (for python: prnt_y), log_print
| hooks |
hook_command, hook_command_run, hook_timer, hook_fd, hook_process,
hook_connect, hook_print, hook_signal, hook_signal_send, hook_config,
hook_completion, hook_completion_list_add, hook_modifier, hook_modifier_exec,
hook_info, hook_infolist, unhook, unhook_all
| tampons |
buffer_new, current_buffer, buffer_search, buffer_search_main, buffer_clear,
buffer_close, buffer_merge, buffer_unmerge, buffer_get_integer,
buffer_get_string, buffer_get_pointer, buffer_set,
buffer_string_replace_local_var
| fenêtres |
current_window, window_get_integer, window_get_string, window_get_pointer,
window_set_title
| liste des pseudos |
nicklist_add_group, nicklist_search_group, nicklist_add_nick,
nicklist_search_nick, nicklist_remove_group, nicklist_remove_nick,
nicklist_remove_all
| barres |
bar_item_search, bar_item_new, bar_item_update, bar_item_remove, bar_search,
bar_new, bar_set, bar_update, bar_remove
| commandes |
command
| infos |
info_get
| infolists |
infolist_new, infolist_new_item, infolist_new_var_integer,
infolist_new_var_string, infolist_new_var_pointer, infolist_new_var_time, +
infolist_get, infolist_next, infolist_prev, infolist_fields, infolist_integer,
infolist_string, infolist_pointer, infolist_time, infolist_free
| mise à jour |
upgrade_new, upgrade_write_object, upgrade_read, upgrade_close
|========================================
[[script_api_constants]]
Constantes
~~~~~~~~~~
Liste des constantes de l'API script :
* 'WEECHAT_RC_OK'
* 'WEECHAT_RC_OK_EAT'
* 'WEECHAT_RC_ERROR'
* 'WEECHAT_CONFIG_READ_OK'
* 'WEECHAT_CONFIG_READ_MEMORY_ERROR'
* 'WEECHAT_CONFIG_READ_FILE_NOT_FOUND'
* 'WEECHAT_CONFIG_WRITE_OK'
* 'WEECHAT_CONFIG_WRITE_ERROR'
* 'WEECHAT_CONFIG_WRITE_MEMORY_ERROR'
* 'WEECHAT_CONFIG_OPTION_SET_OK_CHANGED'
* 'WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE'
* 'WEECHAT_CONFIG_OPTION_SET_ERROR'
* 'WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND'
* 'WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET'
* 'WEECHAT_CONFIG_OPTION_UNSET_OK_RESET'
* 'WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED'
* 'WEECHAT_CONFIG_OPTION_UNSET_ERROR'
* 'WEECHAT_LIST_POS_SORT'
* 'WEECHAT_LIST_POS_BEGINNING'
* 'WEECHAT_LIST_POS_END'
* 'WEECHAT_HOTLIST_LOW'
* 'WEECHAT_HOTLIST_MESSAGE'
* 'WEECHAT_HOTLIST_PRIVATE'
* 'WEECHAT_HOTLIST_HIGHLIGHT'
* 'WEECHAT_HOOK_PROCESS_RUNNING'
* 'WEECHAT_HOOK_PROCESS_ERROR'
* 'WEECHAT_HOOK_CONNECT_OK'
* 'WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND'
* 'WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND'
* 'WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED'
* 'WEECHAT_HOOK_CONNECT_PROXY_ERROR'
* 'WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR'
* 'WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR'
* 'WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR'
* 'WEECHAT_HOOK_CONNECT_MEMORY_ERROR'
* 'WEECHAT_HOOK_SIGNAL_STRING'
* 'WEECHAT_HOOK_SIGNAL_INT'
* 'WEECHAT_HOOK_SIGNAL_POINTER'
[width="100%",cols="^1,10",options="header"]
|========================================
| Catégorie | Constantes
| codes retour |
WEECHAT_RC_OK, WEECHAT_RC_OK_EAT, WEECHAT_RC_ERROR
| fichiers de configuration |
WEECHAT_CONFIG_READ_OK, WEECHAT_CONFIG_READ_MEMORY_ERROR,
WEECHAT_CONFIG_READ_FILE_NOT_FOUND, WEECHAT_CONFIG_WRITE_OK,
WEECHAT_CONFIG_WRITE_ERROR, WEECHAT_CONFIG_WRITE_MEMORY_ERROR, +
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED, WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE,
WEECHAT_CONFIG_OPTION_SET_ERROR, WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND,
WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET, WEECHAT_CONFIG_OPTION_UNSET_OK_RESET,
WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED, WEECHAT_CONFIG_OPTION_UNSET_ERROR
| listes triées |
WEECHAT_LIST_POS_SORT, WEECHAT_LIST_POS_BEGINNING, WEECHAT_LIST_POS_END
| hotlist |
WEECHAT_HOTLIST_LOW, WEECHAT_HOTLIST_MESSAGE, WEECHAT_HOTLIST_PRIVATE,
WEECHAT_HOTLIST_HIGHLIGHT
| hook process |
WEECHAT_HOOK_PROCESS_RUNNING, WEECHAT_HOOK_PROCESS_ERROR
| hook connect |
WEECHAT_HOOK_CONNECT_OK, WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND,
WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND, WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED,
WEECHAT_HOOK_CONNECT_PROXY_ERROR, WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR,
WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR, WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR,
WEECHAT_HOOK_CONNECT_MEMORY_ERROR
| hook signal |
WEECHAT_HOOK_SIGNAL_STRING, WEECHAT_HOOK_SIGNAL_INT, WEECHAT_HOOK_SIGNAL_POINTER
|========================================
[[common_tasks]]
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
~~~~~~~
[[buffers_display_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,
voir <<pointers,pointeurs>>).
Exemples :
[source,python]
----------------------------------------
# afficher "bonjour" sur le tampon core
weechat.prnt("", "bonjour")
# afficher le préfixe "==>" et le message "bonjour" sur le tampon courant
# (le préfixe et le message doivent être séparés par une tabulation)
weechat.prnt(weechat.current_buffer(), "==>\tbonjour")
# afficher un message d'erreur sur le tampon core (avec le préfixe d'erreur)
weechat.prnt("", "%smauvais paramètres" % weechat.prefix("error"))
# afficher un message avec de la couleur sur le tampon core
weechat.prnt("", "texte %sjaune sur bleu" % weechat.color("yellow,blue"))
# chercher un tampon et afficher un message
# (le nom complet d'un tampon est extension.nom, par exemple : "irc.freenode.#weechat")
buffer = weechat.buffer_search("irc", "freenode.#weechat")
weechat.prnt(buffer, "message sur le canal #weechat")
# autre solution pour chercher un tampon IRC (meilleure)
# (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
^^^^^^^^^^^^^^^^^^^^^^^^^^
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].
Exemples :
[source,python]
----------------------------------------
# exécuter la commande "/help" 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
^^^^^^^^^^^^^^^^^^^^^^^
Vous pouvez créer un nouveau tampon dans votre script, et l'utiliser pour
afficher des messages.
Deux "callbacks" peuvent être appelés (ils sont optionnels) : un pour les données
en entrée (quand vous tapez du texte et pressez [Enter] sur le tampon), l'autre
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):
# ...
return weechat.WEECHAT_RC_OK
# callback appelé lorsque le tampon est fermé
def buffer_close_cb(data, buffer):
# ...
return weechat.WEECHAT_RC_OK
# créer le tampon
buffer = weechat.buffer_new("montampon", "buffer_input_cb", "", "buffer_close_cb", "")
# définir le titre
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
^^^^^^^^^^^^^^^^^^^^
Vous pouvez lire des propriétés du tampon, sous forme de chaîne, entier ou
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")
# lire une variable locale
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
~~~~~
[[hook_command]]
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.
Exemple :
[source,python]
----------------------------------------
def my_command_cb(data, buffer, args):
# ...
return weechat.WEECHAT_RC_OK
hook = weechat.hook_command("monfiltre", "description de mon filtre",
"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags regex] | [del name|-all]",
"description des paramètres...",
"list"
" || enable %(filters_names)"
" || disable %(filters_names)"
" || toggle %(filters_names)"
" || 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
^^^^^^^^^^^^^^^^
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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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é
plusieurs fois.
Pour le dernier appel à votre "callback", 'rc' est positionné à 0 ou une valeur
positive, c'est le code retour de la commande.
Exemple :
[source,python]
----------------------------------------
# Afficher la version des noyaux Linux.
kernel_txt = ""
def kernel_process_cb(data, command, rc, stdout, stderr):
""" Callback qui lit la sortie de la commande. """
global kernel_txt
if stdout != "":
kernel_txt += stdout
if int(rc) >= 0:
weechat.prnt("", kernel_txt)
return weechat.WEECHAT_RC_OK
weechat.hook_process("python -c \"import urllib; " \
"print urllib.urlopen('http://www.kernel.org/kdist/finger_banner').read()\"",
10 * 1000, "kernel_process_cb", "")
----------------------------------------
[[config_options]]
Config / options
~~~~~~~~~~~~~~~~
[[config_options_set_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.
Exemple :
[source,python]
----------------------------------------
script_options = {
"option1" : "valeur1",
"option2" : "valeur2",
"option3" : "valeur3",
}
for option, default_value in script_options.iteritems():
if not weechat.config_is_set_plugin(option):
weechat.config_set_plugin(option, default_value)
----------------------------------------
[[config_options_detect_changes]]
Détecter des changements
^^^^^^^^^^^^^^^^^^^^^^^^
Vous devez utiliser `hook_config` pour être notifié si l'utilisateur modifie
certaines options du script.
Exemple :
[source,python]
----------------------------------------
SCRIPT_NAME = "monscript"
# ...
def config_cb(data, option, value):
""" Callback appelé lorsqu'une option du script est modifiée. """
# par exemple, relire toutes les options du script dans des variables du script...
# ...
return weechat.WEECHAT_RC_OK
# ...
weechat.hook_config("plugins.var.python." + SCRIPT_NAME + ".*", "config_cb", "")
# pour les autres languages, remplacez "python" par le language ("perl", "ruby", "lua" ou "tcl")
----------------------------------------
[[config_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"))))
# booléen
weechat.prnt("", "la valeur de l'option weechat.look.day_change est : %d"
% (weechat.config_boolean(weechat.config_get("weechat.look.day_change"))))
# entier
weechat.prnt("", "la valeur de l'option weechat.look.scroll_page_percent est : %d"
% (weechat.config_integer(weechat.config_get("weechat.look.scroll_page_percent"))))
# 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_catch_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,
PRIVMSG, 301, ..):
xxxx,irc_in_yyy::
signal envoyé avant traitement du message
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"
nick = weechat.info_get("irc_nick_from_host", signal_data)
server = signal.split(",")[0]
channel = signal_data.split(":")[-1]
buffer = weechat.info_get("irc_buffer", "%s,%s" % (server, channel))
if buffer:
weechat.prnt(buffer, "Eheh, %s a rejoint le canal !" % nick)
return weechat.WEECHAT_RC_OK
# 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", "")
----------------------------------------
[[infos]]
Infos
~~~~~
[[infos_weechat_version]]
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
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
'info_get("version_number")', donc vous devez vérifier que la valeur de retour
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
^^^^^^^^^^^^
[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_read]]
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:
while weechat.infolist_next(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
l'infolist, car WeeChat ne libère par automatiquement cette mémoire.
+271 -28
View File
@@ -60,10 +60,14 @@ Paquets binaires
Les paquets binaires sont disponibles pour beaucoup de distributions, dont :
* Debian (ou toute distribution compatible Debian) : `apt-get install weechat`
* Debian (ou toute distribution compatible Debian) :
`apt-get install weechat-curses`
* Mandriva/RedHat (ou toute distribution compatible avec les RPM) :
`rpm -i /path/to/weechat-x.y.z-1.i386.rpm`
* Gentoo : `emerge weechat`
* Arch Linux : `pacman -S weechat`
* Fedora Core : `yum install weechat`
* Sourcemage : `cast weechat`
Des paquets additionnels peuvent être utiles également, comme weechat-plugins.
@@ -77,9 +81,39 @@ Paquet source
WeeChat peut être compilé avec cmake ou les autotools (cmake est la méthode
recommandée).
[[dependencies]]
Dépendances
^^^^^^^^^^^
Le tableau suivant liste les paquets qui sont requis ou optionnels pour
compiler WeeChat.
[width="80%",cols="4,^2,13",options="header"]
|========================================
| Paquet ^(1)^ | Requis | Fonctionnalité
| cmake | *oui* | construction (autotools toujours possible, mais cmake est recommandé)
| libncursesw5-dev ^(2)^ | *oui* | interface ncurses
| libgcrypt11-dev | non | authentification SASL avec le serveur IRC, en utilisant le mécanisme DH-BLOWFISH
| libgnutls-dev | non | connexion SSL au serveur IRC
| libaspell-dev | non | extension aspell
| libperl-dev | non | extension perl
| python-dev | non | extension python
| ruby1.8-dev | non | extension ruby
| liblua5.1-0-dev | non | extension lua
| tcl-dev | non | extension tcl
| asciidoc (>= 8.2) | non | construction de la documentation (fichiers HTML)
| source-highlight | non | coloration des sources dans la documentation HTML
|========================================
[NOTE]
^(1)^ Le nom provient de la distribution GNU/Linux Debian, la version dans le
nom du paquet peut être différente. +
^(2)^ WeeChat peut compiler avec libncurses5-dev, mais ce n'est *PAS* recommandé
(vous aurez des bugs d'affichage avec les caractères larges).
[[compile_with_cmake]]
Avec cmake
^^^^^^^^^^
Compilation avec cmake
^^^^^^^^^^^^^^^^^^^^^^
* Installation dans les répertoires systèmes (nécessite les droits 'root') :
@@ -102,8 +136,8 @@ $ make install
----------------------------------------
[[compile_with_autotools]]
Avec autotools
^^^^^^^^^^^^^^
Compilation avec autotools
^^^^^^^^^^^^^^^^^^^^^^^^^^
* Installation dans les répertoires systèmes (nécessite les droits 'root') :
@@ -140,7 +174,100 @@ Si vous utilisez les autotools (et non cmake), exécutez ce script :
$ ./autogen.sh
----------------------------------------
Suivez alors les instructions du paquet source (voir <<source_package>>).
Suivez alors les instructions du paquet source (voir
<<source_package,paquet source>>).
[[report_crashes]]
Rapporter les plantages
~~~~~~~~~~~~~~~~~~~~~~~
Si vous avez eu des plantages, ou si vous souhaitez rapporter tout plantage
futur de WeeChat, vous devez :
* compiler avec les infos de debug (ou installer un paquet binaire avec les
infos de debug)
* activer les fichiers 'core' sur votre système
* installer gdb
[[debug_info]]
Infos de debug
^^^^^^^^^^^^^^
Si vous compilez avec cmake :
----------------------------------------
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
----------------------------------------
Si vous compilez avec les autotools, le debug est par défaut (`--with-debug=1`).
Si vous avez installé un paquet binaire, alors installez le paquet
'weechat-dbg'.
[[core_files]]
Fichiers core
^^^^^^^^^^^^^
Pour activer les fichiers 'core', vous devez utiliser la commande `ulimit`.
Par exemple sous Linux avec le shell 'bash', ajoutez cette ligne dans votre
`~/.bashrc`:
----------------------------------------
ulimit -c unlimited
----------------------------------------
Ou une taille maximum :
----------------------------------------
ulimit -c 200000
----------------------------------------
[[gdb_backtrace]]
Obtenir la trace avec gdb
^^^^^^^^^^^^^^^^^^^^^^^^^
Lorsque WeeChat se plante, votre système génère un fichier 'core' ou
'core.12345' ('12345' est l'identifiant du processus).
Ce fichier est créé dans le répertoire où vous avez lancé WeeChat (ce n'est
*pas* le répertoire où WeeChat est installé !).
Par exemple si 'weechat-curses' est installé dans '/usr/bin/' et que le fichier
'core' est dans '/home/xxx/', alors lancez gdb avec cette commande :
----------------------------------------
gdb /usr/bin/weechat-curses /home/xxx/core
----------------------------------------
Puis sous gdb, utilisez la commande `bt` pour afficher la trace.
Vous verrez quelque chose comme ceci :
----------------------------------------
(gdb) bt
#0 0xffffe424 in __kernel_vsyscall ()
#1 0xb76208e0 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb7623e15 in abort () from /lib/i686/cmov/libc.so.6
#3 0x08083940 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:357
#4 0x08098aaa in debug_sigsegv () at /some_path/src/core/wee-debug.c:155
#5 <signal handler called>
#6 0xb7656681 in vsnprintf () from /lib/i686/cmov/libc.so.6
#7 0xb763dd22 in snprintf () from /lib/i686/cmov/libc.so.6
#8 0xb7258674 in irc_protocol_cmd_join (server=0x8165138, command=0xb727c187 "join", argc=3, argv=0x889e840, argv_eol=0x889e858)
at /some_path/src/plugins/irc/irc-protocol.c:520
#9 0xb7265c6e in irc_protocol_recv_command (server=0x8165138, entire_line=0x889e7e0 ":nick!nick@127.0.0.1 JOIN :#test",
command=0x889d080 "JOIN") at /some_path/src/plugins/irc/irc-protocol.c:4077
#10 0xb726a2c6 in irc_server_msgq_flush () at /some_path/src/plugins/irc/irc-server.c:1614
#11 0xb726a4da in irc_server_recv_cb (data=0x8165138, fd=8) at /some_path/src/plugins/irc/irc-server.c:1691
#12 0x0809a797 in hook_fd_exec (read_fds=0xbfcf8074, write_fds=0xbfcf7ff4, exception_fds=0xbfcf7f74)
at /some_path/src/core/wee-hook.c:1133
#13 0x08060af0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:330
#14 0x08083b10 in main (argc=3, argv=0xbfcf81d4) at /some_path/src/core/weechat.c:419
----------------------------------------
Vous devez envoyer cette trace aux développeurs, et leur indiquer quelle action
a été la cause de ce plantage.
Merci pour votre aide !
[[usage]]
@@ -149,7 +276,7 @@ Utilisation
[[running_weechat]]
Lancer WeeChat
~~~~~~~~~~~~~
~~~~~~~~~~~~~~
Paramètres de ligne de commande :
@@ -174,6 +301,9 @@ Paramètres de ligne de commande :
-p, --no-plugin::
Supprimer le chargement automatique des extensions au démarrage
-s, --no-script::
Supprimer le chargement automatique des scripts au démarrage
-v, --version::
Afficher la version de WeeChat
@@ -192,7 +322,7 @@ Le fichier de configuration par défaut est : '~/.weechat/weechat.conf'.
Vous pouvez éditer ce fichier pour configurer WeeChat à votre convenance ou
vous pouvez modifier les paramètres dans WeeChat avec la commande `/set`
(voir <<weechat_commands>>).
(voir <<weechat_commands,commandes WeeChat>>).
[[screen_layout]]
Organisation de l'écran
@@ -695,24 +825,25 @@ l'attribut défini.
Les codes couleur pour ^Cc sont :
[width="20%",cols="^1m,2"]
[width="35%",cols="^1m,3,3",options="header"]
|========================================
| 00 | blanc
| 01 | noir
| 02 | bleu foncé
| 03 | vert foncé
| 04 | rouge clair
| 05 | rouge foncé
| 06 | violet
| 07 | orange
| 08 | jaune
| 09 | vert clair
| 10 | cyan
| 11 | cyan clair
| 12 | bleu clair
| 13 | violet clair
| 14 | gris
| 15 | gris clair (blanc)
| Code | IRC | WeeChat (curses)
| 00 | blanc | white
| 01 | noir | black
| 02 | bleu foncé | blue
| 03 | vert foncé | green
| 04 | rouge clair | lightred
| 05 | rouge foncé | red
| 06 | violet | magenta
| 07 | orange | brown
| 08 | jaune | yellow
| 09 | vert clair | lightgreen
| 10 | cyan | cyan
| 11 | cyan clair | lightcyan
| 12 | bleu clair | lightblue
| 13 | violet clair | lightmagenta
| 14 | gris | default
| 15 | gris clair | white
|========================================
Exemple : affichage de "bonjour tout le monde !" avec "bonjour" en bleu clair
@@ -728,7 +859,9 @@ Options WeeChat (weechat.conf)
include::autogen/user/weechat_options.txt[]
Les couleurs pour l'interface Curses sont :
[[curses_colors]]
Couleurs pour l'interface Curses
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[width="50%",cols="^3m,8"]
|========================================
@@ -797,7 +930,7 @@ Exemples pour charger, décharger et afficher les extensions :
Les extensions par défaut sont :
[width="50%",cols=">1s,5",options="header"]
[width="50%",cols="^1,5",options="header"]
|========================================
| Extension | Description
| alias | Définir des alias pour les commandes
@@ -1032,7 +1165,7 @@ protocole IRC.
Elle est multi-serveurs, et offre toutes les commandes IRC supportées, y
compris la discussion directe (DCC chat) et le transfert de fichier DCC
(via l'extension xfer, voir <<xfer_plugin>>).
(via l'extension xfer, voir <<xfer_plugin,extension Xfer>>).
[[irc_command_line_options]]
Options de ligne de commande
@@ -1063,6 +1196,115 @@ Commandes
include::autogen/user/irc_commands.txt[]
[[irc_ssl_certificates]]
Certificats SSL
^^^^^^^^^^^^^^^
Lors de la connexion à un serveur IRC avec SSL, WeeChat vérifie par défaut que
la connexion est entièrement de confiance.
Quelques options sont utilisées pour contrôler la connexion SSL :
weechat.network.gnutls_ca_file::
chemin vers le fichier avec les certificats de confiance (par défaut :
"%h/ssl/CAs.pem")
irc.server.xxx.ssl_cert::
fichier de certificat SSL utilisé pour authentifier automatiquement votre
pseudo (par exemple CertFP sur oftc, voir ci-dessous)
irc.server.xxx.ssl_dhkey_size::
taille de clé utilisée pour l'échange de clé Diffie-Hellman (par défaut :
2048)
irc.server.xxx.ssl_verify::
vérifier que la connexion SSL est entièrement de confiance (activé par
défaut)
[NOTE]
L'option "ssl_verify" est activée par défaut, donc la vérification est stricte
et peut échouer, même si cela pouvait être ok dans les versions inférieures à
0.3.1.
[[irc_connect_oftc_with_certificate]]
Premier exemple : se connecter à oftc en vérifiant le certificat
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* Importer le certificat sous le shell :
----------------------------------------
$ mkdir ~/.weechat/ssl
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/secretary/spi-cacert.crt
----------------------------------------
Note: il est possible de concaténer plusieurs certificats dans une le fichier
CAs.pem.
* Sous WeeChat, avec le serveur "oftc" déjà créé :
----------------------------------------
/connect oftc
----------------------------------------
[[irc_connect_oftc_with_certfp]]
Second exemple : se connecter à oftc en utilisant CertFP
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* Créer le certificat sous le shell :
----------------------------------------
$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
$ cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
----------------------------------------
* Sous WeeChat, avec le serveur "oftc" déjà créé :
----------------------------------------
/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
/connect oftc
/msg nickserv cert add
----------------------------------------
Pour plus d'informations, consulter http://www.oftc.net/oftc/NickServ/CertFP
[[irc_smart_filter_join_part_quit]]
Filtre intelligent pour les messages join/part/quit
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Un filtre intelligent est disponible pour filtrer les messages join/part/quit
lorsque le pseudo n'a rien dit durant les X dernières minutes sur le canal.
Le filtre intelligent est activé par défaut, mais vous devez ajouter un filtre
pour cacher les lignes sur les tampons, par exemple :
----------------------------------------
/filter add irc_smart * irc_smart_filter *
----------------------------------------
Il est possible de créer un filtre pour un canal seulement ou plusieurs canaux
commençant par le même nom (voir `/help filter`) :
----------------------------------------
/filter add irc_smart_weechat irc.freenode.#weechat irc_smart_filter *
/filter add irc_smart_weechats irc.freenode.#weechat* irc_smart_filter *
----------------------------------------
Vous pouvez cacher seulement les join ou part/quit avec les options suivantes :
----------------------------------------
/set irc.look.smart_filter_join on
/set irc.look.smart_filter_quit on
----------------------------------------
Vous pouvez modifier le délai (en minutes) :
----------------------------------------
/set irc.look.smart_filter_delay 5
----------------------------------------
Si le pseudo n'a pas parlé durant les 5 dernières minutes, ses join et/ou
part/quit seront cachés sur le canal.
[[irc_ctcp_replies]]
Réponses CTCP
^^^^^^^^^^^^^
@@ -1166,6 +1408,7 @@ Liste non exhaustive des messages ou alias que vous pouvez paramétrer :
| wallops | | wallops
| 221 | | chaîne de mode utilisateur
| 275 | whois | whois (connexion sécurisée)
| 301 | whois | whois (absent)
| 303 | | ison
| 305 | unaway | non absent
| 306 | away | absent
+23
View File
@@ -26,6 +26,29 @@ ADD_CUSTOM_COMMAND(
ADD_CUSTOM_TARGET(doc-user-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.it.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_user.it.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# plugin API reference
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.it.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toclevels=3 -a toc-title='Indice' -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.it.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.it.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_plugin_api.it.txt
${CMAKE_CURRENT_SOURCE_DIR}/autogen/plugin_api/*.txt
COMMENT "Building weechat_plugin_api.it.html"
)
ADD_CUSTOM_TARGET(doc-plugin-api-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.it.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_plugin_api.it.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# scripting guide
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.it.html
COMMAND ${ASCIIDOC_EXECUTABLE} ARGS -a toc -a toclevels=3 -a toc-title='Indice' -a date=`date "+%F"` -a revision="${VERSION}" -n -o ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.it.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.it.txt
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat_scripting.it.txt
COMMENT "Building weechat_scripting.it.html"
)
ADD_CUSTOM_TARGET(doc-scripting-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.it.html)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_scripting.it.html DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
# FAQ
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_faq.it.html
+18 -6
View File
@@ -17,14 +17,18 @@
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
weechat_user.it.txt \
weechat_faq.it.txt \
weechat_quickstart.it.txt \
weechat_tester.it.txt \
$(wildcard autogen/user/*.txt) \
$(wildcard autogen/plugin_api/*.txt)
weechat_user.it.txt \
weechat_plugin_api.it.txt \
weechat_scripting.it.txt \
weechat_faq.it.txt \
weechat_quickstart.it.txt \
weechat_tester.it.txt \
$(wildcard autogen/user/*.txt) \
$(wildcard autogen/plugin_api/*.txt)
all-local: weechat_user.it.html \
weechat_plugin_api.it.html \
weechat_scripting.it.html \
weechat_faq.it.html \
weechat_quickstart.it.html \
weechat_tester.it.html
@@ -33,6 +37,14 @@ all-local: weechat_user.it.html \
weechat_user.it.html: weechat_user.it.txt $(wildcard autogen/user/*.txt)
$(ASCIIDOC) -a toc -a toclevels=3 -a toc-title='Indice' -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_user.it.html weechat_user.it.txt
# plugin API reference
weechat_plugin_api.it.html: weechat_plugin_api.it.txt $(wildcard autogen/plugin_api/*.txt)
$(ASCIIDOC) -a toc -a toclevels=3 -a toc-title='Indice' -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_plugin_api.it.html weechat_plugin_api.it.txt
# scripting guide
weechat_scripting.it.html: weechat_scripting.it.txt
$(ASCIIDOC) -a toc -a toclevels=3 -a toc-title='Indice' -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_scripting.it.html weechat_scripting.it.txt
# FAQ
weechat_faq.it.html: weechat_faq.it.txt
$(ASCIIDOC) -a toc -a toc-title='Indice' -a date=`date "+%F"` -a revision="$(VERSION)" -n -o weechat_faq.it.html weechat_faq.it.txt
+10 -3
View File
@@ -1,6 +1,7 @@
[width="65%",cols="^1,^2,8",options="header"]
|========================================
| Plugin | Name | Description
| Plugin | Nome | Descrizione
| alias | alias | elenco di alias
| aspell | aspell_langs | elenco di lingue supportate per aspell
@@ -53,6 +54,10 @@
| weechat | bars_options | opzioni per le barre
| weechat | buffer_properties_get | proprietà che possono essere lette su un buffer
| weechat | buffer_properties_set | proprietà che possono essere impostate su un buffer
| weechat | buffers_names | nomi dei buffer
| weechat | buffers_numbers | numeri dei buffer
@@ -71,12 +76,14 @@
| weechat | filters_names | nomi dei filtri
| weechat | infolists | nomi delle liste info in attesa
| weechat | infolists | nomi degli hook liste info
| weechat | infos | nomi delle info in attesa
| weechat | infos | nomi degli hook sulle info
| weechat | keys_codes | codici tasti
| weechat | keys_codes_for_reset | codici tasti che possono essere ripristinati (tasti aggiunti, ridefiniti o rimossi)
| weechat | nicks | nick nella lista nick del buffer corrente
| weechat | plugins_commands | comandi definiti dai plugin
+30 -29
View File
@@ -1,58 +1,59 @@
[width="65%",cols="^1,^2,8",options="header"]
[width="100%",cols="^1,^2,5,5,5",options="header"]
|========================================
| Plugin | Name | Description
| alias | alias | elenco di alias
| Plugin | Nome | Descrizione | Puntatore | Argomenti
| irc | irc_channel | elenco dei canali per un server IRC
| alias | alias | elenco di alias | puntatore all'alias (opzionale) | nome alias (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| irc | irc_ignore | elenco di ignore IRC
| irc | irc_channel | elenco dei canali per un server IRC | puntatore al canale (opzionale) | nome server
| irc | irc_nick | elenco dei nick per un canale IRC
| irc | irc_ignore | elenco di ignore IRC | puntatore all'ignore (opzionale) | -
| irc | irc_server | elenco di server IRC
| irc | irc_nick | elenco dei nick per un canale IRC | puntatore al nick (opzionale) | server,canale,nick (canale e nick sono opzionali)
| logger | logger_buffer | elenco dei buffer logger
| irc | irc_server | elenco di server IRC | puntatore al server (opzionale) | nome server (può iniziare o terminare con "*" come carattere jolly)
| lua | lua_script | elenco degli script
| logger | logger_buffer | elenco dei buffer logger | puntatore al logger (opzionale) | -
| perl | perl_script | elenco degli script
| lua | lua_script | elenco degli script | puntatore allo script (opzionale) | nome script (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| python | python_script | elenco degli script
| perl | perl_script | elenco degli script | puntatore allo script (opzionale) | nome script (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| relay | relay | elenco di client relay
| python | python_script | elenco degli script | puntatore allo script (opzionale) | nome script (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| ruby | ruby_script | elenco degli script
| relay | relay | elenco di client relay | puntatore al relay (opzionale) | -
| tcl | tcl_script | elenco degli script
| ruby | ruby_script | elenco degli script | puntatore allo script (opzionale) | nome script (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| weechat | bar | elenco delle barre
| tcl | tcl_script | elenco degli script | puntatore allo script (opzionale) | nome script (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| weechat | bar_item | elenco degli elementi barra
| weechat | bar | elenco delle barre | puntatore alla barra (opzionale) | nome barra (può iniziare o terminare con "*" come carattere jolly (opzionale)
| weechat | bar_window | elenco delle finestre barra
| weechat | bar_item | elenco degli elementi barra | puntatore all'elemento della barra (opzionale) | nome dell'elemento della barra (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| weechat | buffer | elenco dei buffer
| weechat | bar_window | elenco delle finestre barra | puntatore alla finestra della barra (opzionale) | -
| weechat | buffer_lines | righe di un buffer
| weechat | buffer | elenco dei buffer | puntatore al buffer (opzionale) | nome buffer (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| weechat | filter | elenco dei filtri
| weechat | buffer_lines | righe di un buffer | puntatore al buffer | -
| weechat | history | cronologia dei comandi
| weechat | filter | elenco dei filtri | - | nome filtro (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| weechat | hook | elenco di hook
| weechat | history | cronologia dei comandi | puntatore al buffer (se non impostato, restituisce la cronologia globale) (opzionale) | -
| weechat | hotlist | elenco dei buffer nella hotlist
| weechat | hook | elenco di hook | - | tipo hook: comando, timer, ... (opzionale)
| weechat | key | elenco di tasti associati
| weechat | hotlist | elenco dei buffer nella hotlist | - | -
| weechat | nicklist | nick nella lista nick per un buffer
| weechat | key | elenco di tasti associati | - | -
| weechat | option | elenco delle opzioni
| weechat | nicklist | nick nella lista nick per un buffer | puntatore al buffer | nick_xxx o group_xxx per ottenere solo xxx di nick/group (opzionale)
| weechat | plugin | elenco dei plugin
| weechat | option | elenco delle opzioni | - | nome opzione (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| weechat | window | elenco delle finestre
| weechat | plugin | elenco dei plugin | puntatore al plugin (opzionale) | nome plugin (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| xfer | xfer | lista di xfer
| weechat | window | elenco delle finestre | puntatore alla finestra (opzionale) | nome finestra (può iniziare o terminare con "*" come carattere jolly) (opzionale)
| xfer | xfer | lista di xfer | puntatore a xfer (opzionale) | -
|========================================
+26 -21
View File
@@ -1,42 +1,47 @@
[width="65%",cols="^1,^2,8",options="header"]
[width="100%",cols="^1,^2,6,6",options="header"]
|========================================
| Plugin | Name | Description
| fifo | fifo_filename | nome della pipe FIFO
| Plugin | Nome | Descrizione | Argomenti
| irc | irc_buffer | ottiene puntatore al buffer per un server/canale IRC
| fifo | fifo_filename | nome della pipe FIFO | -
| irc | irc_is_channel | 1 se la stringa è un canale IRC
| irc | irc_buffer | ottiene puntatore al buffer per un server/canale/nick IRC | server,canale,nick (canale e nick sono opzionali)
| irc | irc_nick | ottiene nick corrente su un server
| irc | irc_is_channel | 1 se la stringa è nome valido di un canale IRC | nome canale
| irc | irc_nick_color | riceve colore del nick
| irc | irc_is_nick | 1 se la stringa è un nick IRC valido | nick
| irc | irc_nick_from_host | ottiene nick dall'host IRC
| irc | irc_nick | ottiene nick corrente su un server | nome server
| weechat | charset_internal | set caratteri interno di WeeChat
| irc | irc_nick_color | riceve colore del nick | nick
| weechat | charset_terminal | set caratteri terminale
| irc | irc_nick_from_host | ottiene nick dall'host IRC | host IRC (come `:nick!nome@server.com`)
| weechat | date | data di compilazione di WeeChat
| weechat | charset_internal | set caratteri interno di WeeChat | -
| weechat | dir_separator | separatore cartella
| weechat | charset_terminal | set caratteri terminale | -
| weechat | filters_enabled | 1 se i filtri sono abilitati
| weechat | date | data di compilazione di WeeChat | -
| weechat | inactivity | inattività della tastiera (secondi)
| weechat | dir_separator | separatore cartella | -
| weechat | version | versione di WeeChat
| weechat | filters_enabled | 1 se i filtri sono abilitati | -
| weechat | weechat_dir | cartella WeeChat
| weechat | inactivity | inattività della tastiera (secondi) | -
| weechat | weechat_libdir | cartella "lib" di WeeChat
| weechat | version | versione di WeeChat | -
| weechat | weechat_localedir | cartella "locale" di WeeChat
| weechat | version_number | versione di WeeChat (come numero) | -
| weechat | weechat_sharedir | cartella "share" di WeeChat
| weechat | weechat_dir | cartella WeeChat | -
| weechat | weechat_site | sito di WeeChat
| weechat | weechat_libdir | cartella "lib" di WeeChat | -
| weechat | weechat_site_download | sito di WeeChat, pagina di download
| weechat | weechat_localedir | cartella "locale" di WeeChat | -
| weechat | weechat_sharedir | cartella "share" di WeeChat | -
| weechat | weechat_site | sito di WeeChat | -
| weechat | weechat_site_download | sito di WeeChat, pagina di download | -
|========================================
+13 -2
View File
@@ -1,15 +1,16 @@
&bull; *`/alias`* `[nome_alias [comando [argomenti]]]`::
&bull; *`/alias`* `[[-completion completamento] nome_alias [comando [argomenti]]]`::
........................................
crea un alias per un comando
completamento: completamento per l'alias (opzionale, il comportamento predefinito include il comando di destinazione)
nome_alias: nome di un alias (può iniziare o terminare con "*" per un elenco di alias)
comando: nome comando (più comandi possono essere separati da punto e virgola)
argomenti: argomenti per un comando
Senza argomanto, questo comando elenca tutti gli alias definiti.
Nota: nel comando, le variabii speciali vengono sostituite:
Nota: nel comando, vengono sostituite le variabili speciali:
$n: argomento 'n' (tra 1 e 9)
$-m: argomenti da 1 a 'm'
$n-: argomenti da 'n' alla fine
@@ -19,5 +20,15 @@
$nick: nick corrente
$channel: canale corrente
$server: server corrente
Per rimuovere un alias, utilizzare il comando /unalias.
Esempi:
alias /split per dividere la finestra orizzontalmente:
/alias split /window splith
alias /hello per dire "ciao" su tutti i canali tranne #weechat:
/alias hello /allchan -exclude=#weechat msg * hello
alias /forcejoin per inviare il comando IRC "forcejoin" con il completamento di /sajoin:
/alias -completion %%sajoin forcejoin /quote forcejoin
........................................
+72 -55
View File
@@ -41,15 +41,6 @@
/allserv away sono assente
........................................
&bull; *`/away`* `[-all] [messaggio]`::
........................................
attiva/disattiva lo stato di assenza
-all: attiva/disattiva lo stato di assenza su tutti i server connessi
messaggio: messaggio di assenza (se non specificato, lo stato di assenza viene rimosso)
........................................
&bull; *`/ban`* `[canale] [nick [nick ...]]`::
........................................
@@ -59,18 +50,20 @@
nick: utente o host da bannare
........................................
&bull; *`/connect`* `[-all [-nojoin] | nome_server [nome_server ...] [-nojoin] | nome_host[/porta] [-opzione[=valore]] [-nooption]`::
&bull; *`/connect`* `[-all [-nojoin] | -open [-nojoin] | nome_server [nome_server ...] [-nojoin] | nome_host[/porta] [-opzione[=valore]] [-nooption]`::
........................................
connette ad uno o più server IRC
-all: connette a tutti i server
-all: connette a tutti i server definiti nella configurazione
-open: connette a tutti i server aperti ai quali non si è attualmente connessi
nome_server: nome interno del server a cui connettersi (il server deve essere stato creato con /server add)
-nojoin: non entrare in nessun canale (anche se l'ingresso automatico è attivo sul server)
nome_host: nome host (oppure IP) del server
nome_host: nome host (oppure IP) del server
porta: porta per il server (6667 è la predefinita)
opzione: imposta opzione per il server (per le opzioni bool, il valore può essere omesso)
nooption: imposta il valore bool dell'opzione su off (per esempio: -nossl)
Esempi:
/connect freenode
/connect irc.oftc.net/6667
@@ -85,16 +78,16 @@
invia un messaggio CTCP (Protocollo Client-A-Client)
destinatario: nick o canale a cui inviare il CTCP
tipo: tipo CTCP (esempi: "version", "ping", ..)
tipo: tipo CTCP (esempi: "version", "ping", ..)
argomenti: argomenti per il CTCP
........................................
&bull; *`/cycle`* `[canale[,canale]] [messaggio]`::
........................................
lascia e rienta in un canale
esce e rienta in un canale
canale: nome canale per il ciclo
canale: nome canale per il ciclo
messaggio: messaggio di uscita (mostrato agli altri utenti)
........................................
@@ -103,15 +96,21 @@
........................................
avvia DCC (file o chat)
azione: 'send' (invia file) o 'chat'
nick: nick a cui inviare il file o aprire la chat
file: nome file (sull'host locale)
azione: 'send' (invia file) o 'chat' (avvia una conversazione)
nick: nick a cui inviare il file o con cui aprire la chat
file: nome file (sull'host locale)
Esempi:
chat con "tizio":
/dcc chat tizio
invia file "/home/foo/bar.txt al nick "tizio":
/dcc send tizio /home/foo/bar.txt
........................................
&bull; *`/dehalfop`* `[nick [nick]]`::
........................................
rimuovi lo stato di half-op da uno (o più) nick
rimuove lo stato di half-op da uno (o più) nick
........................................
&bull; *`/deop`* `[nick [nick]]`::
@@ -123,7 +122,7 @@
&bull; *`/devoice`* `[nick [nick]]`::
........................................
rimuove voice da uno (o più) nick
rimuove voce da uno (o più) nick
........................................
&bull; *`/die`*::
@@ -144,7 +143,7 @@
&bull; *`/halfop`* `[nick [nick]]`::
........................................
concedi lo stato di halfop ad uno (o più) nick
concede lo stato di halfop ad uno (o più) nick
........................................
&bull; *`/ignore`* `[list] | [add [re:]nick/host [server [canale]]] | [del numero|-all]`::
@@ -209,8 +208,8 @@
........................................
caccia forzatamente un utente da un canale
canale: canale dove si trova l'utente
nick: nick da cacciare
canale: canale dove si trova l'utente
nick: nick da cacciare
commento: commento per il kick
........................................
@@ -223,9 +222,11 @@
nick: nick da cacciare e bannare
commento: commento per la cacciata
È possibile cacciare/bannare con una mask, il nick verrà estratto dalla mask e sostituito da "*", per esempio:
/kickban tizio!*@host.com
banna "*!*@host.com" e poi caccia "tizio".
È possibile cacciare/bannare con una mask, il nick verrà estratto dalla mask e sostituito da "*".
Esempio:
banna "*!*@host.com" e poi caccia "tizio":
/kickban tizio!*@host.com
........................................
&bull; *`/kill`* `nick commento`::
@@ -246,13 +247,22 @@
mask_server: elenco dei server devono corrispondere a questa mask
........................................
&bull; *`/list`* `[canale[,canale] [server]`::
&bull; *`/list`* `[canale[,canale] [server] [-re regexp]]`::
........................................
elenca i canali ed i loro argomenti
canale: canale da elencare (è consentita un'espressione regolare)
canale: canale da elencare
server: nome del server
regexp: espressione regolare utilizzata per filtrare i risultati
Esempi:
elenca tutti i canali sul server (può essere molto lento su grandi network):
/list
elenca il canale #weechat:
/list #weechat.*
elenca tutti i canali che iniziano con "#weechat" (può essere molto lento su grandi network):
/list -re #weechat.*
........................................
&bull; *`/lusers`* `[mask [destinazione]]`::
@@ -260,10 +270,16 @@
........................................
ottiene statistiche sulla dimensione del network IRC
mask: server corrispondenti alla mask
mask: server corrispondenti alla mask
destinazione: server per redirigere la richiesta
........................................
&bull; *`/map`*::
........................................
mostra una mappa grafica della rete IRC
........................................
&bull; *`/me`* `messaggio`::
........................................
@@ -278,8 +294,8 @@
cambia modalità canale o utente
modalità canale:
canale: nome canale da modificare (predefinito è quello attivo)
o: concedi/ottieni privilegi di operatore del canale
canale: nome canale da modificare (quello attivo è il predefinito)
o: concede/nega i privilegi di operatore del canale
p: canale privato
s: canale segreto
i: canale a solo-invito
@@ -289,7 +305,7 @@
l: imposta il limite massimo di utenti sul canale
b: imposta un mask ban per tenere alla larga agli utenti
e: imposta mask di eccezione
v: concedi/ottieni la possibilità di parlare su un canale moderato
v: concede/nega la possibilità di parlare su un canale moderato
k: imposta una chiave per il canale (password)
modalità utente:
nick: nick da modificare
@@ -312,9 +328,9 @@
........................................
invia un messaggio ad un nick o a un canale
server: invia a questo server (nome interno)
server: invia a questo server (nome interno)
destinatario: nick o canale (può essere una mask, '*' = canale corrente)
testo: testo da inviare
testo: testo da inviare
........................................
&bull; *`/names`* `[canale[,canale]]`::
@@ -330,7 +346,7 @@
........................................
modifica il nick corrente
-all: imposta nuovo nick per tutti i server connessi
-all: imposta nuovo nick per tutti i server connessi
nick: nuovo nick
........................................
@@ -339,15 +355,15 @@
........................................
invia messaggio di notifica all'utente
server: invia a questo server (nome interno)
nick: utente a cui inviare la notifica
testo: testo da inviare
server: invia a questo server (nome interno)
nick: utente a cui inviare la notifica
testo: testo da inviare
........................................
&bull; *`/op`* `nick [nick]`::
........................................
concedi lo stato di operatore del canale al(ai) nick
concede lo stato di operatore del canale al(ai) nick
........................................
&bull; *`/oper`* `utente password`::
@@ -361,9 +377,9 @@
&bull; *`/part`* `[canale[,canale]] [messaggio]`::
........................................
lascia un canale
esce da un canale
canale: nome del canale da lasciare
canale: nome del canale da lasciare
messaggio_uscita: messaggio di uscita (mostrato agli altri utenti)
........................................
@@ -391,8 +407,8 @@
invia un messaggio privato ad un nick
server: invia a questo server (nome interno)
nick: nick per la conversazione privata
testo: testo da inviare
nick: nick per la conversazione privata
testo: testo da inviare
........................................
&bull; *`/quote`* `[-server server] dati`::
@@ -401,17 +417,17 @@
invia dati grezzi al server senza analisi
server: invia a questo server (nome interno)
dati: dati grezzi da inviare
dati: dati grezzi da inviare
........................................
&bull; *`/reconnect`* `[-all [-nojoin] | nome_server [nome_server ...] [-nojoin]]`::
........................................
riconnetti a uno (o più) server
riconnette a uno (o più) server
-all: riconnetti a tutti i server
-all: riconnetti a tutti i server
nome_server: nome del server a cui riconnettersi
nojoin: non entrare in nessun canale (anche se l'ingresso automatico è abilitato sul server
nojoin: non entrare in nessun canale (anche se l'ingresso automatico è abilitato sul server)
........................................
&bull; *`/rehash`* `[opzione]`::
@@ -433,7 +449,7 @@
........................................
forza un utente ad entrare su uno o più canali
nick: nick
nick: nick
canale: nome del canale
........................................
@@ -460,7 +476,7 @@
........................................
forza un utente a lasciare uno o più canali
nick: nick
nick: nick
canale: nome del canale
........................................
@@ -478,13 +494,13 @@
........................................
elenca, aggiunge o rimuove server IRC
list: elenca tutti i server (nessun parametro necessario)
listfull: elenca tutti i server con tutte le informazioni
list: elenca tutti i server (senza argomento, questa lista viene visualizzata)
listfull: elenca tutti i server con tutte le informazioni per ogni server
add: crea un nuovo server
nome_server: nome server, per il solo uso interno
nome_host: nome o indirizzo IP del server, con porta opzionale (predefinita: 6667)
nome_server: nome server, per il solo uso interno e di visualizzazione
nome_host: nome o indirizzo IP del server, con porta opzionale (predefinita: 6667), più indirizzi possono essere separati da virgole
temp: crea server temporaneo (non salvato)
option: imposta opzione per il server (per opzioni bool, il valorepuò essere omesso)
option: imposta opzione per il server (per opzioni bool, il valore può essere omesso)
nooption: imposta l'opzione bool su 'off' (per esempio: -nossl)
copy: duplica un server
rename: rinomina un server
@@ -499,6 +515,7 @@
/server add oftc irc.oftc.net/6697 -ssl
/server add oftc6 irc6.oftc.net/6697 -ipv6 -ssl
/server add freenode2 chat.eu.freenode.net/6667,chat.us.freenode.net/6667
/server add freenode3 irc.freenode.net -password=miapassword
/server copy oftc oftcbis
/server rename oftc newoftc
/server del freenode
@@ -622,7 +639,7 @@
&bull; *`/voice`* `[nick [nick]]`::
........................................
concedi il voice ad uno (o più) utenti
concede il voice ad uno (o più) utenti
........................................
&bull; *`/wallops`* `testo`::
+62 -12
View File
@@ -43,11 +43,6 @@
** tipo: intero
** valori: off, local, channel (valore predefinito: local)
* *irc.look.display_channel_modes*
** descrizione: visualizza le modalità canale nell'elemento barra "buffer_name"
** tipo: bool
** valori: on, off (valore predefinito: on)
* *irc.look.display_ctcp_blocked*
** descrizione: visualizza messaggio CTCP anche se bloccato
** tipo: bool
@@ -63,11 +58,6 @@
** tipo: bool
** valori: on, off (valore predefinito: on)
* *irc.look.display_nick_modes*
** descrizione: visualizza le modalità nick nell'elemento barra "input_prompt"
** tipo: bool
** valori: on, off (valore predefinito: on)
* *irc.look.display_old_topic*
** descrizione: visualizza l'argomento del canale precedente quando viene cambiato
** tipo: bool
@@ -79,15 +69,35 @@
** valori: on, off (valore predefinito: on)
* *irc.look.highlight_tags*
** descrizione: elenco separato da liste di tag per i messaggi che potrebbero generare evidenziazioni (di solito qualsiasi messaggio da altri utenti, non quelli dal server,...)
** descrizione: elenco separato da liste di tag per i messaggi che potrebbero generare eventi (di solito qualsiasi messaggio da altri utenti, non quelli dal server...)
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "irc_privmsg,irc_notice")
* *irc.look.item_channel_modes*
** descrizione: visualizza le modalità canale nell'elemento barra "buffer_name"
** tipo: bool
** valori: on, off (valore predefinito: on)
* *irc.look.item_channel_modes_hide_key*
** descrizione: nasconde la chiave del canale se le modalità sono visualizzate nell'elemento barra "buffer_name" (in questo modo saranno nascosti tutti gli argomenti delle modalità del canale se la modalità +k è impostata sul canale)
** tipo: bool
** valori: on, off (valore predefinito: off)
* *irc.look.item_display_server*
** descrizione: nome dell'elemento barra dov'è visualizzato il server IRC (per la barra di stato)
** tipo: intero
** valori: buffer_plugin, buffer_name (valore predefinito: buffer_plugin)
* *irc.look.item_nick_modes*
** descrizione: visualizza le modalità nick nell'elemento barra "input_prompt"
** tipo: bool
** valori: on, off (valore predefinito: on)
* *irc.look.item_nick_prefix*
** descrizione: visualizza il prefisso del nick nell'elemento barra "input_prompt"
** tipo: bool
** valori: on, off (valore predefinito: on)
* *irc.look.msgbuffer_fallback*
** descrizione: buffer di destinazione predefinito per le opzioni di msgbuffer quando la destinazione è privata ed il buffer privato non viene trovato
** tipo: intero
@@ -123,6 +133,11 @@
** tipo: bool
** valori: on, off (valore predefinito: off)
* *irc.look.part_closes_buffer*
** descrizione: chiude buffer quando viene digitato /part nel canale
** tipo: bool
** valori: on, off (valore predefinito: off)
* *irc.look.raw_messages*
** descrizione: numero di messaggi grezzi IRC da salvare quando il buffer dei dati grezzi chiuso (i messaggi verranno visualizzati all'apertura del buffer dei dati grezzi)
** tipo: intero
@@ -141,13 +156,23 @@
* *irc.look.smart_filter*
** descrizione: filtra i messaggi di entrata/uscita/abbandono per un nick se inattivo per alcuni minuti sul canale (è necessario creare un filtro sul tag "irc_smart_filter")
** tipo: bool
** valori: on, off (valore predefinito: off)
** valori: on, off (valore predefinito: on)
* *irc.look.smart_filter_delay*
** descrizione: ritardo per il filtraggio dei messaggi di entrata/uscita/abbandono (in minuti)
** tipo: intero
** valori: 1 .. 10080 (valore predefinito: 5)
* *irc.look.smart_filter_join*
** descrizione: abilita filtro smart per i messaggi "join" (entrata)
** tipo: bool
** valori: on, off (valore predefinito: on)
* *irc.look.smart_filter_quit*
** descrizione: abilita filtro smart per i messaggi "part" (uscita) e "quit (disconnessione)
** tipo: bool
** valori: on, off (valore predefinito: on)
* *irc.look.topic_strip_colors*
** descrizione: elimina colori nell'argomento (utilizzato solo quando viene visualizzato il titolo del buffer)
** tipo: bool
@@ -183,6 +208,11 @@
** tipo: bool
** valori: on, off (valore predefinito: on)
* *irc.network.connection_timeout*
** descrizione: timeout (in secondi) tra la connessione TCP al server ed il messaggio 001 ricevuto, se questo timeout viene raggiunto prima della ricezione del messaggio 001, WeeChat effettuerà la disconnessione
** tipo: intero
** valori: 1 .. 3600 (valore predefinito: 60)
* *irc.network.default_msg_part*
** descrizione: messaggio di uscita predefinito (in uscita dal canale) ("%v" verrà sostituito dalla versione di WeeChat)
** tipo: stringa
@@ -288,6 +318,26 @@
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "")
* *irc.server_default.sasl_mechanism*
** descrizione: meccanismo per l'autenticazione SASL
** tipo: intero
** valori: plain, dh-blowfish (valore predefinito: plain)
* *irc.server_default.sasl_password*
** descrizione: password per l'autenticazione SASL
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "")
* *irc.server_default.sasl_timeout*
** descrizione: timeout (in secondi) prima di annullare l'autenticazione SASL
** tipo: intero
** valori: 1 .. 3600 (valore predefinito: 15)
* *irc.server_default.sasl_username*
** descrizione: nome utente per l'autenticazione SASL
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "")
* *irc.server_default.ssl*
** descrizione: utilizza SSL per le comunicazioni col server
** tipo: bool
+3 -4
View File
@@ -11,16 +11,15 @@
Le opzioni "logger.level.*" e "logger.mask.*" possono essere utilizzate per impostare un livello o una mask per un buffer, o per i buffer che cominciano per nome.
Esempi:
imposta il livello 5 al buffer attivo:
imposta il livello 5 per buffer corrente:
/logger set 5
disabilita logging per il buffer attivo:
disabilita logging per il buffer corrente:
/logger disable
imposta il livello 3 per tutti i buffer IRC:
/set logger.level.irc 3
disabilita logging per il buffer principale di WeeChat:
/set logger.level.core.weechat 0
utilizza una cartella per il server IRC e un file per il canale al suo interno:
utilizza una cartella per il server IRC e un file per ogni canale al suo interno:
/set logger.mask.irc "$server/$channel.weechatlog"
Livelli di log utilizzati dal plugin IRC:
+3 -3
View File
@@ -4,12 +4,12 @@
** valori: on, off (valore predefinito: on)
* *logger.file.info_lines*
** descrizione: scrivere riga di informazione nel file di log quando il log inizia o termina per un buffer
** descrizione: scrive una riga informativa nel file di log quando il log inizia o termina per un buffer
** tipo: bool
** valori: on, off (valore predefinito: off)
* *logger.file.mask*
** descrizione: mask del nome file predefinito per i file di log (il formato è "cartella/per/file" oppure "file", senza la prima "/" perché l'opzione "path" è utilizzata per costruire il percorso completo del file); sono ammesse le variabili dei buffer locali
** descrizione: mask del nome file predefinito per i file di log (il formato è "cartella/per/file" oppure "file", senza la prima "/" perché l'opzione "path" è utilizzata per costruire il percorso completo del file); sono ammesse le variabili del buffer locale; sono ammessi gli specificatori di data (consultare man strftime)
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "$plugin.$name.weechatlog")
@@ -19,7 +19,7 @@
** valori: on, off (valore predefinito: on)
* *logger.file.path*
** descrizione: percorso per i file di log di WeeChat ("%h" verrà sostituito dalla cartella home di WeeChat, predefinita è "~/.weechat)
** descrizione: percorso per i file di log di WeeChat: "%h" all'inizio della stringa viene sostituito dalla cartella home di WeeChat (predefinita è "~/.weechat); sono ammessi gli specificatori di data (consultare man strftime)
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "%h/logs/")
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/lua`* `[list [nome]] | [listfull [nome]] | [load nome_file] | [autoload] | [reload] | [unload [nome]]`::
&bull; *`/lua`* `[list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]`::
........................................
elenca/attiva/disattiva script
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/perl`* `[list [nome]] | [listfull [nome]] | [load nome_file] | [autoload] | [reload] | [unload [nome]]`::
&bull; *`/perl`* `[list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]`::
........................................
elenca/attiva/disattiva script
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/python`* `[list [nome]] | [listfull [nome]] | [load nome_file] | [autoload] | [reload] | [unload [nome]]`::
&bull; *`/python`* `[list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]`::
........................................
elenca/attiva/disattiva script
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/ruby`* `[list [nome]] | [listfull [nome]] | [load nome_file] | [autoload] | [reload] | [unload [nome]]`::
&bull; *`/ruby`* `[list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]`::
........................................
elenca/attiva/disattiva script
+1 -1
View File
@@ -1,4 +1,4 @@
&bull; *`/tcl`* `[list [nome]] | [listfull [nome]] | [load nome_file] | [autoload] | [reload] | [unload [nome]]`::
&bull; *`/tcl`* `[list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]`::
........................................
elenca/attiva/disattiva script
+118 -52
View File
@@ -1,3 +1,12 @@
&bull; *`/away`* `[-all] [messaggio]`::
........................................
attiva/disattiva lo stato di assenza
-all: attiva/disattiva lo stato di assenza su tutti i server connessi
messaggio: messaggio di assenza (se non specificato, lo stato di assenza viene rimosso)
........................................
&bull; *`/bar`* `[add nome_barra tipo[,cond1,cond2,...] posizione dimensione separatore elemento1,elemento2,...] | [default] | [del nome_barra|-all] | [set nome_barra opzione valore] | [hide|show|toggle nome_barra] | [scroll nome_barra buffer scroll_value] | [list] | [listfull] | [listitems]`::
........................................
@@ -44,42 +53,50 @@
/bar scroll nicklist * ye
........................................
&bull; *`/buffer`* `[clear [numero | -merged | -all] | move numero | merge numero | unmerge [numero] | close [n1[-n2]] | list | notify livello | localvar | set proprietà valore | numero | nome]`::
&bull; *`/buffer`* `[clear [numero | -merged | -all] | move numero | merge numero | unmerge [numero] | close [n1[-n2]] | list | notify livello | localvar | set proprietà valore | get proprietà |numero | nome]`::
........................................
gestione buffer
clear: pulisce il contenuto del buffero (numero per un buffer, -merged per i buffer uniti, -all per tutti i buffer, o nulla per quello corrente)
clear: pulisce il contenuto del buffer (numero per un buffer, -merged per i buffer uniti, -all per tutti i buffer, o nulla per quello corrente)
move: sposta buffer nella lista (può essere relativo, ad esempio -1)
merge: unisce il buffer corrente ad un altro (l'area di chat sarà un mix di entrambi)
(con ctrl-x alterna i buffer uniti)
unmerge: stacca il buffer da quelli con lo stesso numero
(con ctrl-x si alterna tra i buffer uniti)
unmerge: stacca il buffer da altri buffer con lo stesso numero
close: chiudi buffer (numero/range opzionale)
list: elenca i buffer (nessun parametro implica questa lista)
notify: imposta il livello di notifica per il buffer corrente: questo livello determina se il buffer verrà aggiunto alla hotlist oppure no:
none: mai
highlight: solo per le evidenziazioni
message: per i messaggi da tutti gli utenti + evidenziazioni
highlight: solo per gli eventi
message: per i messaggi da tutti gli utenti + eventi
all: tutti i messaggi
reset: ripristina il valore predefinito (all (tutti attivi))
reset: ripristina il valore predefinito (tutto)
localvar: visualizza la variabile locale per il buffer corrente
set: imposta una proprietà per il buffer corrente
get: visualizza una proprietà del buffer corrente
number: passa al buffer di numero in numero:
'+': passo relativo, aggiunge il numero a quello corrente
'-': passo relativo, sottrae il numero a quello corrente
'-': passo relativo, sottrae il numero da quello corrente
'*': passa al numero, utilizzando l'opzione "weechat.look.jump_current_to_previous_buffer"
nome: passa al buffer di nome (parziale)
Esempi:
pulisci buffer corrente: /buffer clear
pulisci tutti i buffer: /buffer clear -all
sposta buffer: /buffer move 5
unisci al buffer core: /buffer merge 1
stacca buffer: /buffer unmerge
chiudi buffer corrente: /buffer close
chiudi buffer da 5 a 7: /buffer close 5-7
passa a #weechat: /buffer #weechat
passa al buffer successivo: /buffer +1
pulisci buffer corrente:
/buffer clear
sposta buffer al numero 5:
/buffer move 5
unisci al buffer core:
/buffer merge 1
stacca buffer:
/buffer unmerge
chiudi buffer corrente:
/buffer close
chiudi buffer da 5 a 7:
/buffer close 5-7
salta a #weechat:
/buffer #weechat
salta al buffer successivo:
/buffer +1
........................................
&bull; *`/command`* `plugin comando`::
@@ -115,26 +132,33 @@
disable: disabilita filtri
toggle: abilita/disabilita filtri
nome: nome del filtro
add: aggiungi un filtro
add: aggiunge un filtro
del: elimina un filtro
-all: elimina tutti i filtri
plugin.buffer: plugin e buffer in cui il filtro è attivo ("*" per tutti i buffer)
tag: elenco di tag separati da virgole, per esempio: "irc_join,irc_part,irc_quit"
regex: espressione regolare da cercare nella riga (utilizzare \t per separare il prefisso dal messaggio, caratteri speciali come "|" devono essere preceduti dal carattere escape: '\|')
Il tasto predefinito alt+'=' abilita/disabilita il filtraggio.
Il tasto predefinito alt+'=' abilita/disabilita il filtro.
Tag utilizzati di frequente:
no_filter, no_highlight, log0..log9 (livello di log),
notify_message, notify_private, notify_highlight,
irc_xxx (xxx è il nome comando o il numero, consultare /server raw), irc_numeric, irc_error, irc_action, irc_ctcp, irc_ctcp_reply, irc_smart_filter, away_info.
Esempi:
usa il filtro intelligente IRC per i messaggi di entrata/uscita/abbandono:
/filter add irc_smart * irc_smart_filter *
/filter add irc_smart * irc_smart_filter *
filtra tutti i messaggi entrata/uscita/abbandono di IRC:
/filter add joinquit * irc_join,irc_part,irc_quit *
/filter add joinquit * irc_join,irc_part,irc_quit *
filtra i nick visualizzati all'ingresso in un canale o con /names:
/filter add nicks * irc_366 *
filtra il nick "tizio" sul canale IRC #weechat
/filter add tizio irc.freenode.#esempio * tizio\t
/filter add tizio irc.freenode.#esempio * tizio\t
filtra le righe contententi la parola "spam":
/filter add filterspam ** spam
filtra le righe contententi "weechat fa schifo" sul canale irc #weechat:
/filter add schifo irc.freenode.#weechat * weechat fa schifo
/filter add filterspam * * spam
filtra le righe contententi "weechat fa schifo" sul canale IRC #weechat:
/filter add schifo irc.freenode.#weechat * weechat fa schifo
........................................
&bull; *`/help`* `[comando | opzione]`::
@@ -155,7 +179,7 @@
valore: numero delle voci nella cronologia da mostrare
........................................
&bull; *`/input`* `return | complete_next | complete_previous | search_next | delete_previous_char | delete_next_char | delete_previous_word | delete_next_word | delete_beginning_of_line | delete_end_of_line | delete_line | clipboard_paste | transpose_chars | move_beginning_of_line | move_end_of_line | move_previous_char | move_next_char | move_previous_word | move_next_word | history_previous | history_next | history_global_previous | history_global_next | jump_smart | jump_last_buffer | jump_previously_visited_buffer | jump_next_visited_buffer | hotlist_clear | grab_key | grab_key_command | scroll_unread | set_unread | set_unread_current_buffer | insert [args]`::
&bull; *`/input`* `return | complete_next | complete_previous | search_next | delete_previous_char | delete_next_char | delete_previous_word | delete_next_word | delete_beginning_of_line | delete_end_of_line | delete_line | clipboard_paste | transpose_chars | move_beginning_of_line | move_end_of_line | move_previous_char | move_next_char | move_previous_word | move_next_word | history_previous | history_next | history_global_previous | history_global_next | jump_smart | jump_last_buffer | jump_previously_visited_buffer | jump_next_visited_buffer | hotlist_clear | grab_key | grab_key_command | scroll_unread | set_unread | set_unread_current_buffer | switch_active_buffer | switch_active_buffer_previous | insert [args]`::
........................................
funzioni per la riga di comando
@@ -163,23 +187,35 @@
Questo comando è utilizzato da combinazioni di tasti o plugin.
........................................
&bull; *`/key`* `[bind tasto [comando [argomenti]]] | [unbind tasto] | [reset -yes] | [missing]`::
&bull; *`/key`* `[list | listdefault | listdiff] | [bind tasto [comando [args]]] | [unbind tasto] | [reset tasto] | [resetall -yes] | [missing]`::
........................................
associa/disassocia tasti
bind: associa un comando ad un tasto o visualizza il comando associato al tasto
unbind: elimina l'associazione di un tasto
reset: ripristina le associazioni ai valori predefiniti ed elimina TUTTE le associazioni personalizzate (attenzione!)
missing: aggiunge i tasti mancanti (utilizzando le associazioni predefinite)
list: elenca tutti i tasti correnti (senza argomento, viene visualizzata questa lista)
listdefault: elenca i tasti predefiniti
listdiff: elenca le differenze tra tasti attuali e predefiniti (tasti aggiunti, ridefiniti o eliminati)
bind: associa un comando ad un tasto o visualizza il comando associato al tasto
unbind: rimuove una associazione di tasti
reset: ripristina un tasto all'assegnazione predefinita
resetall: ripristina le associazioni ai valori predefiniti ed elimina TUTTE le associazioni personalizzate (usare con cautela!)
missing: aggiunge tasti mancanti (utilizzando le associazioni predefinite), utile dopo l'installazione di una nuova versione di WeeChat
Quando viene associato un comando ad una chiave, è consigliato utilizzare il tasto alt+k (oppure Esc e k), e poi premere il tasto da associare: il codice tasto verrà inserito nella riga di comando.
Al momento di associare un comando ad un tasto si raccomanda di utilizzare il tasto alt+k (oppure Esc e k), e digitare il tasto da associare: il codice tasto verrà inserito nella riga di comando.
Esempi:
il tasto alt-x per alternare la barra della nicklist:
/key bind meta-x /bar toggle nicklist
il tasto alt-r per passare al canale IRC #weechat:
/key bind meta-r /buffer #weechat
ripristinare l'associazione predefinita per il tasto alt-r:
/key reset meta-r
........................................
&bull; *`/layout`* `[[save | apply | reset] [buffers | windows]]`::
........................................
salva/applica/resetta il layout per i buffer e le finestre
salva/applica/ripristina il layout per i buffer e le finestre
save: salva il layout corrente
apply: applica il layout salvato
@@ -190,6 +226,28 @@
Senza argomenti, il comando visualizza il layout salvato.
........................................
&bull; *`/mute`* `[-current | -buffer nome | -all] comando`::
........................................
esegue un comando in silenzio
-current: nessun output sul buffer corrente
-buffer: nessun output sul buffer specificato
nome: nome completo del buffer (esempi: "irc.server.freenode", "irc.freenode.#weechat")
-all: nessun output su TUTTI i buffer
command: comando da eseguire in silenzio (una '/' viene aggiunta automaticamente all'inizio del comando se non trovata)
Se non viene specificata una destinazione (-current, -buffer o -all), la destinazione predefinita è il buffer core di WeeChat.
Esempi:
salva la configurazione:
/mute save
messaggio sul canale IRC corrente:
/mute -current msg * ciao!
messaggio sul canale #weechat:
/mute -buffer irc.freenode.#weechat msg #weechat ciao!
........................................
&bull; *`/plugin`* `[list [nome]] | [listfull [nome]] | [load file] | [autoload] | [reload [nome]] | [unload [nome]]`::
........................................
@@ -238,7 +296,7 @@
&bull; *`/quit`* `[argomenti]`::
........................................
esci da WeeChat
esce da WeeChat
argomenti: testo inviato con il segnale "quit"
(ad esempio il plugin irc usa questo testo per inviare il messaggio di uscita al server)
@@ -284,11 +342,11 @@
&bull; *`/unset`* `[opzione]`::
........................................
annulla/resetta opzione
annulla/ripristina opzione
opzione: nome di un'opzione (può cominciare o finire con "*" per il reset di più opzioni, attenzione!)
opzione: nome di un'opzione (può cominciare o finire con "*" per il ripristino di più opzioni, attenzione!)
A seconda dell'opzione, viene resettata (per le opzioni standard) o rimossa (per le impostazioni opzionali, come i valori del server)
A seconda dell'opzione, essa viene ripristinata (per le opzioni standard) o rimossa (per le impostazioni opzionali, come i valori del server)
........................................
&bull; *`/upgrade`* `[percorso_del_binario]`::
@@ -301,20 +359,22 @@
Questo comando esegue nuovamente un binario WeeChat, perciò deve essere stato compilato o installato con un gestore di pacchetti prima di eseguire questo comando.
........................................
&bull; *`/uptime`* `[-o]`::
&bull; *`/uptime`* `[-o | -ol]`::
........................................
mostra l'uptime di WeeChat
-o: invia l'uptime al buffer corrente come input
-o: invia l'uptime al buffer corrente come input (stringa in inglese)
-ol: invia l'uptime al buffer corrente come input (stringa tradotta)
........................................
&bull; *`/version`* `[-o]`::
&bull; *`/version`* `[-o | -ol]`::
........................................
mostra la versione e la data di compilazione di WeeChat
-o: invia versione al buffer corrente come input
-o: invia la versione al buffer corrente come input (stringa inglese)
-ol: invia la versione al buffer corrente come input (stringa tradotta)
........................................
&bull; *`/wait`* `numero[unità] comando`::
@@ -333,9 +393,12 @@
Nota: il comando è eseguito sui buffer dove /wait è stato eseguito (se il buffer non viene trovato (per esempio se è stato chiuso prima dell'esecuzione), allora il comando verrà eseguito sul buffer core di WeeChat)
Esempi:
entra nel canale tra 10 secondi: /wait 10 /join #test
imposta assenza in 15 minuti: /wait 15m /away -all Sono via
dì ciao in 2 minuti: /wait 2m ciao
entra nel canale tra 10 secondi:
/wait 10 /join #test
imposta assenza tra 15 minuti:
/wait 15m /away -all Sono assente
scrive ciao tra 2 minuti:
/wait 2m ciao
........................................
&bull; *`/window`* `[list | -1 | +1 | b# | up | down | left | right | splith [pct] | splitv [pct] | resize pct | merge [all] | page_up | page_down | refresh | scroll | scroll_up | scroll_down | scroll_top | scroll_bottom | scroll_previous_highlight | scroll_next_highlight | zoom]`::
@@ -343,7 +406,7 @@
........................................
gestione finestre
list: elenca le finestre aperte (nessun parametro implica questa lista)
list: elenca le finestre aperte (senza argomento, questa lista viene visualizzata)
-1: salta alla finestra precedente
+1: salta alla finestra successiva
b#: salta alla finestra successiva che visualizza il buffer numero #
@@ -355,7 +418,6 @@
splitv: divide la finestra attiva verticalmente
resize: ridimensiona finestra, la nuova dimensione è <pct> percentuale della finestra genitore
merge: unisce la finestra con un'altra (all = mantiente una sola finestra)
page_up: scorre di una pagina in alto
page_down: scorre di una pagina in basso
refresh: aggiorna lo schermo
@@ -364,16 +426,20 @@
scroll_down: scorre di alcune righe in basso
scroll_top: scorre fino all'inizio del buffer
scroll_bottom: scorre fino alla fine del buffer buffer
scroll_previous_highlight: passa all'evidenziazione precedente
scroll_next_highlight: passa all'evidenziazione successiva
scroll_previous_highlight: passa all'evento precedente
scroll_next_highlight: passa all'evento successivo
zoom: ingrandimento sulla finestra
Per splith e splitv, pct è una percentuale che rappresenta la dimensione della nuova finestra, calcolata con la finestra attiva come riferimento per la dimensione. Per esempio 25 vuol dire creare una finestra di dimensione = dimensione_attuale / 4
Esempi:
salta alla finestra che visualizza il buffer #1: /window b1
scorre di due righe in alto: /window scroll -2
scorre all'indietro di due giorni: /window scroll -2d
scorre all'inizio del giorno attuale: /window scroll -d
salta alla finestra che visualizza il buffer #1:
/window b1
scorre di due righe in alto:
/window scroll -2
scorre all'indietro di due giorni:
/window scroll -2d
scorre all'inizio del giorno attuale:
/window scroll -d
........................................
+24 -14
View File
@@ -29,12 +29,12 @@
** valori: un nome colore (valore predefinito: green)
* *weechat.color.chat_highlight*
** descrizione: colore del testo per il prefisso evidenziato
** descrizione: colore del testo per il prefisso di evento
** tipo: colore
** valori: un nome colore (valore predefinito: yellow)
* *weechat.color.chat_highlight_bg*
** descrizione: colore di sfondo per il prefisso evidenziato
** descrizione: colore di sfondo per il prefisso di evento
** tipo: colore
** valori: un nome colore (valore predefinito: magenta)
@@ -208,10 +208,10 @@
** tipo: colore
** valori: un nome colore (valore predefinito: green)
* *weechat.color.nicklist_more*
** descrizione: colore del testo per '+' allo scorrimento dei nick nella lista nick
* *weechat.color.nicklist_offline*
** descrizione: colore del testo per i nick non in linea
** tipo: colore
** valori: un nome colore (valore predefinito: lightmagenta)
** valori: un nome colore (valore predefinito: blue)
* *weechat.color.nicklist_prefix1*
** descrizione: colore del testo per il prefisso #1 nella nicklist
@@ -244,7 +244,7 @@
** valori: un nome colore (valore predefinito: blue)
* *weechat.color.status_data_highlight*
** descrizione: colore del testo per il buffer con evidenziazione (barra di stato)
** descrizione: colore del testo per il buffer con evento (barra di stato)
** tipo: colore
** valori: un nome colore (valore predefinito: lightmagenta)
@@ -364,7 +364,7 @@
** valori: none, highlight, message, all (valore predefinito: all)
* *weechat.look.buffer_time_format*
** descrizione: formato dell'ora per i buffer
** descrizione: formato dell'ora per ogni riga visualizzata nei buffer
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "%H:%M:%S")
@@ -378,6 +378,11 @@
** tipo: bool
** valori: on, off (valore predefinito: off)
* *weechat.look.command_chars*
** descrizione: caratteri usati per determinare se la stringa in input è un comando oppure no: l'input deve iniziare con uno di questi caratteri: la barra ("/") è sempre considerata come prefisso per comando (esempio: ".$")
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "")
* *weechat.look.day_change*
** descrizione: mostra un messaggio speciale al cambio di data
** tipo: bool
@@ -409,7 +414,7 @@
** valori: 0 .. 32 (valore predefinito: 0)
* *weechat.look.hotlist_names_level*
** descrizione: livello per la visualizzazione dei nomi nella hotlist (combinazione di: 1=entrata/uscita, 2=messaggio, 4=privato, 8=evidenziato, per esempio: 12=privato+evidenziato)
** descrizione: livello per la visualizzazione dei nomi nella hotlist (combinazione di: 1=entrata/uscita, 2=messaggio, 4=privato, 8=evento, per esempio: 12=privato+evento)
** tipo: intero
** valori: 1 .. 15 (valore predefinito: 12)
@@ -523,6 +528,11 @@
** tipo: intero
** valori: none, line, dotted-line, char (valore predefinito: dotted-line)
* *weechat.look.read_marker_always_show*
** descrizione: mostra sempre l'evidenziatore di lettura, anche se si trova dopo l'ultima riga del buffer
** tipo: bool
** valori: on, off (valore predefinito: off)
* *weechat.look.save_config_on_exit*
** descrizione: salva file di configurazione all'uscita
** tipo: bool
@@ -553,13 +563,18 @@
** tipo: bool
** valori: on, off (valore predefinito: on)
* *weechat.look.time_format*
** descrizione: formato dell'ora per le date convertite a stringhe e visualizzate nei messaggi
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "%a, %d %b %Y %T")
* *weechat.network.gnutls_ca_file*
** descrizione: file contenente le autorità dei certificati
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "%h/ssl/CAs.pem")
* *weechat.plugin.autoload*
** descrizione: elenco separato da virgole di plugin da caricare automaticamente all'avvio, "*" per tutti i plugin trovati (nomi possono essere parziali, per esempio "perl" va bene per "perl.so")
** descrizione: elenco separato da virgole di plugin da caricare automaticamente all'avvio, "*" equivale a tutti i plugin trovati. un nome che comincia con "!" è un valore negativo per impedire il caricamento di un plugin, i nomi possono iniziare o finire con "*" per corrispondere a più plugin (esempi: "*" oppure "*,!lua,!tcl")
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "*")
@@ -603,8 +618,3 @@
** tipo: bool
** valori: on, off (valore predefinito: on)
* *weechat.startup.weechat_slogan*
** descrizione: Slogan WeeChat (se è vuoto, non viene utilizzato)
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: "le client de discussion le plus geek !")
+203 -104
View File
@@ -3,6 +3,7 @@ FAQ di WeeChat (Domande Frequenti)
FlashCode <flashcode@flashtux.org>
[[general]]
Generale
--------
@@ -34,6 +35,7 @@ Alcune caratteristiche (versione > = 0.3.x):
Maggiori informazioni su http://www.weechat.org/features
[[compilation_install]]
Compilazione / installazione
----------------------------
@@ -48,8 +50,8 @@ Altre interfacce saranno disponibili come client remoti (in fase di sviluppo).
[[compile_git]]
Non è possibile compilare WeeChat dopo aver clonato il deposito git, perché?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Non è possibile compilare WeeChat dopo aver clonato il repository git, perché?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Il metodo raccomandato per compilare WeeChat è utilizzando cmake.
@@ -59,13 +61,9 @@ le ultime versioni di autoconf e automake (WeeChat è sviluppato con autoconf
L'altro metodo è installare il "pacchetto di sviluppo", che richiede meno
dipendenze. Questo pacchetto viene generato quasi tutti i giorni utilizzando
il deposito git. È bene notare che potrebbe non corrispondere
esattamente alla base git ed è meno conveniente rispetto alla clonazione
con git per l'installazione degli aggiornamenti.
Utilizzo di WeeChat
-------------------
il repository git. È bene notare che potrebbe non corrispondere
esattamente alla base git ed è meno conveniente rispetto al clone di git
per l'installazione degli aggiornamenti.
[[lost]]
@@ -79,18 +77,9 @@ Si raccomanda ai nuovi utenti di leggere la guida rapida (consultare la pagina
della documentazione sul sito).
[[buffer_vs_window]]
Ho sentito parlare di "buffer" e "finestre", qual è la differenza?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Un 'buffer' è composto da un numero, un nome, delle righe visualizzate (e
qualche altro dato).
Una 'finestra' (o window) è un'aread dello schermo in cui viene visualizzato
un buffer. È possibile dividere lo schermo in più finestre.
Ogni finestra visualizza un buffer. Un buffer può essere nascosto (non visualizzato
da una finestra) o visualizzato da una o più finestre.
[[display]]
Visualizzare
------------
[[charset]]
@@ -156,60 +145,18 @@ Per esempio, 'xterm-color' potrebbe visualizzare questo tipo di caratteri strani
Se necessario, correggere la variabile TERM: `export TERM="xxx"`.
[[key_bindings]]
Come posso personalizzare le associazioni dei tasti?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[buffer_vs_window]]
Ho sentito parlare di "buffer" e "finestre", qual è la differenza?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Le associazioni dei tasti sono personalizzabili con il comando /key.
Un 'buffer' è composto da un numero, un nome, delle righe visualizzate (e
qualche altro dato).
Il tasto predefinito Meta-k (di solito Alt-k) consente di registrare il codice
tasto ed inserirlo nella riga di comando.
Una 'finestra' (o window) è un'aread dello schermo in cui viene visualizzato
un buffer. È possibile dividere lo schermo in più finestre.
[[openbsd_plugins]]
Uso OpenBSD e WeeChat non carica nessun plugin, cosa c'è che non va?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In OpenBSD, i nomi file dei plugin finiscono con ".so.0.0" (".so" in Linux).
Si deve impostare in questo modo:
* con WeeChat < = 0.2.6: +
`/set plugins_extension = ".so.0.0"`
* con WeeChat > = 0.3.x: +
`/set weechat.plugin.extension ".so.0.0"`
In seguito digitare: `/plugin autoload`.
[[scripts]]
Come posso caricare gli script Perl/Python/Ruby/Lua/Tcl? Sono compatibili con gli altri client IRC?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Si possono utilizzare i comandi `/perl`, `/python`, `/ruby`, `/lua` and `/tcl`
per caricare gli script (il percorso predefinito per gli script è '~/.weechat/<linguaggio>/').
Gli script non sono compatibili con altri client IRC.
Note:
* gli script in '~/.weechat/<linguaggio>/autoload/' sono caricati automaticamente
all'avvio di WeeChat.
* è disponibile un plugin 'tcl' con la versione > = 0.3.x.
[[change_locale_without_quit]]
Voglio cambiare la lingua utilizzata da WeeChat per i messaggi, ma senza uscire da WeeChat, è possibile?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sì. è necessario uno script python, shell.py (disponibile sul sito di WeeChat)
e digitare questi comandi quando viene caricato lo script:
/shell setenv LANG=en_US.UTF-8
/upgrade
Per avere i messaggi in inglese con la codifica UTF-8 per il terminale, per gli
utenti ISO, digitare: `/shell setenv LANG=en_US`.
Ogni finestra visualizza un buffer. Un buffer può essere nascosto (non visualizzato
da una finestra) o visualizzato da una o più finestre.
[[terminal_copy_paste]]
@@ -252,25 +199,76 @@ shortenurl.py::
Elenco di script a proposito di URL: http://www.weechat.org/scripts/stable/tag/url
[[highlight_notification]]
Come posso essere avvisato quando qualcuno mi cerca in un canale?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[change_locale_without_quit]]
Voglio cambiare la lingua utilizzata da WeeChat per i messaggi, ma senza uscire da WeeChat, è possibile?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A seconda della versione di WeeChat:
Sì. è necessario uno script python, shell.py (disponibile sul sito di WeeChat)
e digitare questi comandi quando viene caricato lo script:
* con WeeChat < = 0.2.6: utilizzare lo script 'sound.pl' (disponibile sulla pagina
degli script), e poi impostare un comando di sistema (per riprodurre un suono,
visualizzare un messaggio, ..) con questo comando: +
`/setp perl.sound.cmd_highlight = "/percorso/del/comando argomenti"`
* con WeeChat > = 0.3.x: facendo uso dello script 'launcher.pl'
(disponibile sulla pagina degli script), e poi impostare un comando di sistema
(per riprodurre un suono, visualizzare un messaggio, ..) con questo comando:
+ `/set plugins.var.perl.launcher.signal.weechat_highlight
"/percorso/del/comando argomenti"`
/shell setenv LANG=en_US.UTF-8
/upgrade
Esistono molti altri script per le notifiche, per favore consultare la pagina
dei plugin/script:
http://www.weechat.org/scripts
Per avere i messaggi in inglese con la codifica UTF-8 per il terminale, per gli
utenti ISO, digitare: `/shell setenv LANG=en_US`.
[[key_bindings]]
Associazioni dei tasti
----------------------
[[meta_keys]]
Alcuni tasti meta (alt + tasto) non funzionano, perché?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Se si utilizzano terminali come xterm o uxterm, alcuni tasti meta non funzionano
per default. È possibile aggiungere una riga nel file '~/.Xresources':
* per xterm:
----------------------------------------
XTerm*metaSendsEscape: true
----------------------------------------
* per uxterm:
----------------------------------------
UXTerm*metaSendsEscape: true
----------------------------------------
Al termine, ricaricare la configurazione (`xrdb -override ~/.Xresources`) o riavviare X.
[[customize_key_bindings]]
Come posso personalizzare le associazioni dei tasti?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Le associazioni dei tasti sono personalizzabili con il comando `/key`.
Il tasto predefinito Meta-k (di solito Alt-k) consente di registrare il codice
tasto ed inserirlo nella riga di comando.
[[irc]]
IRC
---
[[ignore_vs_filter]]
Qual è la differenza tra i comandi /ignore e /filter?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Il comando `/ignore` è un comando IRC, per cui è utile solo per i buffer
IRC (server e canali).
Consente di ignorare alcuni nick o nomi host di utenti per un server o per
un canale (il comando non viene applicato sul contenuto dei messaggi).
I messaggi corrispondenti vengono eliminati dal plugin IRC prima di
essere visualizzati (perciò non verranno mai mostrati).
Il comando `/filter` è un comando core, perciò funziona per qualsiasi
buffer. Esso consente di filtrare alcune righe nei buffer mediante tag
o espressioni regolari per il prefisso ed il contenuto delle righe.
Le righe filtrate vengono solo nascoste, non eliminate, ed è possibile
visualizzarle se i filtri vengono disabilitati (il comando predefinito
alt + "=" abilita/disabilita i filtri).
[[filter_irc_join_part_quit]]
@@ -299,25 +297,127 @@ A seconda della versione di WeeChat:
(`/help filter` per aiuto)
[[ignore_vs_filter]]
Qual è la differenza tra i comandi /ignore e /filter?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[filter_voice_messages]]
Come posso filtrare i messaggi voice (ad esempio su server Bitlbee)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Il comando `/ignore` è un comando IRC, per cui è utile solo per i buffer
IRC (server e canali).
Consente di ignorare alcuni nick o nomi host di utenti per un server o per
un canale (il comando non viene applicato sul contenuto dei messaggi).
I messaggi corrispondenti vengono eliminati dal plugin IRC prima di
essere visualizzati (perciò non verranno mai mostrati).
Non è semplice filtrare i messaggi voice, perché la modalità voice può essere
impostata in altri modi nello stesso messaggio IRC.
Il comando `/filter` è un comando core, perciò funziona per qualsiasi
buffer. Esso consente di filtrare alcune righe nei buffer mediante tag
o espressioni regolari per il prefisso ed il contenuto delle righe.
Le righe filtrate vengono solo nascoste, non eliminate, ed è possibile
visualizzarle se i filtri vengono disabilitati (il comando predefinito
alt + "=" abilita/disabilita i filtri).
Se si vuole, è probabilmente perché Bitlbee utilizza il voice per visualizzare gli
utenti assenti, e si viene tempestati di messaggi voice. Perciò, è possibile
modificare questo comportamento e consentire a WeeChat di utilizzare un
colore speciale per i nick assenti nella lista nick.
Sul canale '&bitlbee':
----------------------------------------
set away_devoice false
----------------------------------------
Per verificare i nick assenti in WeeChat, consultare la domanda
relativa a <<color_away_nicks,nick assenti>>.
[[color_away_nicks]]
Come posso vedere i nick assenti nella lista nick?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
È necessario impostare l'opzione 'irc.network.away_check' su un valore
positivo (minuti tra ogni controllo dei nick assenti).
L'opzione 'irc.network.away_check_max_nicks' limita il controllo delle assenze
solo sui canali più piccoli.
Ad esempio, per controllare ogni 5 minuti per i nick assenti, sui canali con
massimo 25 nick:
----------------------------------------
/set irc.network.away_check 5
/set irc.network.away_check_max_nicks 25
----------------------------------------
[[highlight_notification]]
Come posso essere avvisato quando qualcuno mi cerca in un canale?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A seconda della versione di WeeChat:
* con WeeChat < = 0.2.6: utilizzare lo script 'sound.pl' (disponibile sulla pagina
degli script), e poi impostare un comando di sistema (per riprodurre un suono,
visualizzare un messaggio, ..) con questo comando: +
`/setp perl.sound.cmd_highlight = "/percorso/del/comando argomenti"`
* con WeeChat > = 0.3.x: facendo uso dello script 'launcher.pl'
(disponibile sulla pagina degli script), e poi impostare un comando di sistema
(per riprodurre un suono, visualizzare un messaggio, ..) con questo comando:
+ `/set plugins.var.perl.launcher.signal.weechat_highlight
"/percorso/del/comando argomenti"`
Esistono molti altri script per le notifiche, per favore consultare la pagina
dei plugin/script:
http://www.weechat.org/scripts
[[plugins_scripts]]
Plugin / script
---------------
[[openbsd_plugins]]
Uso OpenBSD e WeeChat non carica nessun plugin, cosa c'è che non va?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In OpenBSD, i nomi file dei plugin finiscono con ".so.0.0" (".so" in Linux).
Si deve impostare in questo modo:
* con WeeChat < = 0.2.6: +
`/set plugins_extension = ".so.0.0"`
* con WeeChat > = 0.3.x: +
`/set weechat.plugin.extension ".so.0.0"`
In seguito digitare: `/plugin autoload`.
[[load_scripts]]
Come posso caricare gli script Perl/Python/Ruby/Lua/Tcl? Sono compatibili con gli altri client IRC?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Si possono utilizzare i comandi `/perl`, `/python`, `/ruby`, `/lua` and `/tcl`
per caricare gli script (il percorso predefinito per gli script è '~/.weechat/<linguaggio>/').
Gli script non sono compatibili con altri client IRC.
Note:
* gli script in '~/.weechat/<linguaggio>/autoload/' sono caricati automaticamente
all'avvio di WeeChat.
* è disponibile un plugin 'tcl' con la versione > = 0.3.0.
[[settings]]
Impostazioni
------------
[[memory_usage]]
Come posso ottimizzare WeeChat per poter utilizzare meno memoria?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Esistono diversi trucchi per ottimizzare l'uso della memoria:
* utilizzare l'ultima versione stabile (si suppone che abbia meno falle di memoria
rispetto le versioni precedenti)
* non caricare alcuni plugin se non vengono utilizzati, ad esempio: aspell, fifo,
logger, perl, python, ruby, lua, tcl, xfer (usato per DCC)
* caricare solo gli script veramente necessari
* ridurre il valore dell'opzione 'weechat.history.max_lines' (numero di righe
salvate in memoria per ogni buffer)
* ridurre il valore dell'opzione 'weechat.history.max_commands' (numero di
comandi utente salvati in memoria)
[[development]]
Sviluppo
--------
@@ -365,4 +465,3 @@ Posso donare denaro o altre cose agli sviluppatori di WeeChat?
È possibile donare denaro per aiutare lo sviluppo.
Maggiori dettagli su http://www.weechat.org/donate
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -137,7 +137,7 @@ Connessione al server IRC e ingresso automatico nei canali
[NOTE]
Questo comando può essere usato per creare e connettersi ad un nuovo server
senza utilizzare il comando `/server` (è necessario ripetere che è possibile
senza utilizzare il comando `/server` (è necessario ripetere che è possibile
visualizzare l'aiuto per questo comando con `/help connect`?).
I buffer dei server vengono uniti al buffer 'core' di WeeChat in modo
+773
View File
@@ -0,0 +1,773 @@
Guida allo Scripting di WeeChat
===============================
FlashCode <flashcode@flashtux.org>
Questo manuale documenta il client di chat WeeChat, ed è parte
del programma stesso.
La versione più recente di questo documento si trova qui:
http://www.weechat.org/doc
[[introduction]]
Introduzione
------------
WeeChat (Wee Enhanced Environment for Chat) è un client di chat libero,
veloce e leggero, realizzato per molti sistemi operativi.
Questo manuale documenta i metodi per la realizzazione di script per
WeeChat, utilizzando uno dei cinque linguaggi di script supportati: perl,
python, ruby, lua o tcl.
[NOTE]
Quasi tutti gli esempi in questo manuale sono scritti in Python, ma l'API
è identica per gli altri linguaggi.
[[scripts_in_weechat]]
Script in WeeChat
-----------------
[[languages_specifities]]
Specifiche per i linguaggi
~~~~~~~~~~~~~~~~~~~~~~~~~~
Alcune cose sono specifiche per i linguaggi:
* perl:
** le funzioni sono chiamate con `weechat::xxx(arg1, arg2, ...);`
* python:
** è necessario `import weechat`
** le funzioni `print*` sono chiamate `prnt*` in python (dato che 'print'
è una parola riservata)
** le funzioni sono chiamate con `weechat.xxx(arg1, arg2, ...)`
* ruby:
** è necessario definire 'weechat_init' e chiamare 'register' all'interno
** le funzioni sono chiamate con `Weechat.xxx(arg1, arg2, ...)`
* tcl:
** le funzioni sono chiamate con `weechat::xxx arg1 arg2 ...`
[[register_function]]
Registrare una funzione
~~~~~~~~~~~~~~~~~~~~~~~
Tutti gli script WeeChat devono "registrare" loro stessi in WeeChat, e questo
deve essere la prima funzione chiamata nello script di WeeChat.
Prototipo:
[source,python]
----------------------------------------
weechat.register(name, author, version, license, description, shutdown_function, charset)
----------------------------------------
Argomenti:
* 'name': stringa, nome interno dello script
* 'author': stringa, nome dell'autore
* 'version': stringa, versione dello script
* 'license': stringa, licenza dello script
* 'description': stringa, breve descrizione dello script
* 'shutdown_function': stringa, nome della funzione chiamata quando lo script
viene disattivato
* 'charset': stringa, set caratteri dello script (opzionale, se il proprio script è in UTF-8,
è possibile utilizzare un valore nullo qui, dato che UTF-8 è il set caratteri predefinito)
Esempio di script, per ogni linguaggio:
* perl:
[source,perl]
----------------------------------------
weechat::register("test_perl", "FlashCode", "1.0", "GPL3", "Test script", "", "");
weechat::print("", "Hello, from perl script!");
----------------------------------------
* python:
[source,python]
----------------------------------------
import weechat
weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Test script", "", "")
weechat.prnt("", "Hello, from python 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!"
----------------------------------------
[[load_script]]
Caricare uno script
~~~~~~~~~~~~~~~~~~~
Il comando da utilizzare, in base al linguaggio:
----------------------------------------
/perl load perl/script.pl
/python load python/script.py
/ruby load ruby/script.rb
/lua load lua/script.lua
/tcl load tcl/script.tcl
----------------------------------------
È possibile creare un link nella cartella 'linguaggio/autoload' per attivare
automaticamente gli script all'avvio di WeeChat.
Ad esempio con Python:
----------------------------------------
$ cd ~/.weechat/python/autoload
$ ln -s ../script.py
----------------------------------------
[[differences_with_c_api]]
Differenze con le API in C
--------------------------
Le API per gli script sono quasi identiche di quelle per i plugin C.
È possibile consultare '*' per i dettagli su ogni funzione nelle API:
prototipo, argomenti, valori restituiti, esempi.
È importante fare la differenza tra un 'plugin' ed uno 'script':
un plugin è un file binario compilato ed attivato con il comando
`plugin`, mentre uno 'script' è un file di testo caricato tramite
un plugin come 'python' con il comando `python`.
Quando il proprio script 'test.py' chiama una funzione delle API di
Weechat, il percorso è simile a questo:
........................................
(script API) (C API)
\/ \/
test.py -------> python plugin (python.so) -------> core di WeeChat
........................................
Quando WeeChat chiama una callback nel proprio script 'test.py', è
l'opposto del percorso precedente:
........................................
(C API) (script API)
\/ \/
WeeChat core -------> python plugin (python.so) -------> test.py
........................................
[[pointers]]
Puntatori
~~~~~~~~~
Come è già noto probabilmente, non esistono realmente i "puntatori"
negli script. Quando le funzioni API restituiscono un puntatore, viene
covertito in una stringa per lo script.
Ad esempio, se la funzione restituisce il puntatore 0x1234ab56, lo
script riceverà la stringa "0x1234ab56".
E quando una funzione API si aspetta un puntatore nell'argomento, lo script
deve fornire quel valore stringa. Il plugin C lo convertirà in un puntatore reale
prima di chiamare la funzione API in C.
Sono consentite stringhe vuote oppure "0x0", valgono come NULL in C.
Ad esempio, per stampare dei dati sul buffer core (il buffer principale di
WeeChat), è possibile fare questo:
[source,python]
----------------------------------------
weechat.prnt("", "hi!")
----------------------------------------
[WARNING]
In molte funzioni, per motivi legati alla velocità, WeeChat non verifica se
il puntatore è corretto oppure no. È il proprio lavoro controllare che si
stia fornendo un puntatore valido, altrimenti potrebbe comparire una
bella segnalazione per un errore ;)
[[callbacks]]
Callback
~~~~~~~~
Quasi tutte le callback di WeeChat devono restituire WEECHAT_RC_OK
oppure WEECHAT_RC_ERROR (l'eccezione è la callback modifier, che
restituisce una stringa).
Le callback in C utilizzano un argomento "data", che è un puntatore.
Nelle API per gli script, questo "data" è una stringa con un qualsiasi
valore (non è un puntatore).
Ad esempio:
[source,python]
----------------------------------------
weechat.hook_timer(1000, 0, 1, "my_timer_cb", "my data")
def my_timer_cb(data, remaining_calls):
# this will display: "my data"
weechat.prnt("", data)
return weechat.WEECHAT_RC_OK
----------------------------------------
[[script_api]]
Script API
----------
Per maggiori informazioni sulle funzioni nelle API,
consultare 'Referenze API per Plugin di WeeChat'.
[[script_api_functions]]
Funzioni
~~~~~~~~
Elenco di funzioni nelle API per gli script:
[width="100%",cols="^1,10",options="header"]
|========================================
| Categoria | Funzioni
| generale |
register
| plugin |
plugin_get_name
| stringhe |
charset_set, iconv_to_internal, iconv_from_internal, gettext, ngettext, +
string_match, string_has_highlight, string_mask_to_regex,
string_remove_color, string_is_command_char, string_input_for_buffer
| cartelle |
mkdir_home, mkdir, mkdir_parents
| liste ordinate |
list_new, list_add, list_search, list_casesearch, list_get, list_set,
list_next, list_prev, list_string, list_size, list_remove, list_remove_all,
list_free
| file di configurazione |
config_new, config_new_section, config_search_section, config_new_option,
config_search_option, +
config_string_to_boolean, config_option_reset, config_option_set,
config_option_set_null, config_option_unset, config_option_rename,
config_option_is_null, config_option_default_is_null, +
config_boolean, config_boolean_default, config_integer, config_integer_default,
config_string, config_string_default, config_color, config_color_default, +
config_write_option, config_write_line, config_write, config_read,
config_reload, +
config_option_free, config_section_free_options, config_section_free,
config_free, +
config_get, config_get_plugin, config_is_set_plugin, config_set_plugin,
config_unset_plugin
| visualizzazione |
prefix, color, print (for python: prnt), print_date_tags (for python:
prnt_date_tags), print_y (for python: prnt_y), log_print
| hook |
hook_command, hook_command_run, hook_timer, hook_fd, hook_process,
hook_connect, hook_print, hook_signal, hook_signal_send, hook_config,
hook_completion, hook_completion_list_add, hook_modifier, hook_modifier_exec,
hook_info, hook_infolist, unhook, unhook_all
| buffer |
buffer_new, current_buffer, buffer_search, buffer_search_main, buffer_clear,
buffer_close, buffer_merge, buffer_unmerge, buffer_get_integer,
buffer_get_string, buffer_get_pointer, buffer_set,
buffer_string_replace_local_var
| finestre |
current_window, window_get_integer, window_get_string, window_get_pointer,
window_set_title
| lista nick |
nicklist_add_group, nicklist_search_group, nicklist_add_nick,
nicklist_search_nick, nicklist_remove_group, nicklist_remove_nick,
nicklist_remove_all
| barre |
bar_item_search, bar_item_new, bar_item_update, bar_item_remove, bar_search,
bar_new, bar_set, bar_update, bar_remove
| comandi |
comando
| info |
info_get
| liste info |
infolist_new, infolist_new_item, infolist_new_var_integer,
infolist_new_var_string, infolist_new_var_pointer, infolist_new_var_time, +
infolist_get, infolist_next, infolist_prev, infolist_fields, infolist_integer,
infolist_string, infolist_pointer, infolist_time, infolist_free
| aggiornamento |
upgrade_new, upgrade_write_object, upgrade_read, upgrade_close
|========================================
[[script_api_constants]]
Costanti
~~~~~~~~
Elenco di costanti nelle API per gli script:
[width="100%",cols="^1,10",options="header"]
|========================================
| Categoria | Costanti
| codici restituiti |
WEECHAT_RC_OK, WEECHAT_RC_OK_EAT, WEECHAT_RC_ERROR
| file di configurazione |
WEECHAT_CONFIG_READ_OK, WEECHAT_CONFIG_READ_MEMORY_ERROR,
WEECHAT_CONFIG_READ_FILE_NOT_FOUND, WEECHAT_CONFIG_WRITE_OK,
WEECHAT_CONFIG_WRITE_ERROR, WEECHAT_CONFIG_WRITE_MEMORY_ERROR, +
WEECHAT_CONFIG_OPTION_SET_OK_CHANGED, WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE,
WEECHAT_CONFIG_OPTION_SET_ERROR, WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND,
WEECHAT_CONFIG_OPTION_UNSET_OK_NO_RESET, WEECHAT_CONFIG_OPTION_UNSET_OK_RESET,
WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED, WEECHAT_CONFIG_OPTION_UNSET_ERROR
| liste ordinate |
WEECHAT_LIST_POS_SORT, WEECHAT_LIST_POS_BEGINNING, WEECHAT_LIST_POS_END
| hotlist |
WEECHAT_HOTLIST_LOW, WEECHAT_HOTLIST_MESSAGE, WEECHAT_HOTLIST_PRIVATE,
WEECHAT_HOTLIST_HIGHLIGHT
| hook su processo |
WEECHAT_HOOK_PROCESS_RUNNING, WEECHAT_HOOK_PROCESS_ERROR
| hook su connessione |
WEECHAT_HOOK_CONNECT_OK, WEECHAT_HOOK_CONNECT_ADDRESS_NOT_FOUND,
WEECHAT_HOOK_CONNECT_IP_ADDRESS_NOT_FOUND, WEECHAT_HOOK_CONNECT_CONNECTION_REFUSED,
WEECHAT_HOOK_CONNECT_PROXY_ERROR, WEECHAT_HOOK_CONNECT_LOCAL_HOSTNAME_ERROR,
WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR, WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR,
WEECHAT_HOOK_CONNECT_MEMORY_ERROR
| hook su segnale |
WEECHAT_HOOK_SIGNAL_STRING, WEECHAT_HOOK_SIGNAL_INT, WEECHAT_HOOK_SIGNAL_POINTER
|========================================
[[common_tasks]]
Compiti comuni
--------------
Questo capitolo spiega alcuni compiti comuni, con degli esempi.
Verranno utilizzati soltanto degli elementi parziali contenuti
nelle API, per un riferimento completo consultare
'Referenze API per Plugin di WeeChat'.
[[buffers]]
Buffer
~~~~~~
[[buffers_display_messages]]
Visualizzare messaggi
^^^^^^^^^^^^^^^^^^^^^
Una stringa vuota è utilizzata spesso per lavorare con il buffer core di
WeeChat. Per gli altri buffer, è necessario fornire un puntatore (come
stringa, consultare <<pointers,pointers>>).
Esempi:
[source,python]
----------------------------------------
# display "hello" on core buffer
weechat.prnt("", "hello")
# visualizza il prefisso "==>" ed il messaggio "hello" sul buffer corrente
# (prefisso e messaggio vanno separati da una tabulazione)
weechat.prnt(weechat.current_buffer(), "==>\thello")
# visualizza un messaggio di errore sul buffer core (con il prefisso di errore)
weechat.prnt("", "%swrong arguments" % weechat.prefix("error"))
# visualizza messaggio con il colore sul buffer core
weechat.prnt("", "text %syellow on blue" % weechat.color("yellow,blue"))
# cerca buffer e visualizza messaggiosearch buffer and display message
# (il nome completo del buffer è plugin.nome, ad esempio: "irc.freenode.#weechat")
buffer = weechat.buffer_search("irc", "freenode.#weechat")
weechat.prnt(buffer, "message on #weechat channel")
# altra soluzione per cercare un buffer IRC (migliore)
# (nota: server e canale sono separati da virgola)
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.prnt(buffer, "message on #weechat channel")
----------------------------------------
[NOTE]
La funzione print si chiama `print` in Perl/Ruby/Lua/Tcl e `prnt` in Python.
[[buffers_send_text]]
Invia testo al buffer
^^^^^^^^^^^^^^^^^^^^^
È possibile inviare del testo o un comando ad un buffer. È esattamente come
se si digitasse del testo o un comando, seguiti da [Enter].
Esempi:
[source,python]
----------------------------------------
# esegue il comando "/help" sul buffer core
weechat.command("", "/help")
# invia "hello" sul canale IRC #weechat (gli utenti sul canale vedranno il messaggio)
buffer = weechat.info_get("irc_buffer", "freenode,#weechat")
weechat.command(buffer, "hello")
----------------------------------------
[[buffers_new]]
Creare un nuovo buffer
^^^^^^^^^^^^^^^^^^^^^^
È possibile creare un nuovo buffer nel proprio script, per poi utilizzarlo per
visualizzare i messaggi.
Possono essere chiamate due callback (sono opzionali): una per i dati in
input (quando viene digitato del testo e premuto [Enter] sul buffer), l'altra
quando il buffer viene chiuso (ad esempio con `/buffer close`).
Esempio:
[source,python]
----------------------------------------
# callback per i dati ricevuti in input
def buffer_input_cb(data, buffer, input_data):
# ...
return weechat.WEECHAT_RC_OK
# callback chiamata alla chiusura del buffer
def buffer_close_cb(data, buffer):
# ...
return weechat.WEECHAT_RC_OK
# crea un buffer
buffer = weechat.buffer_new("mybuffer", "buffer_input_cb", "", "buffer_close_cb", "")
# imposta titolo
weechat.buffer_set(buffer, "title", "Questo titolo è per il mio buffer.")
# disabilita il logging, impostando la variabile locale "no_log" ad "1"
weechat.buffer_set(buffer, "localvar_set_no_log", "1")
----------------------------------------
[[buffers_properties]]
Proprietà dei buffer
^^^^^^^^^^^^^^^^^^^^
Si possono leggere le proprietà del buffer, come stringa, intero o puntatore.
Esempi:
[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")
----------------------------------------
È possibile aggiungere, leggere o eliminare le variabili locali nel buffer:
[source,python]
----------------------------------------
# aggiunge la variabile locale
weechat.buffer_set(buffer, "localvar_set_myvar", "my_value")
# legge la variabile locale
myvar = weechat.buffer_get_string(buffer, "localvar_myvar")
# elimina la variabile locale
weechat.buffer_set(buffer, "localvar_del_myvar", "")
----------------------------------------
Per impostare le variabili locali di un buffer, digitare questo comando
in WeeChat:
----------------------------------------
/buffer localvar
----------------------------------------
[[hooks]]
Hook
~~~~
[[hook_command]]
Aggiungere un nuovo comando
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Aggiunge un comando personalizzato con `hook_command`. Si può fare uso di
un template di completamento personalizzato per completare gli argomenti
del proprio comando.
Esempio:
[source,python]
----------------------------------------
def my_command_cb(data, buffer, args):
# ...
return weechat.WEECHAT_RC_OK
hook = weechat.hook_command("myfilter", "descrizione di myfilter",
"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags regex] | [del name|-all]",
"descrizione degli argomenti...",
"list"
" || enable %(filters_names)"
" || disable %(filters_names)"
" || toggle %(filters_names)"
" || add %(filters_names) %(buffers_plugins_names)|*"
" || del %(filters_names)|-all",
"my_command_cb", "")
----------------------------------------
E poi in WeeChat:
----------------------------------------
/help myfilter
/myfilter arguments...
----------------------------------------
[[hook_timer]]
Aggiungere un timer
^^^^^^^^^^^^^^^^^^^
Aggiungere un timer con `hook_timer`.
Esempio:
[source,python]
----------------------------------------
def timer_cb(data, remaining_calls):
# ...
return weechat.WEECHAT_RC_OK
# timer chiamato ogni minuto quandi i secondi sono 00
weechat.hook_timer(60 * 1000, 60, 0, "timer_cb", "")
----------------------------------------
[[hook_process]]
Eseguire un processo in background
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
È possibile eseguire un processo in background con `hook_process`. La
callback verrà chiamata quando i dati sono pronti. Può essere chiamata
più volte.
Per l'ultima chiamata alla callback, 'rc' è impostato a zero o su un
valore positivo, è il codice restituito dal comando.
Esempio:
[source,python]
----------------------------------------
# Visualizza le versioni dei kernel di Linux.
kernel_txt = ""
def kernel_process_cb(data, command, rc, stdout, stderr):
""" Callback reading command output. """
global kernel_txt
if stdout != "":
kernel_txt += stdout
if int(rc) >= 0:
weechat.prnt("", kernel_txt)
return weechat.WEECHAT_RC_OK
weechat.hook_process("python -c \"import urllib; " \
"print urllib.urlopen('http://www.kernel.org/kdist/finger_banner').read()\"",
10 * 1000, "kernel_process_cb", "")
----------------------------------------
[[config_options]]
Configurazione / opzioni
~~~~~~~~~~~~~~~~~~~~~~~~
[[config_options_set_script]]
Impostare l'opzione per lo script
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
La funzione `config_is_set_plugin` viene utilizzare per verificare se un'opzione
è impostata oppure no, e `config_set_plugin` per impostare l'opzione.
Esempio:
[source,python]
----------------------------------------
script_options = {
"option1" : "value1",
"option2" : "value2",
"option3" : "value3",
}
for option, default_value in script_options.iteritems():
if not weechat.config_is_set_plugin(option):
weechat.config_set_plugin(option, default_value)
----------------------------------------
[[config_options_detect_changes]]
Rilevare le modifiche
^^^^^^^^^^^^^^^^^^^^^
È necessario utilizzare `hook_config` per essere notificati se l'utente dovesse
modificare alcune opzioni dello script.
Esempio:
[source,python]
----------------------------------------
SCRIPT_NAME = "myscript"
# ...
def config_cb(data, option, value):
""" Callback called when a script option is changed. """
# for example, read all script options to script variables...
# ...
return weechat.WEECHAT_RC_OK
# ...
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]]
Leggere le opzioni di WeeChat
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
La funzione `config_get` restituisce il puntatore all'opzione. Poi, in base al tipo
di opzione, è necessario chiamare `config_string`, `config_boolean`,
`config_integer` oppure `config_color`.
[source,python]
----------------------------------------
# stringa
weechat.prnt("", "value of option weechat.look.item_time_format is: %s"
% (weechat.config_string(weechat.config_get("weechat.look.item_time_format"))))
# bool
weechat.prnt("", "value of option weechat.look.day_change is: %d"
% (weechat.config_boolean(weechat.config_get("weechat.look.day_change"))))
# intero
weechat.prnt("", "value of option weechat.look.scroll_page_percent is: %d"
% (weechat.config_integer(weechat.config_get("weechat.look.scroll_page_percent"))))
# colore
weechat.prnt("", "value of option weechat.color.chat_delimiters is: %s"
% (weechat.config_color(weechat.config_get("weechat.color.chat_delimiters"))))
----------------------------------------
[[irc]]
IRC
~~~
[[irc_catch_messages]]
Catturare messaggi
^^^^^^^^^^^^^^^^^^
Il plugin IRC invia due segnali per un messaggio ricevuto (`xxx` è il nome
interno del server IRC, `yyy` è il nome del comando IRC come JOIN, QUIT,
PRIVMSG, 301, ..):
xxxx,irc_in_yyy::
segnale inviato prima di esaminare il messaggio
xxx,irc_in2_yyy::
segnale inviato dopo aver esaminato il messaggio
[source,python]
----------------------------------------
def join_cb(data, signal, signal_data):
# signal è per esempio: "freenode,irc_in2_join"
# signal_data è il messaggio IRC message, ad esempio: ":nick!user@host JOIN :#channel"
nick = weechat.info_get("irc_nick_from_host", signal_data)
server = signal.split(",")[0]
channel = signal_data.split(":")[-1]
buffer = weechat.info_get("irc_buffer", "%s,%s" % (server, channel))
if buffer:
weechat.prnt(buffer, "Eheh, %s has joined this channel!" % nick)
return weechat.WEECHAT_RC_OK
# può essere utile qui utilizzare "*" come server, per catturare
# i messaggi JOIN su tutti i server IRC
weechat.hook_signal("*,irc_in2_join", "join_cb", "")
----------------------------------------
[[infos]]
Info
~~~~
[[infos_weechat_version]]
Versione di WeeChat
^^^^^^^^^^^^^^^^^^^
Il modo migliore per verificare la versione è richiedere "version_number" e
comparare l'intero con il numero di versione esadecimale.
Esempio:
[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]
Le versioni < = 0.3.1.1 restituiscono una stringa vuota per
'info_get("version_number")', per cui bisogna verificare che
il valore restituito *non* sia vuoto.
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]]
Altre informazioni
^^^^^^^^^^^^^^^^^^
[source,python]
----------------------------------------
# la cartella home di WeeChat, ad esempio: "/home/xxxx/.weechat"
weechat.prnt("", "WeeChat home dir: %s" % weechat.info_get("weechat_dir", ""))
# inattività della tastiera
weechat.prnt("", "Inactivity since %s seconds" % weechat.info_get("inactivity", ""))
----------------------------------------
[[infolists]]
Liste info
~~~~~~~~~~
[[infolists_read]]
Leggere una lista info
^^^^^^^^^^^^^^^^^^^^^^
È possibile leggere una lista info compilata da WeeChat
o da altri plugin.
Esempio:
[source,python]
----------------------------------------
# legge la lista info "buffer", per ottenere la lista dei buffer
infolist = weechat.infolist_get("buffer", "", "")
if infolist:
while weechat.infolist_next(infolist):
name = weechat.infolist_string(infolist, "name")
weechat.prnt("", "buffer: %s" % name)
weechat.infolist_free(infolist)
----------------------------------------
[IMPORTANT]
Non dimenticare di chiamare `infolist_free` per liberare la memoria
utilizzata dalla lista info, perché WeeChat non libererà automaticamente
la memoria.
+283 -41
View File
@@ -61,10 +61,14 @@ Pacchetti binari
I pacchetti binari sono disponibili per molte distribuzioni, incluse:
* Debian (o qualsiasi distribuzione compatibile): `apt-get install weechat`
* Debian (o qualsiasi distribuzione compatibile):
`apt-get install weechat-curses`
* Mandriva/RedHat (o qualsiasi distribuzione compatibile con gli RPM):
`rpm -i /percorso/per/weechat-x.y.z-1.i386.rpm`
* Gentoo: `emerge weechat`
* Arch Linux: `pacman -S weechat`
* Fedora Core: `yum install weechat`
* Sourcemage: `cast weechat`
Potrebbero risultare utili alcuni pacchetti addizionali, come
weechat-plugins.
@@ -79,9 +83,39 @@ Sorgenti
WeeChat può essere compilato con cmake oppure autotools
(tuttavia si raccomanda cmake).
[[dependencies]]
Dipendenze
^^^^^^^^^^
La seguente tabella mostra l'elenco di pacchetti richiesti o opzionali per
compilare WeeChat.
[width="80%",cols="4,^2,13",options="header"]
|========================================
| Pacchetto ^(1)^ | Richiesto | Caratteristica
| cmake | *sì* | compilazione (ancora possibile con autotools, ma si raccomanda cmake)
| libncursesw5-dev ^(2)^ | *sì* | interfaccia ncurses
| libgcrypt11-dev | no | autenticazione SASL per i server IRC che utilizzano il meccanismo DH-BLOWFISH
| libgnutls-dev | no | connessione SSL al server IRC
| libaspell-dev | no | plugin aspell
| libperl-dev | no | plugin perl
| python-dev | no | plugin python
| ruby1.8-dev | no | plugin ruby
| liblua5.1-0-dev | no | plugin lua
| tcl-dev | no | plugin tcl
| asciidoc (>= 8.2) | no | compilazione della documentazione (file HTML)
| source-highlight | no | evidenziazione della sintassi per i sorgenti nella documentazione HTML
|========================================
[NOTE]
^(1)^ Il nome viene dalla distribuzione Debian GNU/Linux, nomi e versioni dei pacchetti
potrebbero essere differenti in versioni e distribuzioni differenti. +
^(2)^ WeeChat può essere compilato con libncurses5-dev, ma *NON* è raccomandato
(potrebbero verificarsi bug di visualizzazione).
[[compile_with_cmake]]
Con cmake
^^^^^^^^^
Compilazione con cmake
^^^^^^^^^^^^^^^^^^^^^^
* Installazione nelle cartelle di sistema (richiede privilegi di 'root'):
@@ -104,8 +138,8 @@ $ make install
----------------------------------------
[[compile_with_autotools]]
Con autotools
^^^^^^^^^^^^^
Compilazione con autotools
^^^^^^^^^^^^^^^^^^^^^^^^^^
* Installazione nelle cartelle di sistema (richiede privilegi di 'root'):
@@ -142,7 +176,99 @@ Se si usano gli autotools (e non cmake), eseguire questo script:
$ ./autogen.sh
----------------------------------------
Poi seguire le istruzioni per i sorgenti (consultare <<source_package>>).
Poi seguire le istruzioni per i sorgenti (consultare
<<source_package,sorgenti>>).
[[report_crashes]]
Segnalare gli errori
~~~~~~~~~~~~~~~~~~~~
Nel caso in cui si verifichino errori, o si desideri segnalare qualsiasi errore futuro
di WeeChat, è necessario:
* compilarlo con informazioni di debug (o installare il pacchetto binario con
le informazioni di debug)
* abilitare i file 'core' sul proprio sistema
* installare gdb
[[debug_info]]
Informazioni di debug
^^^^^^^^^^^^^^^^^^^^^
Se si compila con cmake:
----------------------------------------
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
----------------------------------------
Se si compila con gli autotools, il debug è predefinito (`--with-debug=1`).
Se è stato installato il pacchetto binario, installare il pacchetto 'weechat-gdb'.
[[core_files]]
File core
^^^^^^^^^
Per abilitare i file 'core', è necessario usare il comando `ulimit`.
Ad esempio su Linux con la shell 'bash', aggiungere questa riga al proprio
`~/.bashrc`:
----------------------------------------
ulimit -c unlimited
----------------------------------------
Oppure impostare una dimensione massima:
----------------------------------------
ulimit -c 200000
----------------------------------------
[[gdb_backtrace]]
Ottenere un backtrace con gdb
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In caso di errore di WeeChat, il sistema creerà un file 'core' oppure 'core.12345'
('12345' è l'id del processo).
Questo file viene creato nella cartella in cui è in esecuzione WeeChat (e
*non* la cartella dove WeeChat è installato!).
Ad esempio, se 'weechat-curses' è installato in '/usr/bin/' ed il file 'core'
si trova in '/home/xxx/', allora eseguire gdb con questo comando:
----------------------------------------
gdb /usr/bin/weechat-curses /home/xxx/core
----------------------------------------
All'interno di gdb, usare il comando `bt` per visualizzare
il backtrace. Verrà mostrato qualcosa di simile a questo:
----------------------------------------
(gdb) bt
#0 0xffffe424 in __kernel_vsyscall ()
#1 0xb76208e0 in raise () from /lib/i686/cmov/libc.so.6
#2 0xb7623e15 in abort () from /lib/i686/cmov/libc.so.6
#3 0x08083940 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:357
#4 0x08098aaa in debug_sigsegv () at /some_path/src/core/wee-debug.c:155
#5 <signal handler called>
#6 0xb7656681 in vsnprintf () from /lib/i686/cmov/libc.so.6
#7 0xb763dd22 in snprintf () from /lib/i686/cmov/libc.so.6
#8 0xb7258674 in irc_protocol_cmd_join (server=0x8165138, command=0xb727c187 "join", argc=3, argv=0x889e840, argv_eol=0x889e858)
at /some_path/src/plugins/irc/irc-protocol.c:520
#9 0xb7265c6e in irc_protocol_recv_command (server=0x8165138, entire_line=0x889e7e0 ":nick!nick@127.0.0.1 JOIN :#test",
command=0x889d080 "JOIN") at /some_path/src/plugins/irc/irc-protocol.c:4077
#10 0xb726a2c6 in irc_server_msgq_flush () at /some_path/src/plugins/irc/irc-server.c:1614
#11 0xb726a4da in irc_server_recv_cb (data=0x8165138, fd=8) at /some_path/src/plugins/irc/irc-server.c:1691
#12 0x0809a797 in hook_fd_exec (read_fds=0xbfcf8074, write_fds=0xbfcf7ff4, exception_fds=0xbfcf7f74)
at /some_path/src/core/wee-hook.c:1133
#13 0x08060af0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:330
#14 0x08083b10 in main (argc=3, argv=0xbfcf81d4) at /some_path/src/core/weechat.c:419
----------------------------------------
Bisogna riportare l'errore agli sviluppatori, e specificare quale azione ha causato
l'errore.
Grazie per il vostro aiuto!
[[usage]]
@@ -175,6 +301,9 @@ Argomenti a riga di comando:
-p, --no-plugin::
Disabilita il caricamento automatico dei plugin
-s, --no-script::
Disabilita il caricamento automatico dei script
-v, --version::
Visualizza la versione di WeeChat
@@ -193,7 +322,7 @@ predefinito. Il file di configurazione viene creato nella cartella:
È possibile modificare questo file per configurare WeeChat a seconda delle
proprie esigenze, oppure impostando i parametri con il comando `/set`
all'interno di WeeChat (consultare <<weechat_commands>>).
all'interno di WeeChat (consultare <<weechat_commands,comandi di WeeChat>>).
[[screen_layout]]
Layout dello schermo
@@ -243,7 +372,7 @@ Lo schermo è composto dalle seguenti aree:
La barra 'stato' ha i seguenti elementi predefiniti:
[width="100%",cols="^3,^3l,10",options="header"]
|=======================================
|========================================
| Elemento | Esempio | Descrizione
| time | [12:55] |
@@ -282,12 +411,12 @@ La barra 'stato' ha i seguenti elementi predefiniti:
| scroll | -ANCORA(50)- |
indicatore di scorrimento, con il numero di righe sotto l'ultima
riga visualizzata
|=======================================
|========================================
La barra 'input' ha i seguenti elementi predefiniti:
[width="100%",cols="^3,^6l,8",options="header"]
|=======================================
|========================================
| Elemento | Esempio | Descrizione
| input_paste | [Incollare 7 righe ? [ctrl-Y] Sì [ctrl-N] No] |
@@ -304,7 +433,7 @@ La barra 'input' ha i seguenti elementi predefiniti:
| input_text | bla bla... |
testo in input
|=======================================
|========================================
[[key_bindings]]
Associazione tasti predefinita
@@ -315,7 +444,7 @@ Tasti per la riga di comando
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[width="100%",cols="^.^4,.^15",options="header"]
|=======================================
|========================================
| Tasti | Descrizione e comando
| Freccia sinistra +
@@ -458,14 +587,14 @@ Tasti per la riga di comando
| Alt + R |
Elimina l'intera riga di comando +
`/input delete_line`
|=======================================
|========================================
[[key_bindings_buffers_windows]]
Tasti per buffer / finestre
^^^^^^^^^^^^^^^^^^^^^^^^^^^
[width="100%",cols="^.^4,.^15",options="header"]
|=======================================
|========================================
| Tasti | Descrizione e comando
| Ctrl + L |
@@ -606,14 +735,14 @@ Tasti per buffer / finestre
| Alt + > |
Passa al buffer successivo nella lista dei buffer visitati +
`/input jump_next_visited_buffer`
|=======================================
|========================================
[[key_bindings_other]]
Altri tasti
^^^^^^^^^^^
[width="100%",cols="^.^4,.^15",options="header"]
|=======================================
|========================================
| Tasti | Descrizione e comando
| Alt + H |
@@ -623,7 +752,7 @@ Altri tasti
| Alt + = |
Attiva/disattiva filtri +
`/filter toggle` +
|=======================================
|========================================
[[command_line]]
Riga di comando
@@ -689,26 +818,27 @@ opzionale):
Lo stesso codice (senza numero per ^Cc) può essere usato per
terminare l'attributo.
I codici colore per ^Cc sono:
I codici colore per ^Cc sono:
[width="20%",cols="^1m,2"]
[width="35%",cols="^1m,3,3",options="header"]
|=======================================
| 00 | bianco
| 01 | nero
| 02 | blu scuro
| 03 | verde scuro
| 04 | rosso chiaro
| 05 | rosso scuro
| 06 | rosa scuro
| 07 | arancione
| 08 | giallo
| 09 | verde chiaro
| 10 | azzurro scuro
| 11 | azzurro chiaro
| 12 | blu chiaro
| 13 | rosa chiaro
| 14 | grigio
| 15 | grigio chiaro (bianco)
| Codice | IRC | WeeChat (curses)
| 00 | bianco | white
| 01 | nero | black
| 02 | blu scuro | blue
| 03 | verde scuro | green
| 04 | rosso chiaro | lightred
| 05 | rosso scuro | red
| 06 | rosa scuro | magenta
| 07 | arancione | brown
| 08 | giallo | yellow
| 09 | verde chiaro | lightgreen
| 10 | azzurro scuro | cyan
| 11 | azzurro chiaro | lightcyan
| 12 | blu chiaro | lightblue
| 13 | rosa chiaro | lightmagenta
| 14 | grigio | default
| 15 | grigio chiaro | white
|=======================================
Esempio: visualizza "ciao a tutti!" con "ciao" scritto in blu chiaro grassetto
@@ -724,10 +854,12 @@ Opzioni di WeeChat (weechat.conf)
include::autogen/user/weechat_options.txt[]
I colori per l'interfaccia Curses sono:
[[curses_colors]]
I colori per l'interfaccia Curses
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[width="50%",cols="^3m,8"]
|=======================================
|========================================
| default | colore predefinito del terminale (trasparente per lo sfondo)
| black | nero
| darkgray | grigio scuro
@@ -792,7 +924,7 @@ Esempi per attivare, disattivare oppure elencare i plugin:
I plugin predefiniti sono:
[width="50%",cols=">1s,5",options="header"]
[width="50%",cols="^1,5",options="header"]
|=======================================
| Plugin | Descrizione
| alias | Definisce gli alias per i comandi
@@ -1020,7 +1152,7 @@ Plugin IRC
Il plugin IRC è realizzato per chattare tramite protocollo IRC con altre persone.
È multi-server, ed offre tutti i comandi IRC supportati inclusi la chat DCC ed il
trasferimento file (tramite plugin xfer, consultare <<xfer_plugin>>).
trasferimento file (tramite plugin xfer, consultare <<xfer_plugin,plugin Xfer>>).
[[irc_command_line_options]]
Opzioni a riga di comando
@@ -1051,6 +1183,115 @@ Comandi
include::autogen/user/irc_commands.txt[]
[[irc_ssl_certificates]]
Certificati SSL
^^^^^^^^^^^^^^^
Al momento della connessione al server IRC con SSL, WeeChat verifica in
maniera predefinita che la connessione sia completamente fidata.
Esistono alcune opzioni per controllare la connessione SSL:
weechat.network.gnutls_ca_file::
percorso del file con il certificato delle autorità (predefinito: "%h/ssl/CAs.pem")
irc.server.xxx.ssl_cert::
file del certificato SSL usato per identificare automaticamente il proprio
nick ad esempio CertFP su oftc (a seguire)
irc.server.xxx.ssl_dhkey_size::
dimensione della chiave usata durante lo Scambio Chiavi Diffie-Hellman
(predefinita; 2048)
irc.server.xxx.ssl_verify::
verifica che la connessione SSL sia totalmente fidata (opzione attivata
in maniera predefinita)
[NOTE]
L'opzione "ssl_verify" è attivata per default, in questo modo la verifica è rigorosa
e potrebbe fallire, anche se funziona senza problemi con versioni precedenti
la 0.3.1.
[[irc_connect_oftc_with_certificate]]
Primo esempio: connessione a otfc e verifica del certificato
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* Importare certificati nella shell:
----------------------------------------
$ mkdir ~/.weechat/ssl
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/secretary/spi-cacert.crt
----------------------------------------
Nota: è possibile concatenare più certificati nel file CAs.pem.
* In WeeChat, con il server "otfc" già creato:
----------------------------------------
/connect oftc
----------------------------------------
[[irc_connect_oftc_with_certfp]]
Secondo esempio: connessione a otfc con CertFP
++++++++++++++++++++++++++++++++++++++++++++++
* Creare un certificato nella shell:
----------------------------------------
$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
$ cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
----------------------------------------
* In WeeChat, con il server "otfc" già creato:
----------------------------------------
/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
/connect oftc
/msg nickserv cert add
----------------------------------------
Per maggiori informazioni consultare http://www.oftc.net/oftc/NickServ/CertFP
[[irc_smart_filter_join_part_quit]]
Filtro smart per i messaggi di entrata/uscita/disconnessione
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Un filtro smart è disponibile per filtrare i messaggi di
entrata/uscita/disconnessione quando il nick non ha detto nulla durante
gli ultimi X minuti sul canale
Il filtro smart è abilitato per default, ma è necessario aggiungere un filtro
per nascondere le righe sul buffer, per esempio:
----------------------------------------
/filter add irc_smart * irc_smart_filter *
----------------------------------------
È possibile creare il filtro solo per un canale o per i canali che iniziano con
lo stesso nome (consultare `/help filter`):
----------------------------------------
/filter add irc_smart_weechat irc.freenode.#weechat irc_smart_filter *
/filter add irc_smart_weechats irc.freenode.#weechat* irc_smart_filter *
----------------------------------------
È possibile nascondere solo i messaggi di entrata o di
uscita/disconnessione con le seguenti opzioni:
----------------------------------------
/set irc.look.smart_filter_join on
/set irc.look.smart_filter_quit on
----------------------------------------
È possibile impostare un ritardo (in minuti):
----------------------------------------
/set irc.look.smart_filter_delay 5
----------------------------------------
Se un nick non ha parlato durante gli ultimi 5 minuti, i suoi ingressi e/o
uscite/disconnessioni verranno nascosti sul canale.
[[irc_ctcp_replies]]
Risposte CTCP
^^^^^^^^^^^^^
@@ -1159,6 +1400,7 @@ personalizzare:
| wallops | | wallops
| 221 | | stringa modalità utente
| 275 | whois | whois (connessione sicura)
| 301 | whois | whois (assente)
| 303 | | ison
| 305 | unaway | presente
| 306 | away | assente
@@ -1373,10 +1615,10 @@ Comandi Tcl
include::autogen/user/tcl_commands.txt[]
[[xfer_plugin]]
Plugin xfer
Plugin Xfer
~~~~~~~~~~~
Il plugin xfer fornisce:
Il plugin Xfer fornisce:
* chat diretta (tra due host, senza server): per esempio "DCC Chat"
tramite plugin IRC
+1 -1
View File
@@ -17,7 +17,7 @@
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
weechat_quickstart.ja.txt
weechat_quickstart.ja.txt
all-local: weechat_quickstart.ja.html
+3 -3
View File
@@ -17,9 +17,9 @@
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
weechat_faq.pl.txt \
weechat_quickstart.pl.txt \
weechat_tester.pl.txt
weechat_faq.pl.txt \
weechat_quickstart.pl.txt \
weechat_tester.pl.txt
all-local: weechat_faq.pl.html \
weechat_quickstart.pl.html \
+198 -98
View File
@@ -3,6 +3,7 @@ WeeChat FAQ (Często zadawane pytania)
FlashCode <flashcode@flashtux.org>
[[general]]
Ogólne
------
@@ -34,6 +35,7 @@ Niektóre cechy (wersja > = 0.3.x):
Więcej informacji na stronie: http://www.weechat.org/features
[[compilation_install]]
Kompilacja / instalacja
-----------------------
@@ -63,10 +65,6 @@ git. Ten pakiet może odpowiadać dokładnie wersji z gita i jest mniej wygodny
przy aktualizowaniu jak klonowanie z gita.
Używanie WeeChat
----------------
[[lost]]
Uruchomiłem WeeChat, ale czuję się zagubiony, co robić?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -78,18 +76,9 @@ Nowym użytkowniką zaleca się przeczytanie quickstart (szybki start)
(zobacz stronę z dokumentacją na stronie www).
[[buffer_vs_window]]
Słyszałem o "buforach" i "oknach", jaka jest między nimi różnica?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'bufor' jest określany przez numer, nazwę, wyświetlane linie (i trochę innych
danych).
'okno' jest to obszar ekranu wyświetlający bufor. Możliwe jest podzielenie
ekranu na wiele okien.
Każde okno wyświetla jeden bufor. Bufor może być ukryty (nie wyświetlany przez
okno) lub wyświetlany w jednym lub więcej oknach.
[[display]]
Wyświetlanie
------------
[[charset]]
@@ -103,8 +92,8 @@ Dla wersji < 0.2.3, zaleca się uaktualnienie do najnowszej stabilnej wersji.
Dla wersji > = 0.2.3:
* sprawdź czy weechat-curses jest zlinkowany z libncursesw (uwaga: wymagane na
więkrzości dystrybucji ale nie wszystkich): `ldd /path/to/weechat-curses`
* sprawdź czy wtyczka "Charset" jest załadowana za pomocą komendy `/plugin`
więkrzości dystrybucji ale nie wszystkich): `ldd /ścieżka/do/weechat-curses`
* sprawdź czy wtyczka "Charset" jest załadowana za pomocą komendy `/plugin`
(jeśli nie jest, to najprawdopodbniej potrzebujesz pakietu "weechat-plugins")
* sprawdź ustawienia kodowania (w buforze serwera). Powinieneś ujrzeć 'ISO-XXXXXX'
lub 'UTF-8' dla kodowania terminala. Jeśli zobaczysz 'ANSI_X3.4-1968' lub inna
@@ -113,7 +102,7 @@ Dla wersji > = 0.2.3:
** w WeeChat < = 0.2.6: `/setp charset.global.decode = ISO-8859-2`
** w WeeChat > = 0.3.x: `/set charset.default.decode "ISO-8859-2"`
* jeśli kożystasz z UTF-8:
** sprawdź czy twój terminal jest przystosowany dla UTF-8 (zalecanym terminalem
** sprawdź czy twój terminal jest przystosowany dla UTF-8 (zalecanym terminalem
dla UTF-8 jest rxvt-unicode)
** jeśli kożystasz ze screena, sprawdź czy jest uruchomiony z trybem UTF-8
("`defutf8 on`" w ~/.screenrc lub `screen -U` uruchamiając screena)
@@ -153,60 +142,18 @@ który działa dobrze (jak wiele innych wartości).
W razie potrzeby, popraw zmienna TERM: `export TERM="xxx"`.
[[key_bindings]]
Jak mogę zmienić przypisania klawiszy?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[buffer_vs_window]]
Słyszałem o "buforach" i "oknach", jaka jest między nimi różnica?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Przypisania klawiszy mozna dostosować za pomocą komendy /key.
'bufor' jest określany przez numer, nazwę, wyświetlane linie (i trochę innych
danych).
Domyślnie Meta-k (zazwyczaj Alt-k) pozwala pobrać kod klawiszy i umieścić
go w wierszu poleceń.
'okno' jest to obszar ekranu wyświetlający bufor. Możliwe jest podzielenie
ekranu na wiele okien.
[[openbsd_plugins]]
Używam OpenBSD, WeeChat nie ładuje żadnych pluginów, co jest nie tak?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pod OpenBSD, nazwy wtyczek kończą się ".so.0.0" (".so" dla Linuksa).
Musisz ustawić:
* dla WeeChat < = 0.2.6: +
`/set plugins_extension = ".so.0.0"`
* dla WeeChat > = 0.3.x: +
`/set weechat.plugin.extension ".so.0.0"`
Następnie: `/plugin autoload`.
[[scripts]]
Jak załadować skrypty Perl/Python/Ruby/Lua/Tcl? Czy skrypty są kompatybilne z innymi klientami IRC?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Możesz użyć komend `/perl`, `/python`, `/ruby`, `/lua` oraz `/tcl`, aby załadować
skrypt (domyślna lokalizacja skryptów to '~/.weechat/<język>/').
Skrypty nie są kompatybilne z innymi klientami IRC.
Uwagi:
* skrypty w '~/.weechat/<język>/autoload/' są automatycznie ładowane przy
uruchomieniu WeeChat.
* wtyczka 'tcl' jest dostępna dla wersji > = 0.3.x.
[[change_locale_without_quit]]
Chcę zmienić język komunikatów wyświetlanych przez WeeChat, ale bez jego zamykania, czy jest to możliwe?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tak, musisz użyć pythonowego skryptu shell.py (dostępny na stronie programu),
oraz użyć tych komend po załadowaniu skryptu:
/shell setenv LANG=pl_PL.UTF-8
/upgrade
Aby otrzymać polskie komunikaty dla kodowania UTF-8 w terminalu, osóby
używające ISO, moga wykonać: `/shell setenv LANG=pl_PL`.
Każde okno wyświetla jeden bufor. Bufor może być ukryty (nie wyświetlany przez
okno) lub wyświetlany w jednym lub więcej oknach.
[[terminal_copy_paste]]
@@ -248,23 +195,75 @@ shortenurl.py::
Lista skryptów do obsługi adresów URL: http://www.weechat.org/scripts/stable/tag/url
[[highlight_notification]]
Jak mogę zostać powiadomiony, jeśli ktoś będzię chciał przyciągnąć moją uwagę na kanale?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[change_locale_without_quit]]
Chcę zmienić język komunikatów wyświetlanych przez WeeChat, ale bez jego zamykania, czy jest to możliwe?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
W zależnośći od wersji WeeChat:
Tak, musisz użyć pythonowego skryptu shell.py (dostępny na stronie programu),
oraz użyć tych komend po załadowaniu skryptu:
* dla WeeChat < = 0.2.6: użyj skryptu 'sound.pl' (dostępny na stronie ze
skryptami), następnie ustawienie komendy systemowej (do odtworzenia dźwięku,
wyświetlenia wiadomości, ..) za pomocą komendy: +
`/setp perl.sound.cmd_highlight = "/ścieżka/do/komendy argumenty"`
* dla WeeChat > = 0.3.x: użyj skryptu 'launcher.pl' (dostępny na stronie ze
skryptami), następnie ustawienie komendy systemowej (do odtworzenia dźwięku,
wyświetlenia wiadomości, ..) za pomocą komendy: +
`/set plugins.var.perl.launcher.signal.weechat_highlight "/ścieżka/do/komendy argumenty"`
/shell setenv LANG=pl_PL.UTF-8
/upgrade
Istnieje wiele innych skryptów do powiadomień, zajrzyj na stronę wtyczek/skryptów:
http://www.weechat.org/scripts
Aby otrzymać polskie komunikaty dla kodowania UTF-8 w terminalu, osóby
używające ISO, moga wykonać: `/shell setenv LANG=pl_PL`.
[[key_bindings]]
Przypisania klawiszy
--------------------
[[meta_keys]]
Niektóre skróty klawiszowe (alt + klawisz) nie działają, dlaczego?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jeśli używasz terminali jak xterm lub uxterm, niektóre skróty domyślnie
nie będą działać. Możesz dodać następujące linie do pliku '~/.Xresources':
* dla xterm:
----------------------------------------
XTerm*metaSendsEscape: true
----------------------------------------
* dla uxterm:
----------------------------------------
UXTerm*metaSendsEscape: true
----------------------------------------
Następnie przeładować zasoby (`xrdb -override ~/.Xresources`) lub zrestartować X.
[[customize_key_bindings]]
Jak mogę zmienić przypisania klawiszy?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Przypisania klawiszy mozna dostosować za pomocą komendy `/key`.
Domyślnie Meta-k (zazwyczaj Alt-k) pozwala pobrać kod klawiszy i umieścić
go w wierszu poleceń.
[[irc]]
IRC
---
[[ignore_vs_filter]]
Jaka jest różnica między komendami/ignore i /filter ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Komenda `/ignore` jest komendą IRC, zatem odnosi się tylko do buforów IRC
(serwery i kanały).
Pozwala ignorować niektóre nicki lub hosty użytkowników serwera lub kanału
(komendy nie stotuje się do treści wiadomości).
Pasujące wiadomości są usuwane przez wtyczkę IRC przed wyświetleniem (nigdy
ich nie zobaczysz).
Komenda `/filter` jest komenda rdzenia, zatem odnosi się do dowolnego bufora.
Pozwala filtrować niektóre linie w buforach za pomocą tagów lub wyrażeń
regularnych dla przedrostków i zawartości lini.
Filtrowane linie są tylko ukrywane, nie usuwane, można je zobaczyć wyłączając
filtry (domyślnie alt + "=" zmienia stan filtrów).
[[filter_irc_join_part_quit]]
@@ -291,24 +290,124 @@ W zależności od wersji WeeChat:
(`/help filter` dla pomocy)
[[ignore_vs_filter]]
Jaka jest różnica między komendami/ignore i /filter ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[filter_voice_messages]]
Jak moge filtrować informacje o przyznaniu voice (np na serwerze Bitlbee)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Komenda `/ignore` jest komendą IRC, zatem odnosi się tylko do buforów IRC
(serwery i kanały).
Pozwala ignorować niektóre nicki lub hosty użytkowników serwera lub kanału
(komendy nie stotuje się do treści wiadomości).
Pasujące wiadomości są usuwane przez wtyczkę IRC przed wyświetleniem (nigdy
ich nie zobaczysz).
Filtrowanie wiadomości o przyznaiu voice nie jest proste, ponieważ może on
zostać nadany wraz z innymi atrybutami w jednej wiadomości IRC.
Komenda `/filter` jest komenda rdzenia, zatem odnosi się do dowolnego bufora.
Pozwala filtrować niektóre linie w buforach za pomocą tagów lub wyrażeń
regularnych dla przedrostków i zawartości lini.
Filtrowane linie są tylko ukrywane, nie usuwane, można je zobaczyć wyłączając
filtry (domyślnie alt + "=" zmienia stan filtrów).
Zapewne chcesz to zrobić, ponieważ Bitlbee używa voice do wskazania nieobecnych
użytkowników, oraz jesteś zasypywany takimi wiadomościami. Możesz to zmienić oraz
pozwolić WeeChat używać specjalnego koloru dla nieobecnych nicków.
Na kanale '&bitlbee', wykonaj:
----------------------------------------
set away_devoice false
----------------------------------------
Aby dowiedzieć się jak sprawdzić nieobecność w WeeChat, spójrz na pytanie o
<<color_away_nicks,nieobecnych osobach>>.
[[color_away_nicks]]
Jak mogę zobaczyć kto jest aktualnie nieobecny ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Należy ustawić opcję 'irc.network.away_check' na wartość większą od zera
(minuty pomiędzy sprawdzaniem czy nick jest nieobecny).
Możesz ustawić opcję 'irc.network.away_check_max_nicks' w celu ustalenia
sprawdzania nieobecności dla małych kanałów.
Na przykład, aby sprawdzać nieonecność nicków co 5, dla kanałów z maksymalnie 25
osobami:
----------------------------------------
/set irc.network.away_check 5
/set irc.network.away_check_max_nicks 25
----------------------------------------
[[highlight_notification]]
Jak mogę zostać powiadomiony, jeśli ktoś będzię chciał przyciągnąć moją uwagę na kanale?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
W zależnośći od wersji WeeChat:
* dla WeeChat < = 0.2.6: użyj skryptu 'sound.pl' (dostępny na stronie ze
skryptami), następnie ustawienie komendy systemowej (do odtworzenia dźwięku,
wyświetlenia wiadomości, ..) za pomocą komendy: +
`/setp perl.sound.cmd_highlight = "/ścieżka/do/komendy argumenty"`
* dla WeeChat > = 0.3.x: użyj skryptu 'launcher.pl' (dostępny na stronie ze
skryptami), następnie ustawienie komendy systemowej (do odtworzenia dźwięku,
wyświetlenia wiadomości, ..) za pomocą komendy: +
`/set plugins.var.perl.launcher.signal.weechat_highlight "/ścieżka/do/komendy argumenty"`
Istnieje wiele innych skryptów do powiadomień, zajrzyj na stronę wtyczek/skryptów:
http://www.weechat.org/scripts
[[plugins_scripts]]
Pluginów / skrypty
------------------
[[openbsd_plugins]]
Używam OpenBSD, WeeChat nie ładuje żadnych pluginów, co jest nie tak?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pod OpenBSD, nazwy wtyczek kończą się ".so.0.0" (".so" dla Linuksa).
Musisz ustawić:
* dla WeeChat < = 0.2.6: +
`/set plugins_extension = ".so.0.0"`
* dla WeeChat > = 0.3.x: +
`/set weechat.plugin.extension ".so.0.0"`
Następnie: `/plugin autoload`.
[[load_scripts]]
Jak załadować skrypty Perl/Python/Ruby/Lua/Tcl? Czy skrypty są kompatybilne z innymi klientami IRC?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Możesz użyć komend `/perl`, `/python`, `/ruby`, `/lua` oraz `/tcl`, aby załadować
skrypt (domyślna lokalizacja skryptów to '~/.weechat/<język>/').
Skrypty nie są kompatybilne z innymi klientami IRC.
Uwagi:
* skrypty w '~/.weechat/<język>/autoload/' są automatycznie ładowane przy
uruchomieniu WeeChat.
* wtyczka 'tcl' jest dostępna dla wersji > = 0.3.0.
[[settings]]
Ustawienia
----------
[[memory_usage]]
Jak mogę zmusić WeeChat do zużywania mniejszej ilości pamięci?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
W celu zmniejszenia używanej pamięci możesz zastosować się do poniższych rad:
* używać najnowsze stabilnej wersji (powinna mieć mniej wycieków pamięci
niż starsze wersje)
* nie ładować nieużywanych pluginów, np: aspell, fifo, logger, perl, python,
ruby, lua, tcl, xfer (używana do DCC)
* ładować tylko naprawde używane skrypty
* zmniejszyć wartość opcji 'weechat.history.max_lines' (ilość lini trzymanych
w pamięci dla każdego bufora)
* zmniejszyć wartość opcji 'weechat.history.max_commands' (ilość komend
użytkownika trzymanych w pamięci)
[[development]]
Rozwój
------
@@ -348,6 +447,7 @@ Jest wiele zadań do zrobienia (testowanie, kod, dokumentacja, ...)
Skontaktuj się z nami na IRC lub mailowo, szczegóły:
http://www.weechat.org/about
[[donate]]
Czy mogę dac pieniądze albo inne rzeczy deweloperą WeeChat?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3 -3
View File
@@ -66,7 +66,7 @@ na liście "irc" oraz inne wtyczki.
[[create_irc_server]]
Tworzenie serwera IRC
Tworzenie serwera IRC
---------------------
Możesz dodać serwer IRC za pomocą komendy `/server`, na przykład:
@@ -164,7 +164,7 @@ Zarządzanie buforami/oknami
Bufor jest to element łączący wtyczkę z numerem, kategorią,
oraz nazwą. Zawiera on dane wyświetlane na ekranie.
Okno jest widokiem na bufor. Domyślnie jedno okno wyświetla jeden bufor.
Okno jest widokiem na bufor. Domyślnie jedno okno wyświetla jeden bufor.
Jeśli podzielisz ekran, ujrzysz wiele okien z wieloma buforami jednocześnie.
Komendy do zarządzania buforami i oknami:
@@ -223,7 +223,7 @@ dokumentacji WeeChat, aby się dowiedzieć jak ładowac/wyładowywać wtyczki lu
skrypty).
Niektóre pluginy pozwalają na używanie skryptów w WeeChat (w wielu językach jak Perl,
Python, Ruby, Lua oraz Tcl). Te wtyczki muszą być załadowane za pomoca komendy
Python, Ruby, Lua oraz Tcl). Te wtyczki muszą być załadowane za pomoca komendy
`/plugin`, dostarczają one komendy jak `/perl`, używane do ładowania skryptów.
Wiele zewnętrznych wtyczek/skryptów (od społeczności) jest dostępnych dla
+3 -3
View File
@@ -15,8 +15,8 @@ niedoceniane. Kiedy nowe funkcje są implementowane, powinny zostać przetestowa
ale dla wielu z nich jest za dużo możliwości użycia lub nie są łątwe do
zasymulowania dlatego programiści nie są wstanie sprawdzić ich wszystkich.
Na przykład: Powszechnie znana wtyczka od kodowania została wprowadzona w
WeeChat 0.2.2: żaden z nas (programistów, współpracowników, testerów) nie
Na przykład: Powszechnie znana wtyczka od kodowania została wprowadzona w
WeeChat 0.2.2: żaden z nas (programistów, współpracowników, testerów) nie
używał kanałów ze znakami narodowymi w nazwach, kiedy wersja 0.2.2 została
wypuszczona zostaliśmy zalani użytkownikami z Rosji obwiniającymi nas.
Gdy będziemy mieli więcej testrów taka sytuacja nie powinna się już zdarzyć
@@ -123,7 +123,7 @@ Komenda to:
~/weechat-git/bin/weechat-curses --dir ~/.weechat-dev
Jeśli nadal nie śpisz powinieneś ujrzeć znajomy interfejs i chwalić się
Jeśli nadal nie śpisz powinieneś ujrzeć znajomy interfejs i chwalić się
z posiadania najnowszej możliwej wersji WeeChat. ;)
Teraz jeśli zaobserwujesz dziwne zachowanie (może sprawiać problemy, ulec awari
+1 -1
View File
@@ -17,7 +17,7 @@
docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
weechat_quickstart.ru.txt
weechat_quickstart.ru.txt
all-local: weechat_quickstart.ru.html
+10 -10
View File
@@ -13,14 +13,14 @@ FlashCode <flashcode@flashtux.org>
[[help_options]]
помощь \ настройки
помощь \ настройки
------------------
В WeeChat есть справка по командам, просто наберите /help
Что бы получить справку по определенной команде, наберите `/help команда`
Для задания настроек используйте `/set config.section.option value`
(где `config` имя конфигурации (`weechat` или имя плагина для
(где `config` имя конфигурации (`weechat` или имя плагина для
настройки), `section` группа в которой настройка и `option` как
название настройки)
@@ -43,7 +43,7 @@ WeeChat после изменений в настройках)
Вы можете получить справку по любой опции используя `/help`, на пример
`/help weechat.look.highlight`.
Все настройки WeeChat сохраняются при выходе (или используя команду `/save`
Все настройки WeeChat сохраняются при выходе (или используя команду `/save`
для немедленного сохранения)
Вы можете редактировать файлы кофигурации (*.conf) в ручную, и применять параметры
@@ -86,7 +86,7 @@ WeeChat использует стандартные значения для вс
Если определено значение опции(не "null"), WeeChat будет использовать его.
Иначе используется стандартное значение ("irc.server_default.xxx").
На пример: есть ники по умолчанию (базируются на логине un*x системы), и
На пример: есть ники по умолчанию (базируются на логине un*x системы), и
вы можете переназначить их для сервера oftc используя команду:
/set irc.server.oftc.nicks "mynick1,mynick2,mynick3,mynick4,mynick5"
@@ -129,11 +129,11 @@ WeeChat использует стандартные значения для вс
/connect oftc
[NOTE]
Эту команду можно использовать для подключения к серверу без его
создания (должен ли я напомнить что вы можете посмотреть справку набрав
Эту команду можно использовать для подключения к серверу без его
создания (должен ли я напомнить что вы можете посмотреть справку набрав
`/help connect`?)
По умолчанию, буфер сервера совмещен с буфером WeeChat. Для
По умолчанию, буфер сервера совмещен с буфером WeeChat. Для
переключения между ними вы можете использовать Ctrl-X,
Можно отключить это совмещение, что бы получить раздельные
@@ -165,7 +165,7 @@ WeeChat использует стандартные значения для вс
Окно выводит содержимое буфера. По умолчанию, создается одно
окно с одним буфером. Если разделить окно, вы можете видеть
много буферов одновременно.
много буферов одновременно.
Команды для управления буферами и окнами:
@@ -197,7 +197,7 @@ WeeChat использует стандартные значения для вс
Исходя из ваших нужд, и клавиатуры, вы можете переназначить любые клавиши
исползуя команду `/key`.
Полезная комбинация для поиска клавшиных кодов meta-k (alt-k)
Полезная комбинация для поиска клавшиных кодов meta-k (alt-k)
На пример, что бы назначить на meta-y (alt-y) команду `/buffer close`:
@@ -225,7 +225,7 @@ WeeChat использует стандартные значения для вс
(Perl, Python, Lua, Ruby, Tcl). Эти плагины должны быть загружены командой
`/plugin`. Они добавляют такие команды как `/perl` для загрузки скриптов.
Много пользовательских скриптов/плагинов доступно для
Много пользовательских скриптов/плагинов доступно для
WeeChat: http://www.weechat.org/scripts
Простейший путь для установки скриптов - исползовать скрипт 'weeget.py':
+5 -1
View File
@@ -1,4 +1,4 @@
.TH WEECHAT 1 "January 2010" "FlashCode"
.TH WEECHAT 1 "April 2010" "FlashCode"
.SH NAME
weechat-curses \- Wee Enhanced Environment for Chat (Curses version)
@@ -43,6 +43,10 @@ display program license
.br
don't load any plugin at startup
.TP
.B \-s, \-\-no\-script
.br
don't load any script at startup
.TP
.B \-v, \-\-version
.br
display WeeChat version
+3 -4
View File
@@ -25,7 +25,6 @@ SET(PO_FILES
it.po
)
SET(COPYRIGHT_HOLDER "WeeChat Team")
SET(BUGS_ADDRESS "flashcode@flashtux.org")
SET(POT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pot)
@@ -50,13 +49,12 @@ IF(XGETTEXT_EXECUTABLE AND MSGMERGE_EXECUTABLE AND MSGFMT_EXECUTABLE)
ADD_CUSTOM_COMMAND(
OUTPUT ${POT_FILE}
COMMAND ${XGETTEXT_EXECUTABLE}
ARGS -o ${POT_FILE} --keyword='_' --keyword='weechat_gettext' --keyword='N_' --keyword='NG_:1,2' --keyword='weechat_ngettext:1,2' --no-location --directory=${CMAKE_SOURCE_DIR} --omit-header --msgid-bugs-address=${BUGS_ADDRESS} --copyright-holder=${COPYRIGHT_HOLDER} ${SRC_FILES}
ARGS -o ${POT_FILE} --add-comments='TRANSLATORS:' --keyword='_' --keyword='weechat_gettext' --keyword='N_' --keyword='NG_:1,2' --keyword='weechat_ngettext:1,2' --no-location --directory=${CMAKE_SOURCE_DIR} --msgid-bugs-address=${BUGS_ADDRESS} --copyright-holder='' ${SRC_FILES}
DEPENDS ${POT_DEPENDS}
COMMENT "Generating PO template file"
)
# Update .po files and compile them to binary .gmo files
SET(GMO_FILES)
FOREACH(pofile ${PO_FILES})
GET_FILENAME_COMPONENT(polang ${pofile} NAME_WE)
@@ -64,8 +62,9 @@ IF(XGETTEXT_EXECUTABLE AND MSGMERGE_EXECUTABLE AND MSGFMT_EXECUTABLE)
SET(gmofile ${CMAKE_CURRENT_BINARY_DIR}/${polang}.gmo)
ADD_CUSTOM_COMMAND(
OUTPUT ${gmofile}
COMMAND ${MSGMERGE_EXECUTABLE} ARGS --quiet -s -o ${CMAKE_CURRENT_BINARY_DIR}/${pofile} ${CMAKE_CURRENT_SOURCE_DIR}/${pofile} ${POT_FILE}
COMMAND ${MSGMERGE_EXECUTABLE} ARGS --quiet -o ${CMAKE_CURRENT_BINARY_DIR}/${pofile} ${CMAKE_CURRENT_SOURCE_DIR}/${pofile} ${POT_FILE}
COMMAND ${MSGFMT_EXECUTABLE} ARGS -o ${gmofile} ${CMAKE_CURRENT_BINARY_DIR}/${pofile}
COMMAND ${MSGFMT_EXECUTABLE} ARGS -c --statistics --output-file=/dev/null ${CMAKE_CURRENT_BINARY_DIR}/${pofile}
DEPENDS ${POT_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${pofile}
COMMENT "Compiling locales (${polang})"
)
+1 -1
View File
@@ -2,6 +2,6 @@ DOMAIN = $(PACKAGE)
subdir = po
top_builddir = ..
XGETTEXT_OPTIONS = --keyword=_ --keyword=weechat_gettext --keyword=N_ --keyword=NG_:1,2 --keyword=weechat_ngettext:1,2 --no-location
COPYRIGHT_HOLDER =
COPYRIGHT_HOLDER =
EXTRA_LOCALE_CATEGORIES =
MSGID_BUGS_ADDRESS = flashcode@flashtux.org
+5
View File
@@ -87,6 +87,8 @@
./src/gui/wxwidgets/gui-input.c
./src/plugins/alias/alias.c
./src/plugins/alias/alias.h
./src/plugins/alias/alias-config.c
./src/plugins/alias/alias-config.h
./src/plugins/alias/alias-info.c
./src/plugins/alias/alias-info.h
./src/plugins/aspell/weechat-aspell.c
@@ -139,6 +141,8 @@
./src/plugins/irc/irc-protocol.h
./src/plugins/irc/irc-raw.c
./src/plugins/irc/irc-raw.h
./src/plugins/irc/irc-sasl.c
./src/plugins/irc/irc-sasl.h
./src/plugins/irc/irc-server.c
./src/plugins/irc/irc-server.h
./src/plugins/logger/logger.c
@@ -228,3 +232,4 @@
./src/plugins/xfer/xfer-network.h
./src/plugins/xfer/xfer-upgrade.c
./src/plugins/xfer/xfer-upgrade.h
./doc/docgen.pl
+814 -378
View File
File diff suppressed because it is too large Load Diff
+840 -336
View File
File diff suppressed because it is too large Load Diff

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