drawcmd () { int c; CURSOR cursor; if (H==LINES-7 && strlen (cur->shortcwd) + 3 + esclen (command) > 79) { fullscreen (); draw (); } for (c=H+5; c<LINES-1; ++c) { VMove (c, 0); VClearLine (); } VSetDim (); VMPutString (H+5, 0, cur->shortcwd); VSetBold (); VPutString (" > "); VSetNormal (); cursor = VGetCursor (); putescstr (command); if (c = command [cpos]) { VSetCursor (cursor); command [cpos] = 0; putescstr (command); command [cpos] = c; } }
static void drawhead (int nm) { register i, reverse; VSetDim (); reverse = VStandOut (); VMove (0, 0); for (i=0; i<80; ++i) VPutChar (' '); VMove (0, 2); for (i=0; menu[i].name; ++i) { if (i == nm) { VStandEnd (); VSetBold (); } VPutChar (' '); VPutChar (i==nm && !reverse ? '[' : ' '); VPutString (menu[i].name); VPutChar (i==nm && !reverse ? ']' : ' '); VPutChar (' '); if (i == nm) { VStandOut (); VSetDim (); } } VSetNormal (); VStandEnd (); }
static void printudm () { register n; for (n=0; n<nm; ++n) { VMove (menurow+n, menucol+1); switch (um[n].key) { case 1: VPutString ("F1"); break; case 2: VPutString ("F2"); break; case 3: VPutString ("F3"); break; case 4: VPutString ("F4"); break; case 5: VPutString ("F5"); break; case 6: VPutString ("F6"); break; case 7: VPutString ("F7"); break; case 8: VPutString ("F8"); break; case 9: VPutString ("F9"); break; default: VPutChar (um[n].key); break; } if (um[n].menu) VMPutString (menurow+n, menucol+3, "->"); if (um[n].str) VMPutString (menurow+n, menucol+5, um[n].str); } }
/* draw, edit, menu, view */ void printw(char *fmt, int a, int b, int c, int d, int e, int f, int g, int h) { char buf [512]; sprintf (buf, fmt, a,b,c,d,e,f,g,h); VPutString (buf); }