diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2023-03-25 11:35:39 +0100 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2023-03-25 11:39:34 +0100 |
commit | dcb2829e9b9792065918ba9903cd03051d36f89f (patch) | |
tree | 00326b35446b7ad9cf4768376d60ad6085cfaa63 | |
parent | 349c907cbf1cba6988b971073f84a91ffdc8074d (diff) | |
download | nncmpp-dcb2829e9b9792065918ba9903cd03051d36f89f.tar.gz nncmpp-dcb2829e9b9792065918ba9903cd03051d36f89f.tar.xz nncmpp-dcb2829e9b9792065918ba9903cd03051d36f89f.zip |
Separate the actions of aborting and quitting
The user should not be afraid of pressing Escape too many times.
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | nncmpp.actions | 1 | ||||
-rw-r--r-- | nncmpp.c | 28 |
3 files changed, 18 insertions, 13 deletions
@@ -5,6 +5,8 @@ Unreleased * Improved song information shown in the window header + * Escape no longer quits the program + * X11: added italic font support * X11: fixed rendering of overflowing, partially visible list items diff --git a/nncmpp.actions b/nncmpp.actions index 403f51f..55db685 100644 --- a/nncmpp.actions +++ b/nncmpp.actions @@ -2,6 +2,7 @@ NONE, Do nothing QUIT, Quit REDRAW, Redraw screen +ABORT, Abort TAB_HELP, Switch to help tab TAB_LAST, Switch to last tab TAB_PREVIOUS, Switch to previous tab @@ -2662,6 +2662,14 @@ app_process_action (enum action action) case ACTION_NONE: return true; case ACTION_QUIT: + app_quit (); + return true; + case ACTION_REDRAW: + clear (); + app_invalidate (); + return true; + + case ACTION_ABORT: // It is a pseudomode, avoid surprising the user if (tab->item_mark > -1) { @@ -2669,13 +2677,7 @@ app_process_action (enum action action) app_invalidate (); return true; } - - app_quit (); - return true; - case ACTION_REDRAW: - clear (); - app_invalidate (); - return true; + return false; case ACTION_MPD_COMMAND: line_editor_start (&g.editor, ':'); g.editor.on_end = app_on_mpd_command_editor_end; @@ -2807,7 +2809,7 @@ app_editor_process_action (enum action action) app_invalidate (); switch (action) { - case ACTION_QUIT: + case ACTION_ABORT: line_editor_abort (&g.editor, false); g.editor.on_end = NULL; return true; @@ -3007,9 +3009,9 @@ static struct binding_default } g_normal_defaults[] = { - { "Escape", ACTION_QUIT }, { "q", ACTION_QUIT }, { "C-l", ACTION_REDRAW }, + { "Escape", ACTION_ABORT }, { "M-Tab", ACTION_TAB_LAST }, { "F1", ACTION_TAB_HELP }, { "S-Tab", ACTION_TAB_PREVIOUS }, @@ -3075,6 +3077,10 @@ g_normal_defaults[] = }, g_editor_defaults[] = { + { "C-g", ACTION_ABORT }, + { "Escape", ACTION_ABORT }, + { "Enter", ACTION_EDITOR_CONFIRM }, + { "Left", ACTION_EDITOR_B_CHAR }, { "Right", ACTION_EDITOR_F_CHAR }, { "C-b", ACTION_EDITOR_B_CHAR }, @@ -3098,10 +3104,6 @@ g_editor_defaults[] = { "C-u", ACTION_EDITOR_B_KILL_LINE }, { "C-k", ACTION_EDITOR_F_KILL_LINE }, { "C-w", ACTION_EDITOR_B_KILL_WORD }, - - { "C-g", ACTION_QUIT }, - { "Escape", ACTION_QUIT }, - { "Enter", ACTION_EDITOR_CONFIRM }, }; static int |