]> jfr.im git - irc/weechat/weechat.git/commitdiff
core: display actual key name and command with key Alt+k
authorSébastien Helleu <redacted>
Mon, 26 Jun 2023 17:30:42 +0000 (19:30 +0200)
committerSébastien Helleu <redacted>
Mon, 26 Jun 2023 18:40:11 +0000 (20:40 +0200)
Key Alt+K (upper K) is removed as well as commands `/input grab_raw_key` and
`/input grab_raw_key_command`.

ChangeLog.adoc
ReleaseNotes.adoc
src/core/wee-command.c
src/gui/curses/gui-curses-key.c
src/gui/gui-input.c
src/gui/gui-input.h
src/gui/gui-key.c
src/gui/gui-key.h

index 704c6f8b1cb0ab4a2589de88f3a1f0871719b072..b92ab3f9377880ff85b79eb8b38d5975b54fffba 100644 (file)
@@ -16,6 +16,7 @@ For a list of important changes that require manual actions, please look at rele
 Bug fixes::
 
   * core: force key "return" to command "/input return" when migrating legacy keys
+  * core: display actual key name and command with key kbd:[Alt+k], remove key kbd:[Alt+K] (grab raw key) and associated commands `/input grab_raw_key` and `/input grab_raw_key_command`
   * irc: reply to a CTCP request sent to self nick (issue #1966)
 
 [[v4.0.0]]
index 12ceedacddf35464aba58aa4cc5824477be915a3..c702e2092bdbf8a0b0c7318fea733064db5d589c 100644 (file)
@@ -11,6 +11,18 @@ It is recommended to read it when upgrading to a new stable version. +
 For a complete list of changes, please look at ChangeLog.
 
 
+[[v4.0.1]]
+== Version 4.0.1 (under dev)
+
+[[v4.0.1_grab_raw_key]]
+==== Grab raw key and command
+
+Key kbd:[Alt+K] (upper case) has been removed, as well as commands
+`/input grab_raw_key` and `/input grab_raw_key_command`.
+
+Now the key kbd:[Alt+k] displays the actual key name and command, possibly
+raw key.
+
 [[v4.0.0]]
 == Version 4.0.0 (2023-06-24)
 
index 2d6431ed31846549319a99d901adc04c4b74f613..6dd52aa3f300866b5cceb4a26922cab1303128f0 100644 (file)
@@ -3534,28 +3534,12 @@ COMMAND_CALLBACK(input)
     else if (string_strcmp (argv[1], "grab_key") == 0)
     {
         gui_input_grab_key (buffer,
-                            0, /* raw_key */
-                            0, /* command */
-                            (argc > 2) ? argv[2] : NULL);
-    }
-    else if (string_strcmp (argv[1], "grab_raw_key") == 0)
-    {
-        gui_input_grab_key (buffer,
-                            1, /* raw_key */
                             0, /* command */
                             (argc > 2) ? argv[2] : NULL);
     }
     else if (string_strcmp (argv[1], "grab_key_command") == 0)
     {
         gui_input_grab_key (buffer,
-                            0, /* raw_key */
-                            1, /* command */
-                            (argc > 2) ? argv[2] : NULL);
-    }
-    else if (string_strcmp (argv[1], "grab_raw_key_command") == 0)
-    {
-        gui_input_grab_key (buffer,
-                            1, /* raw_key */
                             1, /* command */
                             (argc > 2) ? argv[2] : NULL);
     }
@@ -8433,7 +8417,7 @@ command_init ()
         "move_next_word || move_previous_line || move_next_line || "
         "history_previous || history_next || history_global_previous || "
         "history_global_next || "
-        "grab_key || grab_raw_key || grab_raw_key_command || grab_key_command || "
+        "grab_key || grab_key_command || "
         "grab_mouse || grab_mouse_area || "
         "insert || send",
         &command_input, NULL, NULL);
index e249277a4fbae219736f16c07dc978938d19df65..eeedbb27be64ac5daaffae890d77813b305e6468 100644 (file)
@@ -134,7 +134,6 @@ gui_key_default_bindings (int context, int create_option)
         BIND("meta-h,meta-r",     "/hotlist restore");
         BIND("meta-h,meta-R",     "/hotlist restore -all");
         BIND("meta-k",            "/input grab_key_command");
-        BIND("meta-K",            "/input grab_raw_key_command");
         BIND("meta-s",            "/mute spell toggle");
         BIND("meta-u",            "/window scroll_unread");
         BIND("ctrl-s,ctrl-u",     "/allbuf /buffer set unread");
index bbe27dd307a6a0d1e9623f043d7ed7cdca5a472b..29f89bf32b5d519eb8af662097eecaa741242966 100644 (file)
@@ -1729,11 +1729,10 @@ gui_input_history_global_next (struct t_gui_buffer *buffer)
  */
 
 void
