1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-04 00:33:13 +02:00
Commit Graph

169 Commits

Author SHA1 Message Date
Sébastien Helleu 5c9d9bc8fc core: add refresh of window title on buffer switch, when option weechat.look.window_title is set 2025-04-11 19:32:43 +02:00
Aaron Jones f5038bccbc Fix function prototypes for list of arguments
At the moment, building WeeChat triggers several thousand -Wstrict-prototypes
diagnostics.  This is due to its source code using an empty argument list for
functions and function pointers that take no arguments, instead of explicitly
declaring that they take no arguments by using a void list.

This commit replaces all empty argument lists with a void list.

Note that Ruby's headers also suffer the same problem, which WeeChat can't
do anything to fix.  Thus, building WeeChat with the Ruby plugin enabled
will still issue approximately 30 such diagnostics.
2025-03-10 08:16:52 +01:00
Sébastien Helleu 547e2b934e core: update copyright dates 2025-02-01 23:13:18 +01:00
Sébastien Helleu 4b7be27028 core: add parameter name in signal handler functions 2025-01-26 08:49:15 +01:00
LuK1337 68c70e5538 core: add int arg for all sigaction.sa_handler functions
src/gui/curses/gui-curses-main.c: In function ‘gui_main_loop’:
src/gui/curses/gui-curses-main.c:399:33: error: passing argument 2 of ‘signal_catch’ from incompatible pointer type [-Wincompatible-pointer-types]
  399 |         signal_catch (SIGWINCH, &gui_main_signal_sigwinch);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                 |
      |                                 void (*)(void)
In file included from src/gui/curses/gui-curses-main.c:38:
src/gui/curses/../../core/core-signal.h:33:46: note: expected ‘void (*)(int)’ but argument is of type ‘void (*)(void)’
   33 | extern void signal_catch (int signum, void (*handler)(int));
      |                                       ~~~~~~~^~~~~~~~~~~~~
