diff options
| author | Přemysl Eric Janouch <p@janouch.name> | 2022-08-24 08:58:32 +0200 | 
|---|---|---|
| committer | Přemysl Eric Janouch <p@janouch.name> | 2022-08-24 09:03:40 +0200 | 
| commit | 24e57872d88793ab0da07b5fe0585dae6d69b94f (patch) | |
| tree | 45c047e49f88358fd5c141008e991996d2c3b585 | |
| parent | a20e4c74d85b4fde4e7b75b46551383761659bbb (diff) | |
| download | nncmpp-24e57872d88793ab0da07b5fe0585dae6d69b94f.tar.gz nncmpp-24e57872d88793ab0da07b5fe0585dae6d69b94f.tar.xz nncmpp-24e57872d88793ab0da07b5fe0585dae6d69b94f.zip | |
Hide messages when interacting with the editor
| -rw-r--r-- | nncmpp.c | 22 | 
1 files changed, 19 insertions, 3 deletions
| @@ -2508,6 +2508,17 @@ app_mpd_toggle (const char *name)  	return MPD_SIMPLE (name, value ? "0" : "1");  } +static void +app_hide_message (void) +{ +	if (g.message) +	{ +		cstr_set (&g.message, NULL); +		poller_timer_reset (&g.message_timer); +		app_invalidate (); +	} +} +  static bool  app_process_action (enum action action)  { @@ -2542,6 +2553,7 @@ app_process_action (enum action action)  		line_editor_start (&g.editor, ':');  		g.editor.on_end = app_on_mpd_command_editor_end;  		app_invalidate (); +		app_hide_message ();  		return true;  	default:  		print_error ("can't do that here: %s", g_action_descriptions[action]); @@ -2563,6 +2575,7 @@ app_process_action (enum action action)  		g.editor.on_changed = incremental_search_on_changed;  		g.editor.on_end = incremental_search_on_end;  		app_invalidate (); +		app_hide_message ();  		return true;  	case ACTION_TAB_LAST: @@ -2764,9 +2777,7 @@ app_process_left_mouse_click (struct widget *w, int x, int y, bool double_click)  		break;  	}  	case WIDGET_MESSAGE: -		cstr_set (&g.message, NULL); -		poller_timer_reset (&g.message_timer); -		app_invalidate (); +		app_hide_message ();  	}  	return true;  } @@ -3029,6 +3040,11 @@ app_process_termo_event (termo_key_t *event)  	struct binding dummy = { *event, 0, 0 }, *binding;  	if (g.editor.line)  	{ +		if (event->type == TERMO_TYPE_KEY +		 || event->type == TERMO_TYPE_FUNCTION +		 || event->type == TERMO_TYPE_KEYSYM) +			app_hide_message (); +  		if ((binding = bsearch (&dummy, g_editor_keys, g_editor_keys_len,  			sizeof *binding, app_binding_cmp)))  			return app_editor_process_action (binding->action); | 
