*** /net/src/X11R5/mit/clients/xterm/charproc.c Mon May 4 14:14:41 1992 --- charproc.c Mon Sep 6 17:40:58 1993 *************** *** 125,130 **** --- 125,133 ---- #define XtNtekStartup "tekStartup" #define XtNtiteInhibit "titeInhibit" #define XtNvisualBell "visualBell" + + #define XtNPopOnBell "popOnBell" + #define XtNallowSendEvents "allowSendEvents" #define XtCAlwaysHighlight "AlwaysHighlight" *************** *** 163,168 **** --- 166,174 ---- #define XtCTekStartup "TekStartup" #define XtCTiteInhibit "TiteInhibit" #define XtCVisualBell "VisualBell" + + #define XtCPopOnBell "PopOnBell" + #define XtCAllowSendEvents "AllowSendEvents" #define doinput() (bcnt-- > 0 ? *bptr++ : in_put()) *************** *** 201,206 **** --- 207,215 ---- extern void HandleStartExtend(), HandleKeyboardStartExtend(); static void HandleBell(); static void HandleVisualBell(); + + extern void HandleSetPopOnBell(); + static void HandleIgnore(); extern void HandleSecure(); extern void HandleScrollForward(); *************** *** 286,291 **** --- 295,301 ---- /* menu actions */ { "allow-send-events", HandleAllowSends }, { "set-visual-bell", HandleSetVisualBell }, + { "set-PopOnBell", HandleSetPopOnBell }, { "set-logging", HandleLogging }, { "redraw", HandleRedraw }, { "send-signal", HandleSendSignal }, *************** *** 455,460 **** --- 465,475 ---- {XtNvisualBell, XtCVisualBell, XtRBoolean, sizeof(Boolean), XtOffsetOf(XtermWidgetRec, screen.visualbell), XtRBoolean, (caddr_t) &defaultFALSE}, + + {XtNPopOnBell, XtCPopOnBell, XtRBoolean, sizeof(Boolean), + XtOffsetOf(XtermWidgetRec, screen.PopOnBell), + XtRBoolean, (caddr_t) &defaultFALSE}, + {XtNallowSendEvents, XtCAllowSendEvents, XtRBoolean, sizeof(Boolean), XtOffsetOf(XtermWidgetRec, screen.allowSendEvents), XtRBoolean, (caddr_t) &defaultFALSE}, *************** *** 2182,2187 **** --- 2197,2205 ---- new->screen.scrollttyoutput = request->screen.scrollttyoutput; new->screen.scrollkey = request->screen.scrollkey; new->screen.visualbell = request->screen.visualbell; + + new->screen.PopOnBell = request->screen.PopOnBell; + new->screen.TekEmu = request->screen.TekEmu; new->misc.re_verse = request->misc.re_verse; new->screen.multiClickTime = request->screen.multiClickTime; *** /net/src/X11R5/mit/clients/xterm/main.c Mon May 4 14:14:34 1992 --- main.c Mon Sep 6 17:15:16 1993 *************** *** 153,159 **** #ifndef SYSV /* BSD systems */ #include #include ! #define HAS_UTMP_UT_HOST #define HAS_BSD_GROUPS #endif /* !SYSV */ --- 153,159 ---- #ifndef SYSV /* BSD systems */ #include #include ! /* #define HAS_UTMP_UT_HOST */ #define HAS_BSD_GROUPS #endif /* !SYSV */ *************** *** 525,530 **** --- 525,534 ---- {"+im", "*useInsertMode", XrmoptionNoArg, (caddr_t) "off"}, {"-vb", "*visualBell", XrmoptionNoArg, (caddr_t) "on"}, {"+vb", "*visualBell", XrmoptionNoArg, (caddr_t) "off"}, + + {"-pob", "*popOnBell", XrmoptionNoArg, (caddr_t) "on"}, + {"+pob", "*popOnBell", XrmoptionNoArg, (caddr_t) "off"}, + {"-wf", "*waitForMap", XrmoptionNoArg, (caddr_t) "on"}, {"+wf", "*waitForMap", XrmoptionNoArg, (caddr_t) "off"}, /* bogus old compatibility stuff for which there are *************** *** 592,597 **** --- 596,602 ---- { "-/+ut", "turn on/off utmp inhibit (not supported)" }, #endif { "-/+vb", "turn on/off visual bell" }, + { "-/+pop", "turn on/off PopOnBell" }, { "-/+wf", "turn on/off wait for map before command exec" }, { "-e command args ...", "command to execute" }, { "%geom", "Tek window geometry" }, *** /net/src/X11R5/mit/clients/xterm/menu.c Wed May 6 10:57:21 1992 --- menu.c Fri Jul 9 15:45:27 1993 *************** *** 42,48 **** do_tekmode(), do_vthide(), do_tektextlarge(), do_tektext2(), do_tektext3(), do_tektextsmall(), do_tekpage(), do_tekreset(), do_tekcopy(), do_vtshow(), do_vtmode(), ! do_tekhide(), do_vtfont(); /* --- 42,48 ---- do_tekmode(), do_vthide(), do_tektextlarge(), do_tektext2(), do_tektext3(), do_tektextsmall(), do_tekpage(), do_tekreset(), do_tekcopy(), do_vtshow(), do_vtmode(), ! do_tekhide(), do_vtfont(), do_PopOnBell(); /* *************** *** 78,93 **** { "cursesemul", do_cursesemul, NULL }, /* 11 */ { "visualbell", do_visualbell, NULL }, /* 12 */ { "marginbell", do_marginbell, NULL }, /* 13 */ - { "altscreen", do_altscreen, NULL }, /* 14 */ - { "line1", NULL, NULL }, /* 15 */ - { "softreset", do_softreset, NULL }, /* 16 */ - { "hardreset", do_hardreset, NULL }, /* 17 */ - { "clearsavedlines",do_clearsavedlines, NULL }, /* 18 */ - { "line2", NULL, NULL }, /* 19 */ - { "tekshow", do_tekshow, NULL }, /* 20 */ - { "tekmode", do_tekmode, NULL }, /* 21 */ - { "vthide", do_vthide, NULL }}; /* 22 */ MenuEntry fontMenuEntries[] = { { "fontdefault", do_vtfont, NULL }, /* 0 */ { "font1", do_vtfont, NULL }, /* 1 */ --- 78,98 ---- { "cursesemul", do_cursesemul, NULL }, /* 11 */ { "visualbell", do_visualbell, NULL }, /* 12 */ { "marginbell", do_marginbell, NULL }, /* 13 */ + { "PopOnBell", do_PopOnBell, NULL }, /* 14 */ + + { "altscreen", do_altscreen, NULL }, /* 15 */ + { "line1", NULL, NULL }, /* 16 */ + { "softreset", do_softreset, NULL }, /* 17 */ + { "hardreset", do_hardreset, NULL }, /* 18 */ + { "clearsavedlines",do_clearsavedlines, NULL }, /* 19 */ + { "line2", NULL, NULL }, /* 20 */ + { "tekshow", do_tekshow, NULL }, /* 21 */ + { "tekmode", do_tekmode, NULL }, /* 22 */ + { "vthide", do_vthide, NULL }}; /* 23 */ + + + MenuEntry fontMenuEntries[] = { { "fontdefault", do_vtfont, NULL }, /* 0 */ { "font1", do_vtfont, NULL }, /* 1 */ *************** *** 188,193 **** --- 193,199 ---- update_cursesemul(); update_visualbell(); update_marginbell(); + update_PopOnBell(); } break; *************** *** 358,363 **** --- 364,379 ---- update_visualbell(); } + static void do_PopOnBell (gw, closure, data) + Widget gw; + caddr_t closure, data; + { + register TScreen *screen = &term->screen; + + screen->PopOnBell = !screen->PopOnBell; + update_PopOnBell(); + } + static void do_logging (gw, closure, data) Widget gw; caddr_t closure, data; *************** *** 876,881 **** --- 892,907 ---- Cardinal *param_count; { handle_toggle (do_visualbell, (int) term->screen.visualbell, + params, *param_count, w, NULL, NULL); + } + + void HandleSetPopOnBell(w, event, params, param_count) + Widget w; + XEvent *event; + String *params; + Cardinal *param_count; + { + handle_toggle (do_PopOnBell, (int) term->screen.PopOnBell, params, *param_count, w, NULL, NULL); } *** /net/src/X11R5/mit/clients/xterm/menu.h Wed Jun 26 01:49:48 1991 --- menu.h Thu Jun 10 15:00:22 1993 *************** *** 14,19 **** --- 14,22 ---- without express or implied warranty. */ + /* Added PopOnBell patch. */ + /* G. Laurent */ + typedef struct _MenuEntry { char *name; void (*function)(); *************** *** 95,110 **** #define vtMenu_cursesemul 11 #define vtMenu_visualbell 12 #define vtMenu_marginbell 13 ! #define vtMenu_altscreen 14 ! #define vtMenu_line1 15 ! #define vtMenu_softreset 16 ! #define vtMenu_hardreset 17 ! #define vtMenu_clearsavedlines 18 ! #define vtMenu_line2 19 ! #define vtMenu_tekshow 20 ! #define vtMenu_tekmode 21 ! #define vtMenu_vthide 22 /* * items in vt100 font menu */ --- 98,118 ---- #define vtMenu_cursesemul 11 #define vtMenu_visualbell 12 #define vtMenu_marginbell 13 ! ! #define vtMenu_PopOnBell 14 /* Perso. add-on (G. Laurent) */ ! ! #define vtMenu_altscreen 15 ! #define vtMenu_line1 16 ! #define vtMenu_softreset 17 ! #define vtMenu_hardreset 18 ! #define vtMenu_clearsavedlines 19 ! #define vtMenu_line2 20 ! #define vtMenu_tekshow 21 ! #define vtMenu_tekmode 22 ! #define vtMenu_vthide 23 ! + /* * items in vt100 font menu */ *************** *** 239,244 **** --- 247,257 ---- update_menu_item (term->screen.vtMenu, \ vtMenuEntries[vtMenu_visualbell].widget, \ term->screen.visualbell) + + #define update_PopOnBell() \ + update_menu_item (term->screen.vtMenu, \ + vtMenuEntries[vtMenu_PopOnBell].widget, \ + term->screen.PopOnBell) #define update_marginbell() \ update_menu_item (term->screen.vtMenu, \ *** /net/src/X11R5/mit/clients/xterm/misc.c Mon May 4 14:14:36 1992 --- misc.c Mon Sep 6 18:31:48 1993 *************** *** 316,321 **** --- 316,322 ---- register TScreen *screen = &term->screen; struct timeval curtime; long now_msecs; + Widget tmpWidget; /* has enough time gone by that we are allowed to ring the bell again? */ *************** *** 341,346 **** --- 342,353 ---- VisualBell(); else XBell(screen->display, 0); + + if(screen->PopOnBell) { + tmpWidget = XtParent(term); + XtMapWidget(tmpWidget); + XRaiseWindow(XtDisplay(tmpWidget), XtWindow(tmpWidget)); + } if(screen->bellSuppressTime) { /* now we change a property and wait for the notify event to come *** /net/src/X11R5/mit/clients/xterm/ptyx.h Tue Jun 25 02:45:05 1991 --- ptyx.h Fri Jul 9 15:26:47 1993 *************** *** 216,221 **** --- 216,224 ---- /* and position information */ int select; /* xterm selected */ Boolean visualbell; /* visual bell mode */ + + Boolean PopOnBell; /* PopOnBell mode */ + int logging; /* logging mode */ Boolean allowSendEvents;/* SendEvent mode */ Boolean grabbedKbd; /* keyboard is grabbed */