about summary refs log tree commit diff stats
path: root/src/ui/inputwin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/inputwin.c')
-rw-r--r--src/ui/inputwin.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ui/inputwin.c b/src/ui/inputwin.c
index 157cab83..44d0091e 100644
--- a/src/ui/inputwin.c
+++ b/src/ui/inputwin.c
@@ -121,6 +121,7 @@ static int _inp_rl_win_19_handler(int count, int key);
 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_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);
@@ -403,6 +404,7 @@ _inp_rl_addfuncs(void)
     rl_add_funmap_entry("prof_win_20", _inp_rl_win_20_handler);
     rl_add_funmap_entry("prof_win_prev", _inp_rl_win_prev_handler);
     rl_add_funmap_entry("prof_win_next", _inp_rl_win_next_handler);
+    rl_add_funmap_entry("prof_win_next_unread", _inp_rl_win_next_unread_handler);
     rl_add_funmap_entry("prof_win_pageup", _inp_rl_win_pageup_handler);
     rl_add_funmap_entry("prof_win_pagedown", _inp_rl_win_pagedown_handler);
     rl_add_funmap_entry("prof_subwin_pageup", _inp_rl_subwin_pageup_handler);
@@ -456,6 +458,8 @@ _inp_rl_startup_hook(void)
     rl_bind_keyseq("\\e[1;3C", _inp_rl_win_next_handler);
     rl_bind_keyseq("\\e\\e[C", _inp_rl_win_next_handler);
 
+    rl_bind_keyseq("\\ea", _inp_rl_win_next_unread_handler);
+
     rl_bind_keyseq("\\e\\e[5~", _inp_rl_subwin_pageup_handler);
     rl_bind_keyseq("\\e[5;3~", _inp_rl_subwin_pageup_handler);
     rl_bind_keyseq("\\e\\eOy", _inp_rl_subwin_pageup_handler);
@@ -770,6 +774,16 @@ _inp_rl_win_next_handler(int count, int key)
 }
 
 static int
+_inp_rl_win_next_unread_handler(int count, int key)
+{
+    ProfWin *window = wins_get_next_unread();
+    if (window) {
+        ui_focus_win(window);
+    }
+    return 0;
+}
+
+static int
 _inp_rl_win_pageup_handler(int count, int key)
 {
     ProfWin *current = wins_get_current();