Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-03-25 | core: Always remove final newline when pasting | Trygve Aaberge | |
Since pasting doesn't send the line now, it's more practical to always remove the final newline so you don't end up with an empty line at the end of the input buffer. Fixes a part of #1498 | |||
2023-03-25 | core: Replace newline/tabs after paste is accepted | Trygve Aaberge | |
Instead of replacing newline/tabs when paste is started, do it when the paste is accepted instead. This makes a difference if you paste again while the paste confirmation is active, where instead of running it again for each paste, it will now be run for all the text at the end. For now this doesn't make a practical difference, but the next commit will remove the final newline when multiple lines are pasted too, which we only want to do for the final paste. | |||
2023-03-25 | core: When pasting, insert text in input instead of interpreting keys | Trygve Aaberge | |
This makes pasted text appear in the input bar, instead of each line being sent. This allows you to edit the text before sending it, and it makes multiline paste supported in buffers with input_multiline on. It also replaces \r with \n in pasted text because most terminals (e.g. xterm and urxvt) print lines separated by \r when pasting as if return was pressed between each line, even though the copied text uses \n. The text sent to the buffer should use \n, not \r, so we have to replace it. Note that this only works when bracketed paste is enabled or the paste confirmation as shown, because non-bracketed paste with no paste confirmation is not detected as a paste. Fixes a part of #1498 | |||
2023-03-25 | core: Parse bracketed paste also when paste pending | Trygve Aaberge | |
When in paste pending mode, the bracketed paste escape sequence should still be interpreted, so that if you paste while in paste pending the same things as when pasting in normal mode still happens, i.e. the escape sequence is removed, ctrl-y/n is not interpreted and newline/tabs are replaced. | |||
2023-03-25 | core: fix uninitialized variable `chunks2_count` when key_name and ↵ | Sébastien Helleu | |
key_name_alias are the same | |||
2023-03-25 | core: remove unnecessary assignment | Sébastien Helleu | |
2023-03-25 | core: remove commented code | Sébastien Helleu | |
2023-03-25 | core: fix gcc warning on snprintf | Sébastien Helleu | |
2023-03-21 | core: move buffer functions and remove them from header file | Sébastien Helleu | |
2023-03-21 | core: remove unused function gui_buffer_is_scrolled | Sébastien Helleu | |
2023-03-21 | core: remove unused function gui_buffer_search_by_layout_number | Sébastien Helleu | |
2023-03-20 | core: add relative move of read marker with `/buffer set unread [+/-]N` ↵ | Sébastien Helleu | |
(closes #1895) | |||
2023-03-19 | core: fix default value of options for bars added by plugins | Sébastien Helleu | |
When the bar name already exists, the function `bar_new` returns the pointer to the bar (instead of NULL) and sets the default value for all options with the values received. | |||
2023-03-19 | core: fix long lines in function gui_bar_use_temp_bars | Sébastien Helleu | |
2023-03-19 | core: allow any valid boolean value in command `/bar set <name> separator xxx` | Sébastien Helleu | |
2023-03-19 | core: fix typo on bar option name "separator" | Sébastien Helleu | |
2023-03-19 | core: use a fixed size buffer to create a bar option | Sébastien Helleu | |
2023-03-19 | core: use a fixed size buffer to rename a bar | Sébastien Helleu | |
2023-03-18 | core: bump version to 4.0.0-dev, follow "practical" semantic versioning | Sébastien Helleu | |
2023-03-17 | core: also display mouse codes with `/debug key` | Sébastien Helleu | |
2023-03-17 | core: change order of modifiers in mouse keys | Sébastien Helleu | |
Now the modifiers for mouse keys are in the same order as other keys: `alt-` then `ctrl-`. | |||
2023-03-17 | core: split gui-curses.h into multiple headers | Sébastien Helleu | |
2023-03-17 | core: fix search of commands with raw code and alias matching | Sébastien Helleu | |
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 | core: set insert_ok to 0 for backspace key | Sébastien Helleu | |
2023-03-17 | core: remove "%s" from translated message for key debug | Sébastien Helleu | |
2023-03-17 | core: refactor print of keys in debug mode | Sébastien Helleu | |
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 | core: replace "\x01" by "^" and add color for delimiters in output of /debug key | Sébastien Helleu | |
2023-03-17 | core: use order returned by gui_key_expand in gui_key_modifier_list | Sébastien Helleu | |
2023-03-17 | core: display a warning when trying to bind a raw key code or invalid key ↵ | Sébastien Helleu | |
(missing comma) | |||
2023-03-17 | core: check new keys manually added with /set | Sébastien Helleu | |
2023-03-17 | core: remove use of "meta2-" in key name | Sébastien Helleu | |
The raw key code is kept as-is, so for example "meta2-A" becomes "meta-[A". | |||
2023-03-16 | core: display a specific error when trying to bind a key without area in ↵ | Sébastien Helleu | |
mouse context | |||
2023-03-16 | api: change also default value of new key options with function key_bind | Sébastien Helleu | |
2023-03-16 | core: split alias list into two lists | Sébastien Helleu | |
2023-03-16 | tests: add extra test on function gui_key_legacy_to_alias | Sébastien Helleu | |
2023-03-16 | api: change default value of existing key options with function key_bind | Sébastien Helleu | |
With this fix, fset buffer shows the key as modified only if the user actually changed the command bound to the key. | |||
2023-03-16 | core: create config options for all keys that can be managed with `/set` and ↵ | Sébastien Helleu | |
`/fset` commands | |||
2023-03-16 | core: fix safe list of keys | Sébastien Helleu | |
Add missing safe keys: "backspace" and "return". Add missing unsafe keys: "comma", "space". | |||
2023-03-16 | core: remove obsolete function gui_key_legacy_expand | Sébastien Helleu | |
2023-03-16 | core: optimize search of key by reducing the number of splits into chunks | Sébastien Helleu | |
2023-03-16 | core: add key alt-K (alt+shift+k) to grab raw key and its command | Sébastien Helleu | |
2023-03-16 | core: use new key name in command `/key` and configuration file | Sébastien Helleu | |
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 | core: display new key name using aliases in output of `/key` command | Sébastien Helleu | |
2023-03-16 | core: fix function gui_key_legacy_to_alias with keys on areas | Sébastien Helleu | |
2023-03-16 | core: add function to expand raw key code to name with alias, use it in /key ↵ | Sébastien Helleu | |
debug | |||
2023-03-16 | core: add keyboard debug mode with command `/key debug` | Sébastien Helleu | |
2023-02-22 | core: fix crash in case of NULL message sent to function ↵ | Sébastien Helleu | |
gui_chat_printf_y_date_tags (closes #1883) | |||
2023-02-10 | core: allow /input move_next_word going to the end of line | Robin Jarry | |
When the input buffer contains non word characters at the end, /input move_next_word will stop moving at the end of the last word. This is a bit confusing and not in line with what readline does (think bash). When there are no words left in the input buffer, make /input move_next_word go to the end of line. Signed-off-by: Robin Jarry <robin@jarry.cc> | |||
2023-02-04 | fix: various code comments | rj1 | |
2023-02-04 | core: optimize search of key bindings in contexts default/search/cursor | Sébastien Helleu | |