1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-12 14:14:48 +02:00

core: update ChangeLog and release notes (closes #1238)

This commit is contained in:
Sébastien Helleu
2023-03-18 15:21:17 +01:00
parent 5f475ab8cf
commit ff544f48fb
2 changed files with 73 additions and 2 deletions
+9 -1
View File
@@ -20,10 +20,15 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
New features::
* core: use human readable key bindings, separate keys with comma in combos, remove modifier "meta2-" (issue #1238, task #10317)
* core: make keys normal options, so they are shown and can be updated with `/set` and `/fset` commands (task #12427, task #11783)
* core: add key kbd:[Alt+K] (upper case) to grab raw key and its command (issue #1238)
* core: add option `key` in command `/debug` (issue #1238)
* core: force ctrl keys to lower case when they are added (issue #1875)
* core: add access to hashtable properties in evaluation of expressions (issue #1888)
* core: display similar command names when a command is unknown (issue #1877)
* core: force ctrl keys to lower case when they are added (issue #1875)
* core, plugins: make many identifiers case sensitive (issue #1872, issue #398, bug #32213)
* api: add function config_set_version (issue #1238)
* alias: use lower case for default aliases (issue #1872)
* irc: add command `/rules` (issue #1864)
* irc: add command `/knock` (issue #7)
@@ -32,11 +37,14 @@ New features::
Bug fixes::
* core: display a specific error when trying to bind a key without area in mouse context
* core: fix display of key with command `/key bindctxt <context> <key>`
* core: fix crash in case of NULL message sent to function gui_chat_printf_y_date_tags (issue #1883)
* core: allow command `/input move_next_word` going to the end of line (issue #1881)
* core: ignore incomplete ctrl/meta/meta2 codes in keys
* core: fix display glitch in command errors when a wide char is set in option weechat.look.command_chars (issue #1871)
* api: readjust string size in function string_dyn_free when string is not freed
* buflist: do not display keys added in default context on first load
* fset: remove scroll to top of fset buffer when options are added or removed (issue #1892)
* irc: fix join of channels in "autojoin" server option on first connection to server if auto reconnection is performed (issue #1873)
* typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (issue #1869)
+64 -1
View File
@@ -20,8 +20,71 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
[[v3.9]]
== Version 3.9 (under dev)
[[v3.9_key_bindings_improvements]]
=== Key bindings improvements
The format of key bindings has changed to be more user-friendly, and this is
a breaking change: legacy keys are automatically converted, but some triggers,
plugins or scripts might need manual changes.
Overview of new features:
- use of alias for keys (`meta-left` instead of `meta2-1;3D`)
- use comma to separate keys in combos (`meta-w,meta-up` instead of
`meta-wmeta-meta2-A`)
- control keys are converted to lower keys (`ctrl-a` instead of `ctrl-A`)
- keys are normal options, so they are shown and can be updated with `/set`
and `/fset` commands
- command `/key` without arguments opens the fset buffer with all keys
See https://specs.weechat.org/specs/2023-002-key-bindings-improvements.html[Key bindings improvements specification]
for more information.
[[v3.9_new_key_format]]
==== New key format
Aliases are now used for keys, like `f1`, `home`, `return`, etc. +
In addition, a comma is now required between different keys, for example `ctrl-cb`
is not valid any more and must be replaced by `ctrl-c,b`.
The keys in weechat.conf are automatically converted from legacy format on first
run or upgrade with a legacy configuration file.
For keys bound in external plugins or scripts, WeeChat tries to convert them
on-the-fly to stay compatible, but this can not work in all cases (this is a
breaking change).
The following fixes are done on keys when they are defined:
- transform upper case ctrl keys to lower case
- replace space char by `space`
- replace `meta2-` by `meta-[` (modifier `meta2-` doesn't exist any more)
- mouse modifiers are now in this order: `alt-` then `ctrl-`.
A warning is displayed when a raw key or invalid key is added. +
For example `meta-[A` (which should be `up`) or `ctrl-ca` (missing comma, it
should be `ctrl-c,a`).
[[v3.9_grab_raw_key]]
==== Grab raw key and command
New key kbd:[Alt+K] (upper case) is added to grab raw key and its command.
Most of times this command is not needed, and the existing key kbd:[Alt+k]
(lower case) is preferred, as it returns the key using the new aliases.
For example:
- key kbd:[Alt+k] then up arrow displays: `up /input history_previous`
- key kbd:[Alt+K] then up arrow displays: `meta-[A`
Raw keys have higher priority than key with alias (they are looked first);
they can still be used and bound, but this is not recommended. +
They should be used only in case of problem with the new aliases or with your
terminal.
[[v3.9_ctrl_keys_lower_case]]
=== Control keys as lower case
==== Control keys as lower case
Keys using the kbd:[Ctrl] key and a letter are now automatically converted to
lower case. +