⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.c

📁 源码,标准c++用力
💻 C
📖 第 1 页 / 共 2 页
字号:
}/* ARGSUSED */static void do_tekshow (gw, closure, data)    Widget gw;    caddr_t closure, data;{    handle_tekshow (gw, True);}/* ARGSUSED */static void do_tekonoff (gw, closure, data)    Widget gw;    caddr_t closure, data;{    handle_tekshow (gw, False);}/* ARGSUSED */static void do_altscreen (gw, closure, data)    Widget gw;    caddr_t closure, data;{    /* do nothing for now; eventually, will want to flip screen */}static void do_softreset (gw, closure, data)    Widget gw;    caddr_t closure, data;{    VTReset (FALSE);}static void do_hardreset (gw, closure, data)    Widget gw;    caddr_t closure, data;{    VTReset (TRUE);}static void do_clearsavedlines (gw, closure, data)    Widget gw;    caddr_t closure, data;{    register TScreen *screen = &term->screen;    screen->savedlines = 0;    ScrollBarDrawThumb(screen->scrollWidget);    VTReset (TRUE); }static void do_tekmode (gw, closure, data)    Widget gw;    caddr_t closure, data;{    register TScreen *screen = &term->screen;    switch_modes (screen->TekEmu);	/* switch to tek mode */}/* ARGSUSED */static void do_vthide (gw, closure, data)    Widget gw;    caddr_t closure, data;{    hide_vt_window();}/* * vtfont menu */static void do_vtfont (gw, closure, data)    Widget gw;    caddr_t closure, data;{    char *entryname = (char *) closure;    int i;    for (i = 0; i < NMENUFONTS; i++) {	if (strcmp (entryname, fontMenuEntries[i].name) == 0) {	    SetVTFont (i, True, NULL, NULL);	    return;	}    }    Bell();}/* * tek menu */static void do_tektextlarge (gw, closure, data)    Widget gw;    caddr_t closure, data;{    TekSetFontSize (tekMenu_tektextlarge);}static void do_tektext2 (gw, closure, data)    Widget gw;    caddr_t closure, data;{    TekSetFontSize (tekMenu_tektext2);}static void do_tektext3 (gw, closure, data)    Widget gw;    caddr_t closure, data;{    TekSetFontSize (tekMenu_tektext3);}static void do_tektextsmall (gw, closure, data)    Widget gw;    caddr_t closure, data;{    TekSetFontSize (tekMenu_tektextsmall);}static void do_tekpage (gw, closure, data)    Widget gw;    caddr_t closure, data;{    TekSimulatePageButton (False);}static void do_tekreset (gw, closure, data)    Widget gw;    caddr_t closure, data;{    TekSimulatePageButton (True);}static void do_tekcopy (gw, closure, data)    Widget gw;    caddr_t closure, data;{    TekCopy ();}static void handle_vtshow (gw, allowswitch)    Widget gw;    Bool allowswitch;{    register TScreen *screen = &term->screen;    if (!screen->Vshow) {		/* not showing, turn on */	set_vt_visibility (TRUE);    } else if (screen->Tshow || allowswitch) {  /* is showing, turn off */	set_vt_visibility (FALSE);	if (!screen->TekEmu && TekRefresh) dorefresh ();	end_vt_mode ();    } else       Bell();}static void do_vtshow (gw, closure, data)    Widget gw;    caddr_t closure, data;{    handle_vtshow (gw, True);}static void do_vtonoff (gw, closure, data)    Widget gw;    caddr_t closure, data;{    handle_vtshow (gw, False);}static void do_vtmode (gw, closure, data)    Widget gw;    caddr_t closure, data;{    register TScreen *screen = &term->screen;    switch_modes (screen->TekEmu);	/* switch to vt, or from */}/* ARGSUSED */static void do_tekhide (gw, closure, data)    Widget gw;    caddr_t closure, data;{    hide_tek_window();}/* * public handler routines */static void handle_toggle (proc, var, params, nparams, w, closure, data)    void (*proc)();    int var;    String *params;    Cardinal nparams;    Widget w;    caddr_t closure, data;{    int dir = -2;    switch (nparams) {      case 0:	dir = -1;	break;      case 1:	if (XmuCompareISOLatin1 (params[0], "on") == 0) dir = 1;	else if (XmuCompareISOLatin1 (params[0], "off") == 0) dir = 0;	else if (XmuCompareISOLatin1 (params[0], "toggle") == 0) dir = -1;	break;    }    switch (dir) {      case -2:	Bell();	break;      case -1:	(*proc) (w, closure, data);	break;      case 0:	if (var) (*proc) (w, closure, data);	else Bell();	break;      case 1:	if (!var) (*proc) (w, closure, data);	else Bell();	break;    }    return;}void HandleAllowSends(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_allowsends, (int) term->screen.allowSendEvents,		   params, *param_count, w, NULL, NULL);}void HandleSetVisualBell(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_visualbell, (int) term->screen.visualbell,		   params, *param_count, w, NULL, NULL);}#ifdef ALLOWLOGGINGvoid HandleLogging(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_logging, (int) term->screen.logging,		   params, *param_count, w, NULL, NULL);}#endif/* ARGSUSED */void HandleRedraw(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    do_redraw(w, NULL, NULL);}/* ARGSUSED */void HandleSendSignal(w, event, params, param_count)    Widget w;    XEvent *event;		/* unused */    String *params;    Cardinal *param_count;{    static struct sigtab {	char *name;	int sig;    } signals[] = {#ifdef SIGTSTP	{ "suspend",	SIGTSTP },	{ "tstp",	SIGTSTP },#endif#ifdef SIGCONT	{ "cont",	SIGCONT },#endif	{ "int",	SIGINT },	{ "hup",	SIGHUP },	{ "quit",	SIGQUIT },	{ "alrm",	SIGALRM },	{ "alarm",	SIGALRM },	{ "term",	SIGTERM },	{ "kill",	SIGKILL },	{ NULL, 0 },    };    if (*param_count == 1) {	struct sigtab *st;	for (st = signals; st->name; st++) {	    if (XmuCompareISOLatin1 (st->name, params[0]) == 0) {		handle_send_signal (w, st->sig);		return;	    }	}	/* one could allow numeric values, but that would be a security hole */    }    Bell();}/* ARGSUSED */void HandleQuit(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    do_quit(w, NULL, NULL);}void HandleScrollbar(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_scrollbar, (int) term->screen.scrollbar,		   params, *param_count, w, NULL, NULL);}void HandleJumpscroll(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_jumpscroll, (int) term->screen.jumpscroll,		   params, *param_count, w, NULL, NULL);}void HandleReverseVideo(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_reversevideo, (int) (term->flags & REVERSE_VIDEO),		   params, *param_count, w, NULL, NULL);}void HandleAutoWrap(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_autowrap, (int) (term->flags & WRAPAROUND),		   params, *param_count, w, NULL, NULL);}void HandleReverseWrap(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_reversewrap, (int) (term->flags & REVERSEWRAP),		   params, *param_count, w, NULL, NULL);}void HandleAutoLineFeed(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_autolinefeed, (int) (term->flags & LINEFEED),		   params, *param_count, w, NULL, NULL);}void HandleAppCursor(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_appcursor, (int) (term->keyboard.flags & CURSOR_APL),		   params, *param_count, w, NULL, NULL);}void HandleAppKeypad(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_appkeypad, (int) (term->keyboard.flags & KYPD_APL),		   params, *param_count, w, NULL, NULL);}void HandleScrollKey(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_scrollkey, (int) term->screen.scrollkey,		   params, *param_count, w, NULL, NULL);}void HandleScrollTtyOutput(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_scrollttyoutput, (int) term->screen.scrollttyoutput,		   params, *param_count, w, NULL, NULL);}void HandleAllow132(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_allow132, (int) term->screen.c132,		   params, *param_count, w, NULL, NULL);}void HandleCursesEmul(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_cursesemul, (int) term->screen.curses,		   params, *param_count, w, NULL, NULL);}void HandleMarginBell(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    handle_toggle (do_marginbell, (int) term->screen.marginbell,		   params, *param_count, w, NULL, NULL);}void HandleAltScreen(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    /* eventually want to see if sensitive or not */    handle_toggle (do_altscreen, (int) term->screen.alternate,		   params, *param_count, w, NULL, NULL);}/* ARGSUSED */void HandleSoftReset(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    do_softreset(w, NULL, NULL);}/* ARGSUSED */void HandleHardReset(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    do_hardreset(w, NULL, NULL);}/* ARGSUSED */void HandleClearSavedLines(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    do_clearsavedlines(w, NULL, NULL);}void HandleSetTerminalType(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    if (*param_count == 1) {	switch (params[0][0]) {	  case 'v': case 'V':	    if (term->screen.TekEmu) do_vtmode (w, NULL, NULL);	    break;	  case 't': case 'T':	    if (!term->screen.TekEmu) do_tekmode (w, NULL, NULL);	    break;	  default:	    Bell();	}    } else {	Bell();    }}void HandleVisibility(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    if (*param_count == 2) {	switch (params[0][0]) {	  case 'v': case 'V':	    handle_toggle (do_vtonoff, (int) term->screen.Vshow,			   params+1, (*param_count) - 1, w, NULL, NULL);	    break;	  case 't': case 'T':	    handle_toggle (do_tekonoff, (int) term->screen.Tshow,			   params+1, (*param_count) - 1, w, NULL, NULL);	    break;	  default:	    Bell();	}    } else {	Bell();    }}/* ARGSUSED */void HandleSetTekText(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    void (*proc)() = NULL;    switch (*param_count) {      case 0:	proc = do_tektextlarge;	break;      case 1:	switch (params[0][0]) {	  case 'l': case 'L': proc = do_tektextlarge; break;	  case '2': proc = do_tektext2; break;	  case '3': proc = do_tektext3; break;	  case 's': case 'S': proc = do_tektextsmall; break;	}	break;    }    if (proc) (*proc) (w, NULL, NULL);    else Bell();}/* ARGSUSED */void HandleTekPage(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    do_tekpage(w, NULL, NULL);}/* ARGSUSED */void HandleTekReset(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    do_tekreset(w, NULL, NULL);}/* ARGSUSED */void HandleTekCopy(w, event, params, param_count)    Widget w;    XEvent *event;    String *params;    Cardinal *param_count;{    do_tekcopy(w, NULL, NULL);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -