about summary refs log tree commit diff stats
path: root/src/ui/inputwin.c
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2021-05-31 10:03:22 +0200
committerGitHub <noreply@github.com>2021-05-31 10:03:22 +0200
commit956fd547c1beaeb1254b2899f1f3576f5511128a (patch)
tree1e4baf645cd61d75682ccbf722223592ac5fbaca /src/ui/inputwin.c
parent9f174c53cf7d52a7b684ed1e0d6ed00463eb498b (diff)
parent6df062b542d2376d464b2a9d8d6577fdf906cab4 (diff)
downloadprofani-tty-956fd547c1beaeb1254b2899f1f3576f5511128a.tar.gz
Merge pull request #1543 from DebXWoody/feature/attention-flag
Feature - attention flag
Diffstat (limited to 'src/ui/inputwin.c')
-rw-r--r--src/ui/inputwin.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/ui/inputwin.c b/src/ui/inputwin.c
index 74fcfbb4..b2b2ea33 100644
--- a/src/ui/inputwin.c
+++ b/src/ui/inputwin.c
@@ -125,6 +125,8 @@ static int _inp_rl_win_20_handler(int count, int key);
 static int _inp_rl_win_prev_handler(int count, int key);
 static int _inp_rl_win_next_handler(int count, int key);
 static int _inp_rl_win_next_unread_handler(int count, int key);
+static int _inp_rl_win_attention_handler(int count, int key);
+static int _inp_rl_win_attention_next_handler(int count, int key);
 static int _inp_rl_win_pageup_handler(int count, int key);
 static int _inp_rl_win_pagedown_handler(int count, int key);
 static int _inp_rl_subwin_pageup_handler(int count, int key);
@@ -480,6 +482,8 @@ _inp_rl_startup_hook(void)
     rl_bind_keyseq("\\e\\e[C", _inp_rl_win_next_handler);
 
     rl_bind_keyseq("\\ea", _inp_rl_win_next_unread_handler);
+    rl_bind_keyseq("\\ef", _inp_rl_win_attention_handler);
+    rl_bind_keyseq("\\em", _inp_rl_win_attention_next_handler);
 
     rl_bind_keyseq("\\e\\e[5~", _inp_rl_subwin_pageup_handler);
     rl_bind_keyseq("\\e[5;3~", _inp_rl_subwin_pageup_handler);
@@ -807,6 +811,31 @@ _inp_rl_win_next_unread_handler(int count, int key)
 }
 
 static int
+_inp_rl_win_attention_handler(int count, int key) {
+    ProfWin* current = wins_get_current();
+    if ( current ) {
+        gboolean attention = win_toggle_attention(current);
+        if (attention) {
+            win_println(current, THEME_DEFAULT, "!", "Attention flag has been activated");
+        } else {
+            win_println(current, THEME_DEFAULT, "!", "Attention flag has been deactivated");
+        }
+        win_redraw(current);
+    }
+    return 0;
+}
+
+static int
+_inp_rl_win_attention_next_handler(int count, int key) {
+    ProfWin* window = wins_get_next_attention();
+    if (window) {
+        ui_focus_win(window);
+    }
+    return 0;
+}
+
+
+static int
 _inp_rl_win_pageup_handler(int count, int key)
 {
     ProfWin* current = wins_get_current();