2025-01-26 08:46:04 +01:00
Sébastien Helleu 1ad0b4b669 core: remove check of NULL pointers before calling unhook() (issue #865) 2024-04-26 08:41:44 +02:00
Sébastien Helleu e73bff95fa core: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu 24c4029c96 core: remove "wee-" prefix from source files in src/core and src/core/hook 2024-03-12 21:27:37 +01:00
Sébastien Helleu eecb2a997e core: update copyright dates 2024-01-01 22:29:58 +01:00
Sébastien Helleu ff402fb6ec core: fix infinite loop on startup when running some gui commands before the switch to core buffer is performed (closes #1917) 2023-04-26 19:11:54 +02:00
Sébastien Helleu 3640d187b8 core: split gui-curses.h into multiple headers 2023-03-17 18:52:30 +01:00
Sébastien Helleu fd746a04d6 core: force ctrl keys to lower case when they are added (closes #1875) 2023-01-29 12:41:28 +01:00
Sébastien Helleu 33bba784c3 core: update copyright dates 2023-01-01 14:54:35 +01:00
Sébastien Helleu 01f9bcbaba core: fix bad window size on startup with some terminals like kitty (closes #1769) 2022-03-27 17:19:39 +02:00
Sébastien Helleu c44b79dce7 core: update copyright dates 2022-01-17 18:41:06 +01: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 de1e61f7cd).
2021-03-16 18:47:31 +01:00
Sébastien Helleu efc7a588d6 core: update copyright dates 2021-01-02 21:34:16 +01:00
Sébastien Helleu 6e18f31cb2 core: translate log message when the signal SIGHUP is received 2020-04-21 22:39:51 +02:00
Sébastien Helleu 100440c8a1 core: restore signal "signal_sighup", and if eaten do not reload configuration 2020-04-21 22:34:42 +02:00
Tom Fitzhenry de1e61f7cd core: reload config on SIGHUP
fixes https://github.com/weechat/weechat/issues/1476
2020-04-22 01:25:08 +10:00
Sébastien Helleu feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu 2b0057239b core: update copyright dates 2019-01-01 15:40:51 +01:00
Sébastien Helleu 4712d0bb06 core: use https for links to GNU GPL license 2018-11-29 23:16:07 +01:00
Sébastien Helleu a205886d7a core: fix compiler warnings on calls to snprintf 2018-07-13 21:24:40 +02:00
Sébastien Helleu 71999e17c6 core: quit WeeChat on ctrl-C (signal SIGINT) in headless mode 2018-03-16 20:10:57 +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 7ee88fb46c core: fix some styles 2018-01-07 09:11:45 +01:00
Sébastien Helleu ed4837b2f6 core: update copyright dates 2018-01-05 00:54:18 +01:00
Sébastien Helleu da8f19bcee core: fix infinite loop when the terminal is closed on the secure password prompt (closes #1010) 2017-06-03 13:41:49 +02:00
Sébastien Helleu 5661b4da74 core: fix typo: refreshs -> refreshes 2017-03-12 18:33:53 +01:00
Sébastien Helleu f4c2328abf core: send signal "signal_sigwinch" after refreshs (issue #902)
Sending the signal after the refreshs will let scripts receive the good
size for windows/bars/terminal, ie the size computed with the new
terminal size.
2017-02-22 07:40:55 +01:00
Sébastien Helleu d6977490d0 core: fix delayed refresh when the signal SIGWINCH is received (terminal resized) (closes #902)
This fixes a regression introduced in version 1.7 by changes on signal
handlers, commit 018b969381.
2017-02-04 08:06:59 +01:00
Sébastien Helleu 705d86e684 core: update copyright dates 2017-01-01 11:32:04 +01:00
Sébastien Helleu 018b969381 core: fix deadlock when quitting after a signal is received (closes #32)
The code in signal handers (SIGHUP, SIGQUIT, SIGTERM) is moved into main
loop, this hopefully fixes the deadlock when quitting after receiving
one of these signals.

The code in SIGWINCH signal handler is moved too (even if it shouldn't
be a problem).
2016-11-13 16:07:24 +01:00
Sébastien Helleu 51c3e0b9ec api: add support of functions in hook_process 2016-04-23 13:59:20 +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 3330724574 core: update copyright dates 2016-01-01 11:09:53 +01:00
Sébastien Helleu 3b2ee85b04 core: fix crash if a file descriptor used in hook_fd() is too high (> 1024 on Linux/BSD) (closes #465)
The calls to select() are replaced by poll(), which doesn't have limitation
on file descriptor number.
2015-07-18 20:03:34 +02:00
Sébastien Helleu 7fabe8c2a2 core: allow ctrl-C to exit WeeChat when the passphrase is asked on startup (closes #452) 2015-06-28 09:16:24 +02:00
Sébastien Helleu 8d25cd5d34 core: fix compilation on Cygwin
The header sys/select.h is now required for select() function.
2015-05-01 09:54:07 +02:00
Sébastien Helleu 71dd64678c core: add comments after some #endif 2015-04-30 21:15:30 +02:00
Sébastien Helleu 6c4c4a37fd core: display the welcome message immediately after the startup message, move source code to weechat.c 2015-04-25 08:38:44 +02:00
Sébastien Helleu 32d165f1c4 core: add a welcome message on first WeeChat run (closes #318) 2015-04-17 07:57:31 +02:00
Sébastien Helleu a020c28ea6 core: update copyright dates 2015-01-01 09:23:23 +01:00
Sébastien Helleu 9935b336ed core: move main() function into Curses GUI 2014-07-14 20:03:39 +02:00
Sebastien Helleu 2e08e39d2e core: quit WeeChat on signal SIGHUP, remove signal "signal_sighup" 2014-03-29 18:21:05 +01:00
Sebastien Helleu dc2365104f core: add option weechat.look.hotlist_add_conditions, remove option weechat.look.hotlist_add_buffer_if_away 2014-03-06 19:29:08 +01:00
Sebastien Helleu 39be4e3387 core: add bare display mode (for easy text selection and click on URLs)
New key: alt+"!", to swith to bare display (same key to come back to
standard display).

New options:
- weechat.look.bare_display_exit_on_input (default: on): by default
  any changes in input will return to standard display
- weechat.look.bare_display_time_format (default: "%H:%M"): the format
  of time used in bare display.
2014-02-16 11:29:03 +01:00
Sebastien Helleu 437767c0ca api: add integer return code for functions hook_{signal|hsignal}_send 2014-02-10 17:42:53 +01:00
Sebastien Helleu 5c661a497f core: delay the signal "signal_sigwinch" after WeeChat screen refresh
The signal is sent after WeeChat screen refresh, so all sizes for
windows, bars, ... are already adjusted to the new terminal size.
2014-01-21 14:19:12 +01:00