summaryrefslogtreecommitdiff
path: root/top/top.c
diff options
context:
space:
mode:
Diffstat (limited to 'top/top.c')
-rw-r--r--top/top.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/top/top.c b/top/top.c
index 9c046e5..2e8e58c 100644
--- a/top/top.c
+++ b/top/top.c
@@ -2506,6 +2506,7 @@ static void fields_utility (void) {
spewFI
signify_that:
+ Frames_signal = BREAK_off;
putp(Cap_clr_scr);
adj_geometry();
@@ -3556,6 +3557,7 @@ static int insp_view_choice (proc_t *p) {
int key, curlin = 0, curcol = 0;
signify_that:
+ Frames_signal = BREAK_off;
putp(Cap_clr_scr);
adj_geometry();
@@ -3678,6 +3680,7 @@ static void inspection_utility (int pid) {
// must re-hide cursor since the prompt for a pid made it huge
putp((Cursor_state = Cap_curs_hide));
signify_that:
+ Frames_signal = BREAK_off;
putp(Cap_clr_scr);
adj_geometry();
@@ -4778,6 +4781,7 @@ static void wins_colors (void) {
wins_clrhlp(w, 1);
putp((Cursor_state = Cap_curs_huge));
signify_that:
+ Frames_signal = BREAK_off;
putp(Cap_clr_scr);
adj_geometry();
@@ -5504,6 +5508,7 @@ static void help_view (void) {
putp((Cursor_state = Cap_curs_huge));
signify_that:
+ Frames_signal = BREAK_off;
putp(Cap_clr_scr);
adj_geometry();
@@ -5522,22 +5527,26 @@ signify_that:
if (key < 1) goto signify_that;
switch (key) {
+ // these keys serve the primary help screen
case kbd_ESC: case 'q':
break;
case '?': case 'h': case 'H':
do {
- putp(Cap_home);
+signify_this:
+ Frames_signal = BREAK_off;
+ putp(Cap_clr_scr);
+ adj_geometry();
show_special(1, fmtmk(N_unq(WINDOWS_help_fmt)
, w->grpname
, Winstk[0].rc.winname, Winstk[1].rc.winname
, Winstk[2].rc.winname, Winstk[3].rc.winname));
putp(Cap_clr_eos);
fflush(stdout);
- if (Frames_signal || (key = iokey(IOKEY_ONCE)) < 1) {
- adj_geometry();
- putp(Cap_clr_scr);
- } else w = win_select(key);
- } while (key != kbd_ENTER && key != kbd_ESC);
+ if (Frames_signal || (key = iokey(IOKEY_ONCE)) < 1)
+ goto signify_this;
+ else w = win_select(key);
+ // these keys serve the secondary help screen
+ } while (key != kbd_ENTER && key != kbd_ESC && key != 'q');
break;
default:
goto signify_that;