add: if (selection_type=='p') Frames_libflags |= PROC_PID;
context: static void reframewins (void){   WIN_t *w;   char *s;   const char *h;   int i, needpsdb = 0;// Frames_libflags = 0;  // should be called only when it's zero// Frames_maxcmdln = 0;  // to become largest from up to 4 windows, if visible   w = Curwin;   do {      if (!Rc.mode_altscr || CHKw(w, VISIBLE_tsk)) {         // build window's procflags array and establish a tentative maxpflgs         for (i = 0, w->maxpflgs = 0; w->rc.fieldscur[i]; i++) {            if (isupper(w->rc.fieldscur[i]))               w->procflags[w->maxpflgs++] = w->rc.fieldscur[i] - 'A';         }         /* build a preliminary columns header not to exceed screen width            while accounting for a possible leading window number */         *(s = w->columnhdr) = '\0';         if (Rc.mode_altscr) s = scat(s, " ");         for (i = 0; i < w->maxpflgs; i++) {            h = Fieldstab[w->procflags[i]].head;            // oops, won't fit -- we're outta here...            if (Screen_cols < (int)((s - w->columnhdr) + strlen(h))) break;            s = scat(s, h);         }         /* establish the final maxpflgs and prepare to grow the command column            heading via maxcmdln - it may be a fib if P_CMD wasn't encountered,            but that's ok because it won't be displayed anyway */         w->maxpflgs = i;         w->maxcmdln = Screen_cols            - (strlen(w->columnhdr) - strlen(Fieldstab[P_CMD].head)) - 1;         /* finally, we can build the true run-time columns header, format the            command column heading, if P_CMD is really being displayed, and            rebuild the all-important PROC_FILLxxx flags that will be used            until/if we're we're called again */         *(s = w->columnhdr) = '\0';         if (Rc.mode_altscr) s = scat(s, fmtmk("%d", w->winnum));         for (i = 0; i < w->maxpflgs; i++) {            h = Fieldstab[w->procflags[i]].head;            if (P_WCH == w->procflags[i]) needpsdb = 1;            if (P_CMD == w->procflags[i]) {               s = scat(s, fmtmk(Fieldstab[P_CMD].fmts, w->maxcmdln, w->maxcmdln, h));               if (CHKw(w, Show_CMDLIN)) {                  Frames_libflags |= L_CMDLINE;//                if (w->maxcmdln > Frames_maxcmdln) Frames_maxcmdln = w->maxcmdln;               }            } else               s = scat(s, h);            Frames_libflags |= Fieldstab[w->procflags[i]].lflg;         }      }      if (Rc.mode_altscr) w = w->next;   } while (w != Curwin);   // do we need the kernel symbol table (and is it already open?)   if (needpsdb) {      if (-1 == No_ksyms) {         No_ksyms = 0;         if (open_psdb_message(NULL, msg_save))            No_ksyms = 1;         else            PSDBopen = 1;      }   }   if (selection_type=='U') Frames_libflags |= L_status;   if (Frames_libflags & L_EITHER) {      Frames_libflags &= ~L_EITHER;      if (!(Frames_libflags & L_stat)) Frames_libflags |= L_status;   }   if (!Frames_libflags) Frames_libflags = L_DEFAULT;}