From fb382f1f52f49ba7bf5607e68695239ea047a43a Mon Sep 17 00:00:00 2001 From: Michael Jennings Date: Wed, 23 Feb 2005 20:38:24 +0000 Subject: [PATCH] Wed Feb 23 15:37:40 2005 Michael Jennings (mej) Merged in previous autoFUCK changes from libast. Added a feature to specify a command to be run in place of the normal PC speaker beep. ---------------------------------------------------------------------- SVN revision: 13484 --- ChangeLog | 7 +++++++ Eterm.spec | 8 ++++++-- autogen.sh | 39 ++++++++++++++++++++++----------------- configure.in | 39 +++++++++++++++++++++++++-------------- src/options.c | 12 +++++++++++- src/options.h | 1 + src/screen.c | 5 ++++- 7 files changed, 76 insertions(+), 35 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1567ba9..bf8261a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5293,3 +5293,10 @@ Wed Jan 5 15:17:51 2005 Michael Jennings (mej) Spec dependency fixes. ---------------------------------------------------------------------- +Wed Feb 23 15:37:40 2005 Michael Jennings (mej) + +Merged in previous autoFUCK changes from libast. + +Added a feature to specify a command to be run in place of the normal +PC speaker beep. +---------------------------------------------------------------------- diff --git a/Eterm.spec b/Eterm.spec index 1fb3e6c..74d8317 100644 --- a/Eterm.spec +++ b/Eterm.spec @@ -2,6 +2,8 @@ %define compression gz %endif +%define __os_install_post /usr/lib/rpm/brp-compress + Summary: Enlightened terminal emulator Name: Eterm Version: 0.9.4 @@ -30,14 +32,16 @@ have the Imlib2 library installed. %setup -a 1 %build -CFLAGS="$RPM_OPT_FLAGS" +#CFLAGS="$RPM_OPT_FLAGS" +CFLAGS="-O0 -g3" export CFLAGS # When using the configure macro, I also specify all the directory # macros I use for compatibility with older versions of the macro %configure --bindir=%{_bindir} --libdir=%{_libdir} --mandir=%{_mandir} \ --datadir=%{_datadir} --sysconfdir=%{_sysconfdir} \ - --enable-multi-charset --enable-escreen --enable-auto-encoding %{?acflags} + --enable-multi-charset --enable-escreen --enable-auto-encoding \ + --with-debugging=9 %{?acflags} %{__make} %{?mflags} %install diff --git a/autogen.sh b/autogen.sh index f4e5e74..c900c4f 100755 --- a/autogen.sh +++ b/autogen.sh @@ -15,45 +15,50 @@ DIE=0 echo "Generating configuration files for Eterm, please wait...." LIBTOOLIZE_CHOICES="$LIBTOOLIZE libtoolize glibtoolize" -AUTOHEADER_CHOICES="$AUTOHEADER autoheader213 autoheader-2.13 autoheader" -ACLOCAL_CHOICES="$ACLOCAL aclocal14 aclocal-1.4 aclocal" -AUTOMAKE_CHOICES="$AUTOMAKE automake14 automake-1.4 automake" -AUTOCONF_CHOICES="$AUTOCONF autoconf213 autoconf-2.13 autoconf" +ACLOCAL_CHOICES="$ACLOCAL aclocal" +AUTOCONF_CHOICES="$AUTOCONF autoconf" +AUTOHEADER_CHOICES="$AUTOHEADER autoheader" +AUTOMAKE_CHOICES="$AUTOMAKE automake" for i in $LIBTOOLIZE_CHOICES ; do $i --version /dev/null 2>&1 && LIBTOOLIZE=$i && break done [ "x$LIBTOOLIZE" = "x" ] && broken libtool -for i in $AUTOHEADER_CHOICES ; do - $i --version /dev/null 2>&1 && AUTOHEADER=$i && break -done -[ "x$AUTOHEADER" = "x" ] && broken autoconf - for i in $ACLOCAL_CHOICES ; do $i --version /dev/null 2>&1 && ACLOCAL=$i && break done [ "x$ACLOCAL" = "x" ] && broken automake -for i in $AUTOMAKE_CHOICES ; do - $i --version /dev/null 2>&1 && AUTOMAKE=$i && break -done -[ "x$AUTOMAKE" = "x" ] && broken automake - for i in $AUTOCONF_CHOICES ; do $i --version /dev/null 2>&1 && AUTOCONF=$i && break done [ "x$AUTOCONF" = "x" ] && broken autoconf +for i in $AUTOHEADER_CHOICES ; do + $i --version /dev/null 2>&1 && AUTOHEADER=$i && break +done +[ "x$AUTOHEADER" = "x" ] && broken autoconf + +for i in $AUTOMAKE_CHOICES ; do + $i --version /dev/null 2>&1 && AUTOMAKE=$i && break +done +[ "x$AUTOMAKE" = "x" ] && broken automake + # Export them so configure can AC_SUBST() them. -export LIBTOOLIZE AUTOHEADER ACLOCAL AUTOMAKE AUTOCONF +export LIBTOOLIZE ACLOCAL AUTOCONF AUTOHEADER AUTOMAKE + +# Check for existing libast.m4 we can use. Use the local one if not. +if test ! -f "`$ACLOCAL --print-ac-dir`/libast.m4"; then + ACLOCAL_FLAGS="-I . $ACLOCAL_FLAGS" +fi # Run the stuff. (set -x && $LIBTOOLIZE -c -f) -(set -x && $AUTOHEADER) (set -x && $ACLOCAL $ACLOCAL_FLAGS) -(set -x && $AUTOMAKE -a -c) (set -x && $AUTOCONF) +(set -x && $AUTOHEADER) +(set -x && $AUTOMAKE -a -c) # Run configure. ./configure "$@" diff --git a/configure.in b/configure.in index 854ccb2..6ea1465 100644 --- a/configure.in +++ b/configure.in @@ -3,23 +3,23 @@ dnl# $Id$ PATH=$PATH:/usr/bin:/bin:/usr/local/bin:/usr/ccs/bin:/usr/contrib/bin:/usr/ucb/bin export PATH -test "x$LIBTOOLIZE" = "x" && LIBTOOLIZE=true -test "x$AUTOHEADER" = "x" && AUTOHEADER=true -test "x$ACLOCAL" = "x" && ACLOCAL=true -test "x$AUTOMAKE" = "x" && AUTOMAKE=true -test "x$AUTOCONF" = "x" && AUTOCONF=true +test "x$LIBTOOLIZE" = "x" && LIBTOOLIZE=libtoolize +test "x$ACLOCAL" = "x" && ACLOCAL=aclocal +test "x$AUTOCONF" = "x" && AUTOCONF=autoconf +test "x$AUTOHEADER" = "x" && AUTOHEADER=autoheader +test "x$AUTOMAKE" = "x" && AUTOMAKE=automake AC_SUBST(LIBTOOLIZE) -AC_SUBST(AUTOHEADER) AC_SUBST(ACLOCAL) -AC_SUBST(AUTOMAKE) AC_SUBST(AUTOCONF) +AC_SUBST(AUTOHEADER) +AC_SUBST(AUTOMAKE) SAVE_LIBTOOLIZE="$LIBTOOLIZE" -SAVE_AUTOHEADER="$AUTOHEADER" SAVE_ACLOCAL="$ACLOCAL" -SAVE_AUTOMAKE="$AUTOMAKE" SAVE_AUTOCONF="$AUTOCONF" +SAVE_AUTOHEADER="$AUTOHEADER" +SAVE_AUTOMAKE="$AUTOMAKE" AC_INIT(src/feature.h) AM_INIT_AUTOMAKE(Eterm, 0.9.4) @@ -33,11 +33,22 @@ AUTHORS="Michael Jennings (mej@eterm.org) " AC_SUBST(AUTHORS) AC_DEFINE_UNQUOTED(AUTHORS, "$AUTHORS", [Authors]) -LIBTOOLIZE="$SAVE_LIBTOOLIZE" -AUTOHEADER="$SAVE_AUTOHEADER" -ACLOCAL="$SAVE_ACLOCAL" -AUTOMAKE="$SAVE_AUTOMAKE" -AUTOCONF="$SAVE_AUTOCONF" +LIBTOOLIZE="${SAVE_LIBTOOLIZE:-libtoolize}" +ACLOCAL="${SAVE_ACLOCAL:-aclocal}" +AUTOCONF="${SAVE_AUTOCONF:-autoconf}" +AUTOHEADER="${SAVE_AUTOHEADER:-autoheader}" +AUTOMAKE="${SAVE_AUTOMAKE:-automake}" + +AC_MSG_CHECKING(for preferred libtoolize) +AC_MSG_RESULT($LIBTOOLIZE) +AC_MSG_CHECKING(for preferred aclocal) +AC_MSG_RESULT($ACLOCAL) +AC_MSG_CHECKING(for preferred autoconf) +AC_MSG_RESULT($AUTOCONF) +AC_MSG_CHECKING(for preferred autoheader) +AC_MSG_RESULT($AUTOHEADER) +AC_MSG_CHECKING(for preferred automake) +AC_MSG_RESULT($AUTOMAKE) dnl# Find RCS Ident info from source files AC_DEFINE_UNQUOTED(ACTIONS_IDENT, "`grep '$''Id:' $srcdir/src/actions.c | sed 's/^.*\$''Id: //;s/ \$.*$//;s/.v / /;s/ Exp//'`", [actions.c RCS ID]) diff --git a/src/options.c b/src/options.c index 6f066a3..c004675 100644 --- a/src/options.c +++ b/src/options.c @@ -150,6 +150,7 @@ int rs_delay = -1; unsigned char rs_es_dock = BBAR_DOCKED_BOTTOM; char *rs_es_font = NULL; #endif +spif_charptr_t rs_beep_command = NULL; spif_uint32_t rs_opacity = 0xffffffff; unsigned int rs_line_space = 0; unsigned int rs_meta_mod = 0, rs_alt_mod = 0, rs_numlock_mod = 0; @@ -342,6 +343,7 @@ spifopt_t option_list[] = { SPIFOPT_STR_LONG("finished-text", "post-termination terminal text", rs_finished_text), SPIFOPT_STR_LONG("term-name", "value to use for setting $TERM", rs_term_name), SPIFOPT_STR_LONG("pipe-name", "filename of console pipe to emulate -C", rs_pipe_name), + SPIFOPT_STR_LONG("beep-command", "command to run instead of normal beep", rs_beep_command), #ifdef ESCREEN SPIFOPT_STR('U', "url", "a URL pointing to a screen session to pick up", rs_url), SPIFOPT_STR('Z', "firewall", "connect session via forwarded port", rs_hop), @@ -405,7 +407,11 @@ version(void) " " SCREEN_IDENT "\n" " " SCROLLBAR_IDENT "\n" " " STARTUP_IDENT "\n" - " " SYSTEM_IDENT "\n" " " TERM_IDENT "\n" " " TIMER_IDENT "\n" " " UTMP_IDENT "\n" " " WINDOWS_IDENT "\n" "\n"); + " " SYSTEM_IDENT "\n" + " " TERM_IDENT "\n" + " " TIMER_IDENT "\n" + " " UTMP_IDENT "\n" + " " WINDOWS_IDENT "\n" "\n"); printf("Debugging configuration: "); #ifdef DEBUG @@ -1473,6 +1479,9 @@ parse_misc(char *buff, void *state) } else if (!BEG_STRCASECMP(buff, "term_name ")) { RESET_AND_ASSIGN(rs_term_name, get_word(2, buff)); + } else if (!BEG_STRCASECMP(buff, "beep_command ")) { + RESET_AND_ASSIGN(rs_beep_command, get_word(2, buff)); + } else if (!BEG_STRCASECMP(buff, "debug ")) { DEBUG_LEVEL = (unsigned int) strtoul(get_pword(2, buff), (char **) NULL, 0); @@ -3830,6 +3839,7 @@ save_config(char *path, unsigned char save_theme) fprintf(fp, " min_anchor_size %d\n", rs_min_anchor_size); fprintf(fp, " border_width %d\n", TermWin.internalBorder); fprintf(fp, " term_name %s\n", getenv("TERM")); + fprintf(fp, " beep_command \"%s\"\n", rs_beep_command); fprintf(fp, " debug %d\n", DEBUG_LEVEL); if (save_theme && rs_exec_args && rs_theme && strcmp(rs_theme, PACKAGE)) { fprintf(fp, " exec "); diff --git a/src/options.h b/src/options.h index e830a3b..5957cf6 100644 --- a/src/options.h +++ b/src/options.h @@ -127,6 +127,7 @@ extern char *rs_es_font; #endif extern spif_uint32_t rs_opacity; extern unsigned int rs_line_space; +extern spif_charptr_t rs_beep_command; extern unsigned int rs_meta_mod, rs_alt_mod, rs_numlock_mod; #ifndef NO_BOLDFONT extern char *rs_boldFont; diff --git a/src/screen.c b/src/screen.c index 41f0be1..42508b8 100644 --- a/src/screen.c +++ b/src/screen.c @@ -1546,8 +1546,11 @@ scr_bell(void) if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_VISUAL_BELL)) { scr_rvideo_mode(!rvideo); scr_rvideo_mode(!rvideo); - } else + } else if (!SPIF_PTR_ISNULL(rs_beep_command)) { + system_no_wait(SPIF_CAST_C(char *) rs_beep_command); + } else { XBell(Xdisplay, 0); + } } void