mirror of
https://github.com/weechat/weechat.git
synced 2026-06-25 04:16:38 +02:00
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`).
This commit is contained in:
+16
-2
@@ -1519,7 +1519,7 @@ config_weechat_update_cb (const void *pointer, void *data,
|
||||
int version_read,
|
||||
struct t_hashtable *data_read)
|
||||
{
|
||||
const char *ptr_section, *ptr_option;
|
||||
const char *ptr_section, *ptr_option, *ptr_value;
|
||||
char *new_option;
|
||||
int changes;
|
||||
|
||||
@@ -1543,6 +1543,7 @@ config_weechat_update_cb (const void *pointer, void *data,
|
||||
*/
|
||||
ptr_section = hashtable_get (data_read, "section");
|
||||
ptr_option = hashtable_get (data_read, "option");
|
||||
ptr_value = hashtable_get (data_read, "value");
|
||||
if (ptr_section
|
||||
&& ptr_option
|
||||
&& ((strcmp (ptr_section, "key") == 0)
|
||||
@@ -1550,8 +1551,21 @@ config_weechat_update_cb (const void *pointer, void *data,
|
||||
|| (strcmp (ptr_section, "key_cursor") == 0)
|
||||
|| (strcmp (ptr_section, "key_mouse") == 0)))
|
||||
{
|
||||
/*
|
||||
* remove some obsolete keys:
|
||||
* - "meta2-200~": start paste
|
||||
* - "meta2-201~": end paste
|
||||
* - "meta2-G": page down (only if bound to "/window page_down")
|
||||
* - "meta2-I": page up (only if bound to "/window page_up")
|
||||
*/
|
||||
if ((strcmp (ptr_option, "meta2-200~") == 0)
|
||||
|| (strcmp (ptr_option, "meta2-201~") == 0))
|
||||
|| (strcmp (ptr_option, "meta2-201~") == 0)
|
||||
|| ((strcmp (ptr_option, "meta2-G") == 0)
|
||||
&& ptr_value
|
||||
&& (strcmp (ptr_value, "/window page_down") == 0))
|
||||
|| ((strcmp (ptr_option, "meta2-I") == 0)
|
||||
&& ptr_value
|
||||
&& (strcmp (ptr_value, "/window page_up") == 0)))
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
_("Legacy key removed: \"%s\""),
|
||||
|
||||
@@ -661,12 +661,8 @@ gui_key_expand (const char *key, char **key_name, char **key_name_alias)
|
||||
}
|
||||
else if (key[0] == 'F')
|
||||
snprintf (str_alias, sizeof (str_alias), "end");
|
||||
else if (key[0] == 'G')
|
||||
snprintf (str_alias, sizeof (str_alias), "pgdn");
|
||||
else if (key[0] == 'H')
|
||||
snprintf (str_alias, sizeof (str_alias), "home");
|
||||
else if (key[0] == 'I')
|
||||
snprintf (str_alias, sizeof (str_alias), "pgup");
|
||||
else if (key[0] == 'P')
|
||||
snprintf (str_alias, sizeof (str_alias), "f1");
|
||||
else if (key[0] == 'Q')
|
||||
|
||||
@@ -437,39 +437,23 @@ TEST(GuiKey, Expand)
|
||||
|
||||
/* pgup */
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[5~", "pgup", "\001[[5~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[I", "pgup", "\001[[I");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[5;2~", "shift-pgup", "\001[[5;2~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;2I", "shift-pgup", "\001[[1;2I");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[5;3~", "meta-pgup", "\001[[5;3~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;3I", "meta-pgup", "\001[[1;3I");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[5;4~", "meta-shift-pgup", "\001[[5;4~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;4I", "meta-shift-pgup", "\001[[1;4I");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[5;5~", "ctrl-pgup", "\001[[5;5~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;5I", "ctrl-pgup", "\001[[1;5I");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[5;6~", "ctrl-shift-pgup", "\001[[5;6~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;6I", "ctrl-shift-pgup", "\001[[1;6I");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[5;7~", "meta-ctrl-pgup", "\001[[5;7~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;7I", "meta-ctrl-pgup", "\001[[1;7I");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[5;8~", "meta-ctrl-shift-pgup", "\001[[5;8~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;8I", "meta-ctrl-shift-pgup", "\001[[1;8I");
|
||||
|
||||
/* pgdn */
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[6~", "pgdn", "\001[[6~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[G", "pgdn", "\001[[G");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[6;2~", "shift-pgdn", "\001[[6;2~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;2G", "shift-pgdn", "\001[[1;2G");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[6;3~", "meta-pgdn", "\001[[6;3~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;3G", "meta-pgdn", "\001[[1;3G");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[6;4~", "meta-shift-pgdn", "\001[[6;4~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;4G", "meta-shift-pgdn", "\001[[1;4G");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[6;5~", "ctrl-pgdn", "\001[[6;5~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;5G", "ctrl-pgdn", "\001[[1;5G");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[6;6~", "ctrl-shift-pgdn", "\001[[6;6~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;6G", "ctrl-shift-pgdn", "\001[[1;6G");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[6;7~", "meta-ctrl-pgdn", "\001[[6;7~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;7G", "meta-ctrl-pgdn", "\001[[1;7G");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[6;8~", "meta-ctrl-shift-pgdn", "\001[[6;8~");
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[1;8G", "meta-ctrl-shift-pgdn", "\001[[1;8G");
|
||||
|
||||
/* f0 */
|
||||
WEE_CHECK_EXP_KEY(1, "meta-[10~", "f0", "\001[[10~"); /* urxvt */
|
||||
|
||||
Reference in New Issue
Block a user