summaryrefslogtreecommitdiff
path: root/src/gui
AgeCommit message (Collapse)Author
2023-11-11core: add incremental search in commands history (issue #2040)Sébastien Helleu
Changes: - move key ctrl+r to ctrl+s - add key ctrl+r to search in commands history - add option `search_history` in command `/input` - add key context "histsearch" - add option weechat.look.buffer_search_history - add buffer variables "text_search_direction", "text_search_history" and "text_search_ptr_history"
2023-11-04core: fix value of buffer variable "num_history" when the value defined in ↵Sébastien Helleu
option weechat.history.max_commands is reached
2023-11-04core: remove incorrect warning when binding keys F10 to F20 (closes #2039)Sébastien Helleu
2023-11-01irc: add support of RGB colors in messages (issue #2025)Sébastien Helleu
This is made using standard color code '\x04' followed by text color (RGB as hexadecimal) and optional background (RGB as hexadecimal).
2023-11-01core, plugins: set error to NULL before calling strtol()Sébastien Helleu
This is not strictly necessary, just in case the function strtol() doesn't update the pointer.
2023-10-30core: check that buffer is not NULL in function ↵Sébastien Helleu
gui_chat_printf_date_tags_internal
2023-10-23core: fix crash when a custom bar item name is already used by a default bar ↵Sébastien Helleu
item (closes #2034)
2023-10-05core: use larger buffer for errors when creating a filterSébastien Helleu
2023-10-01core: make zstd dependency optional (closes #2024)Sébastien Helleu
2023-08-30core: do not evaluate properties "key_bind_xxx" and "key_unbind_xxx" in ↵Sébastien Helleu
options weechat.buffer.* (issue #352)
2023-08-28core: add key ctrl+z to suspend WeeChat process (closes #985)Sébastien Helleu
2023-08-27core: ignore key bindings with empty commandSébastien Helleu
This makes possible to disable a key hiding another (because shorter than the other, and beginning with the same key). For example if key "meta-a" is set to an empty command, it would not hide any more the key "meta-a,1" which has a non-empty command.
2023-08-26core: add variable ${property} in evaluation of options weechat.buffer.* ↵Sébastien Helleu
(issue #352)
2023-08-25core: add option `callbacks` in command `/debug`Sébastien Helleu
2023-08-24api: add infos "nick_color_ignore_case" and "nick_color_name_ignore_case" ↵Sébastien Helleu
(issue #194)
2023-08-24core: add option `setauto` in command `/buffer` (issue #352)Sébastien Helleu
2023-08-24core: add options weechat.buffer.* to save buffer properties set by user ↵Sébastien Helleu
(issue #352)
2023-08-22core: fix gcc warning on uninitialized variable `pos_end`Sébastien Helleu
The variable `pos_end` is never used when not initialized anyway, thanks to the `break` done before.
2023-08-18core: use dynamic string in function gui_buffer_set_highlight_words_listSébastien Helleu
2023-08-18core: simplify function gui_buffer_notify_getSébastien Helleu
2023-08-16core: add parameters and key bindings to move to edges of current area with ↵Sébastien Helleu
commands `/cursor go` and `/cursor move` (closes #1282)
2023-07-28core: fix input length and crash after delete of line (closes #1989)Sébastien Helleu
2023-07-10core: fix renaming of options with command `/item rename` (closes #1978)Sébastien Helleu
The options `weechat.custom_bar_item.xxx.*` are now properly renamed to the new item name. This fixes a save issue (item saved with old name in config) and a crash if a new item is created with the old name.
2023-07-08core: display focus hashtable for debug even if no key is matchingSébastien Helleu
2023-07-08core: use type "enum" in optionsSébastien Helleu
2023-07-03core: fix stylesSébastien Helleu
2023-07-03core: don't send key_pressed signal again for the same key pressTrygve Aaberge
If you press an incomplete key sequence, previously WeeChat would send the key_pressed signal again for the same keys on the next key. E.g. if you press escape and then 1, previously you would get the key_pressed signal with signal_data `\x01[` when you pressed escape, and then key_pressed with `\x01[` again when you pressed 1 (plus key_pressed with `1` for the 1 key). So two signals for the escape key, even though it was only pressed once. With this patch, you only get one signal for each key press. So one with `\x01[` when you press escape and then one with `1` when you press 1.
2023-07-03core: don't send key_combo_* signals for incomplete keysTrygve Aaberge
Version 4.0.0 (specifically commit 1f5c791c3) changed the key handling so key_combo_* signals were sent for each character in a sequence, rather than just when the sequence is finished. This broke parts of the vimode.py script. E.g. for the up arrow, 3.8 sends key_combo_default signal once with the signal_data `\x01[[A`, while 4.0.0 sends it three times with the signal_data `\x01[`, `\x01[[` and `\x01[[A`. With this patch, the previous behavior is brought back. There is one small change though. In 3.8 if you press escape one or two times it doesn't send key_combo_default, but if you press it three or more times it sends it for each escape press. With this patch, it's never sent for plain escape presses, only when the sequence is finished with some other key. This is intentional, as getting key_combo_default for escape presses doesn't make sense since it's not a finished combo, and the behavior of 3.8 where you got it after three or more key presses was most likely unintentional as it just happened because it didn't match any key bindings anymore (there are key bindings starting with one or two escape characters, but not more).
2023-06-26core: add variables "_chat_focused_line_bol" and "_chat_focused_line_eol" in ↵Sébastien Helleu
focus data (closes #1955) These variables are the same as "_chat_bol" and "_chat_eol" except that they stop at the beginning of the focused line (not the whole message displayed, in case message has multiple lines separated by "\n").
2023-06-26core: display actual key name and command with key Alt+kSébastien Helleu
Key Alt+K (upper K) is removed as well as commands `/input grab_raw_key` and `/input grab_raw_key_command`.
2023-06-02core: fix weechat.look.align_multiline_words not workingTrygve Aaberge
This option was broken with commit 031bd45e3.
2023-05-29core: set word_end_offset to character after wordTrygve Aaberge
It seemed strange to me to have word_end_offset point to the last character in the word, rather than the character after the word, especially now with the word stopping before a newline character which meant word_end_offset would be -1 if there was no characters before the newline character.
2023-05-29core: fix chat colors at certain positions not being appliedTrygve Aaberge
The new rendering of multiline lines had some issues with colors at certain positions not being applied. The color would not be applied if the color code was at either of these positions: - At the start of a line after a newline character - At the end of a line after a space and before a newline character - At a line by itself before a newline character The way I had done it by considering newline characters as a word in gui_chat_get_word_info with a variable specifying that it's newline characters became messy and didn't really make sense, so rather than doing this, I changed gui_chat_get_word_info to stop before the first newline character. That way, we can just check if we are at a newline character at the start of the loop, and don't need any more special handling. Fixes #1928
2023-05-18core: fix refresh of bar item "input_search" after buffer switch in root ↵Sébastien Helleu
bars (closes #1939)
2023-05-16core: fix partial completion when the common prefix found is empty (closes #340)Sébastien Helleu
2023-05-14core: allow to reset buffer property "input_multiline" to 0 even if there ↵Sébastien Helleu
are lines in buffer (issue #1923)
2023-05-13core: add quotes around paths in CMake files (closes #29)Sébastien Helleu
2023-05-12core: fix completion after newline in input (closes #1925)Sébastien Helleu
2023-05-04api: don't split on newline by default in functions `command` and ↵Sébastien Helleu
`command_options` when input_multiline is set to 0 The API functions `command` and `command_options` (when `split_newline` = 0, which is the default value) don't split on newline and then the first line is executed and the subsequent lines (after "\n") are ignored. There are no changes when the input has multiple lines filled by the user: the split is done and multiple commands are executed (for example if the user is pasting multiple commands to execute).
2023-05-01core: add options weechat.color.chat_status_disabled and ↵Sébastien Helleu
weechat.color.chat_status_enabled (issue #1820)
2023-05-01core: keep only first message line in modifier "weechat_print" when ↵Sébastien Helleu
input_multiline is not set in buffer
2023-05-01core: keep only first message line in hook line when input_multiline is not ↵Sébastien Helleu
set in buffer
2023-04-26core: change default background color of status and title bars (issue #1920)Sébastien Helleu
Default values changed: - weechat.bar.status.color_bg: blue -> 234 - weechat.bar.status.color_bg_inactive: darkgray -> 232 - weechat.bar.title.color_bg: blue -> 234 - weechat.bar.title.color_bg_inactive: darkgray -> 232
2023-04-26core: always allow 256 colors, find nearest color if less colors are ↵Sébastien Helleu
available in terminal (issue #1920)
2023-04-26core: fix infinite loop on startup when running some gui commands before the ↵Sébastien Helleu
switch to core buffer is performed (closes #1917)
2023-04-26core: fix display bug when drawing partially scrolled multilineTrygve Aaberge
If you have a chat line with multiple lines that were scrolled so that part of it is rendered at the bottom of the chat area, and part of it falls below the chat area, there was a bug where the prefix_suffix would be displayed at the end of the last line. Looks like this happens because the gui_chat_display_prefix_suffix is called for the line below the last line displayed in the chat area. So we have to add a check for this so we don't add the prefix_suffix. This check is copied from gui_chat_display_word which checks for the same. Fixes #1912
2023-04-25core: add option `split_return` in command `/input` (closes #1916)Sébastien Helleu
2023-04-25core: add cursor key l to quote focused lineTrygve Aaberge
Fixes #1913
2023-04-25core: add _chat_focused_line variable to get the focused lineTrygve Aaberge
This contains the single line that you focused on, like _chat_word contains the word that you focused on. This will be equal to _chat_line_message if the chat line only contains a single line, but if the chat line has multiple lines, _chat_line_message will contain all of them, but _chat_focused_line will only contain the single line that was focused. Fixes part of #1913
2023-04-23core: fix update of terminal title in some terminals like suckless terminal ↵Sébastien Helleu
(stterm) (closes #1882)