summaryrefslogtreecommitdiff
path: root/src/gui/gui-key.h
AgeCommit message (Collapse)Author
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-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-03-25core: Replace newline/tabs after paste is acceptedTrygve 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-17core: also display mouse codes with `/debug key`Sébastien Helleu
2023-03-17core: check new keys manually added with /setSébastien Helleu
2023-03-16core: create config options for all keys that can be managed with `/set` and ↵Sébastien Helleu
`/fset` commands
2023-03-16core: remove obsolete function gui_key_legacy_expandSébastien Helleu
2023-03-16core: add key alt-K (alt+shift+k) to grab raw key and its commandSébastien Helleu
2023-03-16core: use new key name in command `/key` and configuration fileSé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-16core: display new key name using aliases in output of `/key` commandSébastien Helleu
2023-03-16core: add function to expand raw key code to name with alias, use it in /key ↵Sébastien Helleu
debug
2023-03-16core: add keyboard debug mode with command `/key debug`Sébastien Helleu
2023-01-01core: update copyright datesSébastien Helleu
2022-01-17core: update copyright datesSébastien Helleu
2021-01-02core: update copyright datesSébastien Helleu
2020-01-04core: update copyright datesSébastien Helleu
2019-01-01core: update copyright datesSébastien Helleu
2018-11-29core: use https for links to GNU GPL licenseSébastien Helleu
2018-01-05core: update copyright datesSébastien Helleu
2017-08-10core: remove value for first #define in headers, add "PLUGIN" in plugin headersSébastien Helleu
2017-06-03gui: fix gui_key_default_bindings declared without argumentsSimmo Saan
2017-01-13tests: fix compilation of tests on FreeBSD 11Sébastien Helleu
Some includes were missing in .h files, and the tests must be linked with intl and execinfo on FreeBSD.
2017-01-01core: update copyright datesSébastien Helleu
2016-03-21core: add pointer in some callbacks (closes #406)Sébastien Helleu
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-01-01core: update copyright datesSébastien Helleu
2015-07-26core: add option weechat.look.key_grab_delay to set the default delay when ↵Sébastien Helleu
grabbing a key with alt-k
2015-01-01core: update copyright datesSébastien Helleu
2014-03-27core: fix crash on /reload weechatSebastien Helleu
The problem was introduced in commit eef3b570752b974b87f5b189c89813f400f55a6e which was storing split commands inside keys themselves (for optimization). This causes a problem when weechat.conf is reloaded, because all keys are then deleted and created again, which removes the array of commands which is currently used. And then it leads to a crash of WeeChat. This commit reverts this behavior and the key commands are split when they are executed.
2014-03-19core: fix use of reserved C identifiers in headers (closes #31)Sebastien Helleu
2014-02-10core: split key command when the key is created (improve speed when ↵Sebastien Helleu
executing commands of a key)
2014-01-01core: update copyright datesSebastien Helleu
2013-07-15core: add option weechat.look.key_bind_safeSebastien Helleu
2013-01-01core: update copyright datesSebastien Helleu
2012-04-14core: optimize load of keys (save score of keys to sort them faster)Sebastien Helleu
2012-03-24core: convert tabs to spaces in text pasted (bug #25028)Sebastien Helleu
2012-03-09core: improve and fix bugs on standard paste and bracketed pasteSebastien Helleu
Changes: - wait control sequence for end of bracketed paste (and only after, check if we should ask confirmation to user) - add option weechat.look.paste_bracketed_timer_delay to force the end of bracketed paste if the control sequence for end of bracketed paste was not received in time - in bracketed paste mode, with paste_max_lines=1, do not ask confirmation for one line (ask for one line only if paste_max_lines=0) - fix bugs with mintty: bracketed paste should be ok every time (even if some codes are sometimes partially received, WeeChat will now handle that properly); the standard paste often fails (due to bug in mintty, which sends paste very slowly to remote app); so the bracketed paste mode is highly recommended with mintty - after paste in bracketed paste mode, the undo key (ctrl+"_" by default) will undo whole paste, not chars one by one
2012-03-04core: add support of terminal "bracketed paste mode" (task #11316)Sebastien Helleu
2012-01-08core: update copyright datesSebastien Helleu
2011-08-20core: add functions "key_bind" and "key_unbind" in plugin APISebastien Helleu
2011-08-15core: allow a second area for keys in context "mouse" (for drag & drop ↵Sebastien Helleu
between two areas)
2011-08-08core: add optional buffer name for area "chat" in keys of mouse contextSebastien Helleu
2011-08-03core: fix crash with "/input grab_mouse"Sebastien Helleu
2011-07-28core: improve mouse support: process utf-8 codes, add option ↵Sebastien Helleu
weechat.look.mouse_timer_delay, remove key meta2-M, fix problem with iso chars when grabbing mouse codes
2011-07-26core: add mouse support (task #5435), free cursor movement, hook_focus, fix ↵Sebastien Helleu
bugs with key "^" (bug #32072, bug #21381), fix bugs with bar windows, completion and /buffer New features and bugs fixed: - mouse support: new command /mouse, new option weechat.look.mouse, new key context "mouse" - free movement of cursor: new command /cursor, new key context "cursor" - new hook_focus (used by cursor and mouse) - info "cursor_mode" - bugs fixed with key "^" - allow plugin name in /buffer name - fix bugs with bar windows: do not create bar windows for hidden bars - fix completion bug when two words for completion are equal but with different case - automatic scroll direction in /bar scroll (x/y is now optional)
2011-07-05core: add context "search" for keys (to define keys used during search in ↵Sebastien Helleu
buffer with ctrl+"r")