140 Commits

Author SHA1 Message Date
Sébastien Helleu
954f943e8e irc, typing: display typing status for IRC nicks 2021-07-04 13:27:33 +02:00
Sébastien Helleu
bba300e191 typing: translate strings in typing plugin sources 2021-07-04 13:27:33 +02:00
Sébastien Helleu
51123b755d core: add missing source files for gettext 2021-06-24 21:02:13 +02:00
Sébastien Helleu
23c46c3f2b irc: escape/unescape IRC message tags values (issue #1654)
Spec: https://ircv3.net/specs/extensions/message-tags#escaping-values
2021-06-24 20:59:21 +02:00
Sébastien Helleu
269576eea2 core: move directory/file functions from wee-util.c to wee-dir.c (issue #1285) 2021-05-11 21:06:29 +02:00
Sébastien Helleu
0dc7fbcb0c core: add options to customize commands on system signals, quit by default on SIGHUP when not running headless (closes #1595)
New options to customize behavior on signals received, with the default
behavior:

- weechat.signal.sighup: quit in normal mode, reload config in headless
- weechat.signal.sigquit: quit
- weechat.signal.sigterm: quit
- weechat.signal.sigusr1: no command executed by default
- weechat.signal.sigusr2: no command executed by default

The signals SIGUSR1 and SIGUSR2 are introduced by this commit, so it's now
possible to run commands when they are received.

The SIGHUP signal makes now WeeChat quit, it was the behavior before version
2.9 of WeeChat (see commit de1e61f7cd50cbd1a99777fe6611642a51abf5f6).
2021-03-16 18:47:31 +01:00
Sébastien Helleu
9fa3609c85 relay: add command "handshake" in weechat relay protocol and nonce to prevent replay attacks (closes #1474)
This introduces a new command called "handshake" in the weechat relay protocol.
It should be sent by the client before the "init" command, to negotiate the way
to authenticate with a password.

3 new options are added:

* relay.network.auth_password
* relay.network.hash_iterations
* relay.network.nonce_size
2020-04-14 21:38:12 +02:00
Sébastien Helleu
9a6a27ef58 core: move crypto functions to wee-crypto.c, rename API function string_hash to crypto_hash 2020-03-01 21:24:27 +01:00
Sébastien Helleu
3f33b327b1 logger: move logger backlog functions to logger-backlog.c 2019-09-26 21:26:23 +02:00
Sébastien Helleu
997894edc0 core: add calculation of expression in evaluation of expressions with "calc:..." (issue #997) 2019-09-20 21:37:01 +02:00
Sébastien Helleu
643376fc1d core: update translations (issue #1375) 2019-07-11 07:30:01 +02:00
Sébastien Helleu
57aa9e060e spell: rename "aspell" plugin to "spell" (issue #1299)
The following things have been renamed:

- file aspell.conf -> spell.conf
- options aspell.* -> spell.*
- bar item aspell_dict -> spell_dict
- bar item and local variable aspell_suggest -> spell_suggest
- info aspell_dict -> spell_dict
2019-02-19 21:15:56 +01:00
Sébastien Helleu
a8b6fa08b7 core: split plugin-api.c into 2 files (API wrappers and infos/infolists) 2018-11-03 23:01:46 +01:00
Sébastien Helleu
70c2e27110 core: split wee-secure.c into 3 files (secured data functions, buffer and config) 2018-10-27 08:54:10 +02:00
Sébastien Helleu
7b3ec510ca logger: move logger command into a separate source file 2018-09-24 19:05:21 +02:00
Sébastien Helleu
49c3e62106 core: split wee-hook.c into multiple sources 2018-08-14 07:15:39 +02:00
Sébastien Helleu
837eb82edd core: add irc-modelist sources files to generate translations 2018-03-24 17:04:27 +01:00
Sébastien Helleu
805717e9ec core: add binary weechat-headless to run WeeChat without interface (closes #1120)
The optional command line option "--daemon" runs WeeChat like a daemon
(fork, new process group, file descriptors closed).
2018-03-11 09:59:39 +01:00
Sébastien Helleu
21e63e7958 scripts: add configuration file for each script plugin 2018-01-15 21:57:06 +01:00
Sébastien Helleu
4cc3f13066 core: update translations 2017-09-05 07:29:14 +02:00
Sébastien Helleu
263c2904a7 fset: add completion "fset_options" 2017-06-25 16:35:28 +02:00
Sébastien Helleu
cee704b75c fset: add fset source files to generate translations 2017-06-25 16:35:28 +02:00
Sébastien Helleu
2ab3015114 script: move default mouse keys for script plugin from core to script-mouse.c 2017-03-31 21:07:32 +02:00
Sébastien Helleu
f0c8da2f05 buflist: add mouse support
New options:
- buflist.look.mouse_jump_visited_buffer
- buflist.look.mouse_move_buffer
- buflist.look.mouse_wheel

New keys added by buflist plugin:
- @item(buflist):button1*      => hsignal:buflist_mouse
- @item(buflist):button2*      => hsignal:buflist_mouse
- @bar(buflist):ctrl-wheelup   => hsignal:buflist_mouse
- @bar(buflist):ctrl-wheeldown => hsignal:buflist_mouse
2017-03-30 20:39:37 +02:00
Sébastien Helleu
98487253ca buflist: add command /buflist 2017-03-25 15:13:13 +01:00
Sébastien Helleu
edfeb60e32 buflist: new plugin "buflist" (bar with list of buffers) 2017-03-25 14:18:19 +01:00
Sébastien Helleu
0cec295a41 fifo: add file fifo.conf and option fifo.file.path to customize FIFO pipe path/filename (closes #850) 2016-11-22 19:24:40 +01:00
Sébastien Helleu
fabd48cc6c core: move nick coloring from irc plugin to core (closes #262)
Options moved from irc.conf to weechat.conf:

* "irc.look.nick_color_force" moved to "weechat.look.nick_color_force"
* "irc.look.nick_color_hash" moved to "weechat.look.nick_color_hash"
* "irc.look.nick_color_stop_chars" moved to
  "weechat.look.nick_color_stop_chars"

New info (for API function "info_get"):

* "nick_color" (replaces "irc_nick_color")
* "nick_color_name" (replaced "irc_nick_color_name")

Info "irc_nick_color" and "irc_nick_color_name" are now deprecated.

And a bug has been fixed in nick coloring: stop chars are removed before
looking at a forced color.
2016-04-05 07:56:43 +02:00
Sébastien Helleu
cf6aca1619 core: add pointer in some callbacks (closes #406)
This pointer is the first argument received by callbacks, and the
existing argument "data" is now automatically freed by WeeChat when the
object containing the callback is removed.

With this new pointer, the linked list of callbacks in scripts has been
removed. This will improve speed of scripts (using a lot of hooks),
reduce memory used by scripts and reduce time to unload scripts.

Following functions are affected in the C API:

* exec_on_files
* config_new
* config_new_section
* config_new_option
* hook_command
* hook_command_run
* hook_timer
* hook_fd
* hook_process
* hook_process_hashtable
* hook_connect
* hook_print
* hook_signal
* hook_hsignal
* hook_config
* hook_completion
* hook_modifier
* hook_info
* hook_info_hashtable
* hook_infolist
* hook_hdata
* hook_focus
* unhook_all_plugin
* buffer_new
* bar_item_new
* upgrade_new
* upgrade_read
2016-03-21 18:11:21 +01:00
Sébastien Helleu
6f0151e128 fifo: add /fifo command 2015-12-02 19:46:34 +01:00
Sébastien Helleu
b1bd5c721e alias: add options "add", "addcompletion" and "del" in command /alias, remove command /unalias (closes #458) 2015-07-20 07:54:59 +02:00
Sébastien Helleu
145191dbc5 javascript: add new plugin to run javascript scripts in WeeChat
This plugin was originally written by Koka El Kiwi
(repository: https://github.com/KokaKiwi/weechat-js-plugin).

This plugin uses Google V8 engine to execute JS scripts.
2015-03-07 16:52:09 +01:00
Sébastien Helleu
a4dfda9304 core: add functions to manage array lists 2014-09-01 11:51:03 +02:00
Sébastien Helleu
cc179e81c7 core: add main.c in list of translated files for gettext 2014-07-20 16:50:35 +02:00
Sebastien Helleu
e8de096625 exec: add options "-n"/"-ns" in command /exec (display output in a new buffer) 2014-03-12 11:54:00 +01:00
Sebastien Helleu
97254780d6 exec: add exec plugin 2014-03-11 17:49:49 +01:00
Sebastien Helleu
3c398bd61d rmodifier: remove plugin (replaced by trigger) 2014-03-04 12:08:33 +01:00
Sebastien Helleu
30942f7f62 trigger: add trigger plugin 2014-02-09 12:55:40 +01:00
Sebastien Helleu
663de42284 Merge branch 'secured-data' 2013-08-02 19:19:25 +02:00
Sebastien Helleu
35c3dbad63 plugins: remove the demo plugin 2013-07-31 18:56:32 +02:00
Sebastien Helleu
a490195032 core: add secured data with optional encryption in file sec.conf 2013-07-27 12:57:08 +02:00
Sebastien Helleu
d2ff46fa69 relay: add message "_nicklist_diff" (differences between old and current nicklist)
This is an experimental feature, that must be explicitely enabled by clients
(for weechat protocol) in the init command with option "nicklistdiff", for example:

  init password=mypasswd,nicklistdiff=1

This option will be removed when clients will handle nicklist diff.
2013-03-09 09:04:49 +01:00
Sebastien Helleu
9beb263e4a irc: hide passwords in commands or messages sent to nickserv with modifiers (bug #38346)
New modifiers: "irc_command_auth" and "irc_message_auth".
Option removed: irc.look.hide_nickserv_pwd
New option: irc.look.nicks_hide_password
2013-02-23 14:54:07 +01:00
Sebastien Helleu
4e4fd3f54d core: remove Gtk interface (obsolete sources not working) 2013-02-17 15:47:52 +01:00
Sebastien Helleu
c2aeb69c46 relay: add experimental websocket server support (RFC 6455) for irc and weechat protocols, new option relay.network.websocket_allowed_origins
It is a partial implementation of RFC 6455: fragmentation and control frames are
not yet supported.
Text and binary frames are supported.
2013-02-10 20:22:13 +01:00
Sebastien Helleu
6983d34e88 aspell: optimization on spellers to improve speed (save state by buffer), add info "aspell_dict", add completion "aspell_dicts"
Two hashtables have been added to store the spellers currently used (in all
buffers) and info for each buffer: array with pointers to spellers and state of
aspell for this buffer.
Therefore the spellers are not destroyed and created again on each buffer switch,
or each time screen is refreshed when window is split.
2013-01-31 19:40:41 +01:00
Sebastien Helleu
2b78673aa9 core: add git version in build, display it in "weechat-curses --help" and /version 2012-12-16 23:07:33 +01:00
Sebastien Helleu
32c93b5c0a core: add command /eval, use expression in conditions for bars, add function "string_eval_expression" in plugin API 2012-11-02 09:37:15 +01:00
Nils Görs
668cda2684 aspell: add bar item "aspell_dict" (dictionary used on current buffer) 2012-10-06 17:16:49 +02:00
Sebastien Helleu
a99d136018 core: add new plugin "script" (scripts manager, replacing scripts weeget.py and script.pl) 2012-08-14 18:29:32 +02:00