-gui_input_grab_key (struct t_gui_buffer *buffer, int raw_key, int command,
-                    const char *delay)
+gui_input_grab_key (struct t_gui_buffer *buffer, int command, const char *delay)
 {
     if (buffer->input)
-        gui_key_grab_init (raw_key, command, delay);
+        gui_key_grab_init (command, delay);
 }
 
 /*
index a75459f3b476b7b807b11f50e433043e839d5070..b176ea4249b12623573d072bf2d6906a991f0a48 100644 (file)
@@ -78,8 +78,8 @@ extern void gui_input_history_local_previous (struct t_gui_buffer *buffer);
 extern void gui_input_history_local_next (struct t_gui_buffer *buffer);
 extern void gui_input_history_global_previous (struct t_gui_buffer *buffer);
 extern void gui_input_history_global_next (struct t_gui_buffer *buffer);
-extern void gui_input_grab_key (struct t_gui_buffer *buffer, int raw_key,
-                                int command, const char *delay);
+extern void gui_input_grab_key (struct t_gui_buffer *buffer, int command,
+                                const char *delay);
 extern void gui_input_grab_mouse (struct t_gui_buffer *buffer, int area);
 extern void gui_input_insert (struct t_gui_buffer *buffer, const char *args);
 extern void gui_input_undo (struct t_gui_buffer *buffer);
index 1737d2bad0dd117047e30283a094924b4901827c..19aa00f0f4430699f718d82eb7b10947d0187f41 100644 (file)
@@ -87,7 +87,6 @@ int gui_key_verbose = 0;            /* 1 to see some messages               */
 
 char gui_key_combo[1024];           /* buffer used for combos               */
 int gui_key_grab = 0;               /* 1 if grab mode enabled (alt-k)       */
-int gui_key_grab_raw = 0;           /* grab raw key code?                   */
 int gui_key_grab_count = 0;         /* number of keys pressed in grab mode  */
 int gui_key_grab_command = 0;       /* grab command bound to key?           */
 int gui_key_grab_delay = 0;         /* delay for grab (default is 500)      */
@@ -185,13 +184,12 @@ gui_key_get_current_context ()
  */
 
 void
-gui_key_grab_init (int grab_raw_key, int grab_command, const char *delay)
+gui_key_grab_init (int grab_command, const char *delay)
 {
     long milliseconds;
     char *error;
 
     gui_key_grab = 1;
-    gui_key_grab_raw = grab_raw_key;
     gui_key_grab_count = 0;
     gui_key_grab_command = grab_command;
 
@@ -217,8 +215,7 @@ int
 gui_key_grab_end_timer_cb (const void *pointer, void *data, int remaining_calls)
 {
     char *key_name, *key_name_alias, *key_utf8;
-    const char *ptr_key_name;
-    struct t_gui_key *ptr_key;
+    struct t_gui_key *ptr_key_raw, *ptr_key;
     int rc;
 
     /* make C compiler happy */
@@ -264,23 +261,23 @@ gui_key_grab_end_timer_cb (const void *pointer, void *data, int remaining_calls)
             }
         }
 
-        ptr_key_name = (gui_key_grab_raw) ? key_name : key_name_alias;
-
         /* add expanded key to input buffer */
         if (gui_current_window->buffer->input)
         {
-            gui_input_insert_string (gui_current_window->buffer, ptr_key_name);
-            if (gui_key_grab_command)
+            ptr_key_raw = gui_key_search (gui_keys[GUI_KEY_CONTEXT_DEFAULT],
+                                          key_name);
+            ptr_key = gui_key_search (gui_keys[GUI_KEY_CONTEXT_DEFAULT],
+                                      key_name_alias);
+            gui_input_insert_string (gui_current_window->buffer,
+                                     (ptr_key_raw) ? key_name : key_name_alias);
+            /* add command bound to key (if found) */
+            if (gui_key_grab_command && (ptr_key_raw || ptr_key))
             {
-                /* add command bound to key (if found) */
-                ptr_key = gui_key_search (gui_keys[GUI_KEY_CONTEXT_DEFAULT],
-                                          ptr_key_name);
-                if (ptr_key)
-                {
-                    gui_input_insert_string (gui_current_window->buffer, " ");
-                    gui_input_insert_string (gui_current_window->buffer,
-                                             ptr_key->command);
-                }
+                gui_input_insert_string (gui_current_window->buffer, " ");
+                gui_input_insert_string (
+                    gui_current_window->buffer,
+                    (ptr_key_raw) ?
+                    ptr_key_raw->command : ptr_key->command);
             }
             gui_input_text_changed_modifier_and_signal (
                 gui_current_window->buffer,
index e767c61505c6b84ba72a4b86119e5b83e5e7d8db..b0aeb2ad8c6f958b4ea76bab6241841ccb7518e1 100644 (file)
@@ -90,8 +90,7 @@ extern time_t gui_key_last_activity_time;
 
 extern void gui_key_init ();
 extern int gui_key_search_context (const char *context);
-extern void gui_key_grab_init (int grab_raw_key, int grab_command,
-                               const char *delay);
+extern void gui_key_grab_init (int grab_command, const char *delay);
 extern int gui_key_expand (const char *key,
                            char **key_name, char **key_name_alias);
 extern char *gui_key_legacy_to_alias (const char *key);