// with preserved 'other filters' & command line 'user filters',
// we must ensure that we always have a visible task on row one.
- mkVIZrow1(Curwin);
+ mkVIZrow1
// lastly, initialize a signal set used to throttle one troublesome signal
sigemptyset(&Sigwinch_set);
case '?':
case 'h':
help_view();
- mkVIZrow1(Curwin);
+ mkVIZrow1
break;
case 'B':
TOGw(w, View_NOBOLD);
break;
case 'g':
win_select(0);
- mkVIZrow1(Curwin);
+ mkVIZrow1
break;
case 'H':
Thread_mode = !Thread_mode;
break;
case 'Z':
wins_colors();
- mkVIZrow1(Curwin);
+ mkVIZrow1
break;
case '0':
Rc.zero_suppress = !Rc.zero_suppress;
case kbd_CtrlO:
if (VIZCHKw(w)) {
other_filters(ch);
- mkVIZrow1(w);
+ mkVIZrow1
}
break;
case 'U':
if (*str != kbd_ESC
&& (errmsg = user_certify(w, str, ch)))
show_msg(errmsg);
- mkVIZrow1(w);
+ mkVIZrow1
}
break;
case 'V':
case 'w':
if (ALTCHKw) {
win_select(ch);
- mkVIZrow1(Curwin);
+ mkVIZrow1
}
break;
case 'G':
}
break;
case kbd_UP:
- if (VIZCHKw(w)) if (CHKw(w, Show_IDLEPS)) w->begnext = -1;
+ if (VIZCHKw(w)) if (CHKw(w, Show_IDLEPS)) mkVIZrowX(-1)
break;
case kbd_DOWN:
- if (VIZCHKw(w)) if (CHKw(w, Show_IDLEPS)) w->begnext = +1;
+ if (VIZCHKw(w)) if (CHKw(w, Show_IDLEPS)) mkVIZrowX(+1)
break;
#ifdef USE_X_COLHDR // ------------------------------------
case kbd_LEFT:
case kbd_PGUP:
if (VIZCHKw(w)) {
if (CHKw(w, Show_IDLEPS) && 0 < w->begtask) {
- w->begnext = -(w->winlines - (Rc.mode_altscr ? 1 : 2));
+ mkVIZrowX(-(w->winlines - (Rc.mode_altscr ? 1 : 2)))
}
}
break;
case kbd_PGDN:
if (VIZCHKw(w)) {
if (CHKw(w, Show_IDLEPS) && w->begtask < PIDSmaxt - 1) {
- w->begnext = +(w->winlines - (Rc.mode_altscr ? 1 : 2));
+ mkVIZrowX(+(w->winlines - (Rc.mode_altscr ? 1 : 2)))
}
}
break;
case kbd_HOME:
#ifndef SCROLLVAR_NO
if (VIZCHKw(w)) if (CHKw(w, Show_IDLEPS)) w->begtask = w->begpflg = w->varcolbeg = 0;
- mkVIZrow1(w);
+ mkVIZrow1
#else
if (VIZCHKw(w)) if (CHKw(w, Show_IDLEPS)) w->begtask = w->begpflg = 0;
- mkVIZrow1(w);
+ mkVIZrow1
#endif
break;
case kbd_END:
if (VIZCHKw(w)) {
if (CHKw(w, Show_IDLEPS)) {
- w->begnext = (PIDSmaxt - w->winlines) + 1;
+ mkVIZrowX((PIDSmaxt - w->winlines) + 1)
w->begpflg = w->endpflg;
#ifndef SCROLLVAR_NO
w->varcolbeg = 0;
* 1) exclusively for the 'current' window
* 2) immediately after interacting with the user
* 3) who struck: up, down, pgup, pgdn, home, end, 'o/O' or 'u/U'
- * 4) or upon the user switching from one window to another window */
+ * 4) or upon the user switching from one window to another window
+ * ( note: it's entirely possible there are NO visible tasks to show ) */
static void window_hlp (void) {
WIN_t *w = Curwin; // avoid gcc bloat with a local copy
int i, reversed;
&& (*task_show(w, w->ppt[i])))
break;
}
+ w->begtask = i;
+
// reached the top, but maybe this guy ain't visible
- if (!(w->begtask = i) && !reversed) {
+ if (!w->begtask && !reversed) {
if (!(wins_usrselect(w, w->ppt[0]))
|| (!(*task_show(w, w->ppt[0])))) {
reversed = 1;
error_exit(fmtmk(N_fmt(LIB_errorpid_fmt),__LINE__, strerror(errno)));
}
- if (q->begnext) window_hlp();
+ if (mkVIZyes) window_hlp();
else OFFw(q, NOPRINT_xxx);
i = q->begtask;