Only in Eterm-0.9-new/bg: pixmaps.list Only in Eterm-0.9-new/bg/scale: scaled-pixmaps.list Only in Eterm-0.9-new/bg/tile: tiled-pixmaps.list Only in Eterm-0.9-new/doc: Eterm.1 Only in Eterm-0.9-new/doc: Eterm.1.html diff -C 2 -r Eterm-0.9/src/options.c Eterm-0.9-new/src/options.c *** Eterm-0.9/src/options.c Tue Jan 18 22:17:19 2000 --- Eterm-0.9-new/src/options.c Sun May 27 22:35:23 2001 *************** *** 246,249 **** --- 246,252 ---- #endif + /* added by cfy1@ra.msstate.edu 20010527 */ + char **rs_beep_exec; /* A command to execute when the terminal beeps */ + /* Options structure */ static const struct { *************** *** 2204,2207 **** --- 2207,2223 ---- debug_level = (unsigned int) strtoul(PWord(2, buff), (char **) NULL, 0); + + } else if (!BEG_STRCASECMP(buff, "beep_exec ")) { + /* option added by cfy1@ra.msstate.edu 20010527 */ + register unsigned short k, n; + + RESET_AND_ASSIGN(rs_beep_exec, (char **) MALLOC(sizeof(char *) * ((n = NumWords(PWord(2, buff))) + 1))); + + for (k = 0; k < n; k++) { + rs_beep_exec[k] = Word(k + 2, buff); + D_OPTIONS(("rs_beep_exec[%d] == %s\n", k, rs_beep_exec[k])); + } + rs_beep_exec[n] = (char *) NULL; + } else if (!BEG_STRCASECMP(buff, "exec ")) { *************** *** 3175,3178 **** --- 3191,3197 ---- #endif TermWin.internalBorder = DEFAULT_BORDER_WIDTH; + + /* added by cfy1@ra.msstate.edu 20010527 */ + rs_beep_exec = NULL; } diff -C 2 -r Eterm-0.9/src/options.h Eterm-0.9-new/src/options.h *** Eterm-0.9/src/options.h Wed Jan 5 11:34:28 2000 --- Eterm-0.9-new/src/options.h Sun May 27 22:35:39 2001 *************** *** 252,255 **** --- 252,258 ---- #endif + /* added by cfy1@ra.msstate.edu 20010527 */ + extern char **rs_beep_exec; /* A command to execute when the terminal beeps */ + /************ Function Prototypes ************/ _XFUNCPROTOBEGIN diff -C 2 -r Eterm-0.9/src/screen.c Eterm-0.9-new/src/screen.c *** Eterm-0.9/src/screen.c Tue Feb 1 14:17:31 2000 --- Eterm-0.9-new/src/screen.c Sun May 27 22:35:53 2001 *************** *** 1631,1636 **** scr_rvideo_mode(!rvideo); /* scr_refresh() also done */ scr_rvideo_mode(!rvideo); /* scr_refresh() also done */ ! } else ! XBell(Xdisplay, 0); } --- 1631,1657 ---- scr_rvideo_mode(!rvideo); /* scr_refresh() also done */ scr_rvideo_mode(!rvideo); /* scr_refresh() also done */ ! } else { ! register unsigned short n; ! pid_t pid; ! ! XBell(Xdisplay, 0); ! ! /* added by cfy1@ra.msstate.edu 20010527 */ ! if (rs_beep_exec != NULL) { ! /* Fork off a ps so we can execute in the background */ ! pid = fork(); ! if (pid == -1) { ! print_warning("Unable to fork."); ! perror("fork"); ! } else if (pid == 0) { ! /* Execute the command */ ! execv(rs_beep_exec[0], rs_beep_exec); ! exit(127); ! } ! } else { ! print_warning("No beep_exec specified"); ! } ! ! } }