Sébastien Helleu
25d7192677
api: don't split on newline by default in functions command and 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-04 21:06:32 +02:00
Sébastien Helleu
156bdc6444
core: change default chat colors (issue #1920 )
...
Default values changed:
- weechat.color.chat_delimiters: green -> 22
- weechat.color.chat_highlight_bg: magenta -> 124
- weechat.color.chat_inactive_window: default -> 240
- weechat.color.chat_nick_colors: add many colors
- weechat.color.chat_nick_offline: default -> 242
- weechat.color.chat_nick_offline_highlight_bg: blue -> 17
- weechat.color.chat_prefix_buffer: brown -> 180
- weechat.color.emphasized_bg: magenta -> 54
- weechat.color.nicklist_away: cyan -> 240
2023-04-26 21:08:12 +02:00
Trygve Aaberge
031bd45e36
core: render newline characters in chat line messages
...
If a chat line message contains a newline character (\n) it was
previously rendered as J with reverse video. This commit makes it
render as an actual newline instead, so messages with multiple lines
become supported.
The rendering is fixed in normal mode as well as bare mode both when
scrolled to the bottom and when scrolled up (which is different code
paths). Focus events has also been updated to support this (except for
_chat_line_y which returns -1 for all lines, but the docs says this
variable is only for buffers with free content).
Currently, the only way to include a \n in a chat line message is with
hdata_update because printf splits on \n and creates multiple separate
lines, but hopefully either printf can be changed to not split on \n, or
a new command which doesn't split can be added.
2023-04-19 16:47:44 +02:00
Sébastien Helleu
1684f60207
core: fix key meta-[O (unfocus with xterm) ( closes #1900 )
2023-03-31 18:58:49 +02:00
Sébastien Helleu
613dc73fd4
core: remove keys meta-[I and meta-[G for pgup/pgdn (issue #1900 )
...
It seems no terminal return such codes any more for pgup/pgdn, and `meta-[I` is
conflicting with the xterm terminal "focus in" key code.
The keys are also removed from config when converting old keys, but only if
they are bound to the default command (`/window page_up` for `meta2-I` and
`/window page_down` for `meta2-G`).
2023-03-31 18:57:58 +02:00
Sébastien Helleu
e21144eb1f
tests: add tests on gui bar functions
2023-03-26 10:42:31 +02:00
Sébastien Helleu
eeb680783b
tests: add placeholder for function gui_key_paste_finish
2023-03-25 19:23:46 +01:00
Sébastien Helleu
98a599d079
core: move buffer functions and remove them from header file
2023-03-21 20:14:35 +01:00
Sébastien Helleu
f48f1c4700
core: remove unused function gui_buffer_is_scrolled
2023-03-21 20:01:12 +01:00
Sébastien Helleu
6edcc6ed41
core: remove unused function gui_buffer_search_by_layout_number
2023-03-21 19:58:53 +01:00
Sébastien Helleu
64a553f91f
core: change order of modifiers in mouse keys
...
Now the modifiers for mouse keys are in the same order as other keys: `alt-`
then `ctrl-`.
2023-03-17 19:18:30 +01:00
Sébastien Helleu
313b40235a
core: fix search of commands with raw code and alias matching
...
When raw code and alias for a key are both matching, the raw code must always
have higher priority.
This commit fixes this behavior and gives priority to raw code.
2023-03-17 18:52:30 +01:00
Sébastien Helleu
c1db5c9549
core: refactor print of keys in debug mode
...
Changes:
- add function gui_key_debug_print_key
- change message "no key" by "no key binding"
- remove messages ""insert into input" / "ignored"
- add color for delimiters
2023-03-17 18:52:30 +01:00
Sébastien Helleu
0c4a5528ac
core: display a warning when trying to bind a raw key code or invalid key (missing comma)
2023-03-17 18:52:30 +01:00
Sébastien Helleu
3b8f9d4547
core: check new keys manually added with /set
2023-03-17 18:52:30 +01:00
Sébastien Helleu
042968b016
core: remove use of "meta2-" in key name
...
The raw key code is kept as-is, so for example "meta2-A" becomes "meta-[A".
2023-03-17 18:52:30 +01:00
Sébastien Helleu
7f1f6a6e84
tests: add extra test on function gui_key_legacy_to_alias
2023-03-16 20:42:19 +01:00
Sébastien Helleu
ccc649d06c
core: create config options for all keys that can be managed with /set and /fset commands
2023-03-16 20:42:19 +01:00
Sébastien Helleu
c82df8f22e
core: fix safe list of keys
...
Add missing safe keys: "backspace" and "return".
Add missing unsafe keys: "comma", "space".
2023-03-16 20:42:19 +01:00
Sébastien Helleu
c647d540a7
core: remove obsolete function gui_key_legacy_expand
2023-03-16 20:42:19 +01:00
Sébastien Helleu
1f5c791c37
core: use new key name in command /key and configuration file
...
Legacy keys are automatically converted to new names when loading configuration
file `weechat.conf`.
Examples:
"ctrl-I" => "tab"
"meta2-1;3A" => "meta-up"
"meta2-Z" => "shift-tab"
"meta-wmeta-meta2-A" => "meta-w,meta-up"
"ctrl-Cb" => "ctrl-c,b"
2023-03-16 20:42:19 +01:00
Sébastien Helleu
15587ac72f
core: fix function gui_key_legacy_to_alias with keys on areas
2023-03-16 20:42:18 +01:00
Sébastien Helleu
21910b7050
core: add function to expand raw key code to name with alias, use it in /key debug
2023-03-16 20:42:18 +01:00
Sébastien Helleu
6d4471b6db
core: optimize search of key bindings in contexts default/search/cursor
2023-02-04 10:45:57 +01:00
Sébastien Helleu
1f073fe949
tests: add tests on function gui_key_cmp
2023-02-03 22:50:32 +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
48c1aebb83
tests: add tests on gui key functions (issue #1875 )
2023-01-29 12:41:11 +01:00
Sébastien Helleu
33bba784c3
core: update copyright dates
2023-01-01 14:54:35 +01:00
Sébastien Helleu
1fb6d52984
tests: add tests on gui input functions
2023-01-01 14:41:06 +01:00
Sébastien Helleu
73bac5491b
core: move function gui_input_move_to_buffer to gui-buffer.c
2022-12-31 10:40:00 +01:00
Sébastien Helleu
05839983d4
core: fix color when the delimiter is not followed by a background color ( closes #1867 )
2022-12-30 21:50:18 +01:00
Sébastien Helleu
41fd26fe79
core: move /input buffer switch/zoom actions to command /buffer
...
Actions moved:
* `/input switch_active_buffer` -> `/buffer switch`
* `/input switch_active_buffer_previous` -> `/buffer switch -previous`
* `/input zoom_merged_buffer` -> `/buffer zoom`
2022-12-25 22:47:18 +01:00
Sébastien Helleu
0c29d4c5b6
core: move /input set_unread actions to commands /allbuf and /buffer set
...
Actions moved:
* `/input set_unread` -> `/allbuf /buffer set unread`
* `/input set_unread_current_buffer` -> `/buffer set unread`
2022-12-25 21:44:27 +01:00
Sébastien Helleu
babe1e7a42
core: move /input hotlist actions to new command /hotlist
...
Actions moved to command `/hotlist`:
* `/input hotlist_clear` -> `/hotlist clear`
* `/input hotlist_remove_buffer` -> `/hotlist remove`
* `/input hotlist_restore_buffer` -> `/hotlist restore`
* `/input hotlist_restore_all` -> `/hotlist restore -all`
2022-12-25 18:50:57 +01:00
Sébastien Helleu
574a4c8834
core: add function gui_buffer_jump_last_visible_number
2022-12-25 17:57:59 +01:00
Sébastien Helleu
c9796a3141
core: move /input jump actions to command /buffer jump
...
Actions moved to command `/buffer jump`:
* `/input jump_smart` -> `/buffer jump smart`
* `/input jump_previously_visited_buffer` -> `/buffer jump prev_visited`
* `/input jump_next_visited_buffer` -> `/buffer jump next_visited`
* `/input jump_last_buffer_displayed` -> `/buffer jump last_displayed`
2022-12-25 17:00:37 +01:00
Sébastien Helleu
6aedddd351
tests: add tests on function gui_input_delete_next_word
2022-12-18 14:13:14 +01:00
Sébastien Helleu
9b917ccace
tests: add tests on function gui_input_delete_range
2022-12-18 14:13:14 +01:00
Sébastien Helleu
99c453ee23
tests: add tests on gui delete previous/next char functions
2022-12-18 14:13:14 +01:00
Sébastien Helleu
d2f447dafc
tests: add extra tests on function gui_input_set_pos
2022-12-18 14:13:14 +01:00
Sébastien Helleu
3ef8241444
tests: add tests on gui input completion functions
2022-12-18 14:13:14 +01:00
Sébastien Helleu
dd9ae79204
core: remove unused argument "pos" from function gui_input_insert_string, add tests on function
2022-12-18 14:13:14 +01:00
Sébastien Helleu
5b9b1e175b
core: add color attributes "blink" and "dim" (half bright) ( closes #1855 )
2022-12-10 16:37:03 +01:00
Sébastien Helleu
f1cfd6f73f
core: do not display non printable chars, fix function utf8_char_size_screen
...
Now the function utf8_char_size_screen can return -1 when the char is not
printable.
It has a specific behavior for some chars:
- U+0009: value of option weechat.look.tab_width
- U+0001 to U+001F (except U+0009): 1
- U+00AD (soft hyphen): -1
- U+200B (zero width space): -1
2022-12-10 16:05:14 +01:00
Sébastien Helleu
bab73cfaa5
core: add identifier in buffer lines ( closes #901 )
...
For buffers with formatted content, the "id" starts to 0 on each buffer and is
incremented on each new line displayed (it is reset to 0 if reaching INT_MAX).
For buffers with free content, the "id" is set to the same value as "y" (ie the
line number, starting to 0).
2022-11-11 09:42:20 +01:00
Sébastien Helleu
24665ae878
core: add signals "buffer_user_{input|closing}_xxx" for buffers created with /buffer add ( closes #1848 )
2022-11-08 20:34:04 +01:00
Sébastien Helleu
01cf98e8fb
core: add key alt+backspace, change behavior of key ctrl+w ( closes #559 )
...
The key ctrl+w now deletes one word until whitespace.
The new key alt+backspace deletes one word (same behavior as ctrl+w in previous
releases).
2022-09-18 23:26:49 +02:00
Sébastien Helleu
a00edcf50e
tests: add tests on filter functions
2022-09-17 18:56:35 +02:00
Sébastien Helleu
007958e82c
core: add display conditions in custom bar items (issue #808 )
2022-05-27 22:16:50 +02:00
Sébastien Helleu
cefed25912
core: add command /item ( closes #808 )
...
This allows to create custom bar items with evaluated content (like the script
text_item.py does).
2022-05-27 17:53:50 +02:00