From b8e17e5de43ea2098fce042132179d6e9155dcac Mon Sep 17 00:00:00 2001 From: Michael Jennings Date: Sun, 21 Oct 2001 13:21:05 +0000 Subject: [PATCH] Sun Oct 21 06:15:13 2001 Michael Jennings (mej) Fixed a couple remaining bugs in 0.9.1, including that really annoying problem people keeping whining about where Eterm won't build without Imlib2. It will now. :P SVN revision: 5543 --- ChangeLog | 6 ++++++ Eterm-mdk.spec.in => Eterm-mdk.spec | 17 ++++++----------- Eterm.spec.in => Eterm.spec | 8 ++++---- configure.in | 5 +++-- src/command.c | 2 ++ src/events.c | 9 ++++----- src/options.c | 14 ++++++++++++-- src/pixmap.c | 11 ++++++++--- src/term.c | 8 ++++---- 9 files changed, 49 insertions(+), 31 deletions(-) rename Eterm-mdk.spec.in => Eterm-mdk.spec (95%) rename Eterm.spec.in => Eterm.spec (98%) diff --git a/ChangeLog b/ChangeLog index 017f122..16e7e16 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4407,3 +4407,9 @@ Thu Oct 11 05:32:57 2001 Michael Jennings (mej) Jerome De Greef contributed a configure.ac file for those who are using autoconf 2.50 or higher. ---------------------------------------------------------------------- +Sun Oct 21 06:15:13 2001 Michael Jennings (mej) + +Fixed a couple remaining bugs in 0.9.1, including that really +annoying problem people keeping whining about where Eterm won't build +without Imlib2. It will now. :P +---------------------------------------------------------------------- diff --git a/Eterm-mdk.spec.in b/Eterm-mdk.spec similarity index 95% rename from Eterm-mdk.spec.in rename to Eterm-mdk.spec index 2586e6d..aebf9bc 100644 --- a/Eterm-mdk.spec.in +++ b/Eterm-mdk.spec @@ -1,12 +1,7 @@ -%define name @PACKAGE@ -%define ver @VERSION@ -%define rel 1mdk -%define prefix @prefix@ - Summary: Enlightened terminal emulator -Name: %{name} -Version: %{ver} -Release: %{rel} +Name: Eterm +Version: 0.9.1 +Release: 2mdk Copyright: BSD Group: Terminals Source0: ftp://ftp.eterm.org/pub/Eterm/%{name}-%{ver}.tar.bz2 @@ -27,12 +22,12 @@ Enlightenment window manager users, but it can also be used as a replacement for xterm by users without Enlightenment. Eterm supports various themes and is very configurable, in keeping with the philosophy of Enlightenment. If you install Eterm, you'll also need to -have the Imlib library installed. +have the Imlib2 library installed. %package backgrounds Summary: Backgrounds for Eterm Group: Terminals -Requires: %{name} = %{ver} +Requires: %{name} = %{version} %description backgrounds Install this package if you want additional backgrounds for Eterm @@ -47,7 +42,7 @@ if [ -x configure ] then %configure --with-backspace=bs --with-delete=execute else - ./autogen.sh --prefix=%{prefix} --with-backspace=bs --with-delete=execute + ./autogen.sh --prefix=%{_prefix} --with-backspace=bs --with-delete=execute fi %make diff --git a/Eterm.spec.in b/Eterm.spec similarity index 98% rename from Eterm.spec.in rename to Eterm.spec index 08215c2..f885d3e 100644 --- a/Eterm.spec.in +++ b/Eterm.spec @@ -2,9 +2,9 @@ %define strip 0 Summary: Enlightened terminal emulator -Name: @PACKAGE@ -Version: @VERSION@ -Release: 1 +Name: Eterm +Version: 0.9.1 +Release: 2 Copyright: BSD Group: User Interface/X %if %{bzip} @@ -24,7 +24,7 @@ Enlightenment window manager users, but it can also be used as a replacement for xterm by users without Enlightenment. Eterm supports various themes and is very configurable, in keeping with the philosophy of Enlightenment. If you install Eterm, you'll also need to -have the Imlib library installed. +have the Imlib2 library installed. %prep %setup -n %{name}-%{version} -b 0 -a 1 diff --git a/configure.in b/configure.in index ab4364d..0edae17 100644 --- a/configure.in +++ b/configure.in @@ -846,7 +846,8 @@ AC_CHECK_LIB(Kenny, life_signs, , [ fi CONFIG_SEARCH_PATH=`eval eval eval eval eval echo "${sysconfdir}/$PACKAGE/themes:/etc/$PACKAGE/themes:${datadir}/$PACKAGE/themes"` -AC_DEFINE_UNQUOTED(CONFIG_SEARCH_PATH, "~/.Eterm/themes:$CONFIG_SEARCH_PATH") +CONFIG_SEARCH_PATH=`eval eval eval eval eval echo "$CONFIG_SEARCH_PATH:${sysconfdir}/$PACKAGE:/etc/$PACKAGE:${datadir}/$PACKAGE"` +AC_DEFINE_UNQUOTED(CONFIG_SEARCH_PATH, "~/.Eterm/themes:~/.Eterm:$CONFIG_SEARCH_PATH") # Do replacements on theme files and such. All variables to be replaced # by this routine MUST be exported before the awk script runs. if test "X$PKGDATADIR" = "X" ; then @@ -881,7 +882,7 @@ basedir=. AM_CONFIG_HEADER(config.h) AC_OUTPUT(Makefile bg/Makefile doc/Makefile utils/Makefile pix/Makefile - src/Makefile themes/Makefile Eterm.spec Eterm-mdk.spec) + src/Makefile themes/Makefile) # Mega evals to make sure all the relative variables get resolved. BINDIR=`eval eval eval eval echo ${bindir}` diff --git a/src/command.c b/src/command.c index fef5769..9bf3d90 100644 --- a/src/command.c +++ b/src/command.c @@ -1129,7 +1129,9 @@ clean_exit(void) menulist_clear(menu_list); font_cache_clear(); eterm_font_list_clear(); +# ifdef PIXMAP_SUPPORT FOREACH_IMAGE(free_eterm_image(&(images[idx]));); +# endif for (i = 0; i < NRS_COLORS; i++) { if (rs_color[i]) { FREE(rs_color[i]); diff --git a/src/events.c b/src/events.c index a521e3c..ba069fb 100644 --- a/src/events.c +++ b/src/events.c @@ -217,13 +217,13 @@ handle_key_press(event_t *ev) unsigned char handle_property_notify(event_t *ev) { - Window win; - Pixmap pmap; - D_EVENTS(("handle_property_notify(ev [%8p] on window 0x%08x)\n", ev, ev->xany.window)); #ifdef PIXMAP_OFFSET if (background_is_trans()) { + Window win; + Pixmap pmap; + if ((ev->xany.window == TermWin.parent) || (ev->xany.window == Xroot)) { D_EVENTS(("On %s. prop (_WIN_WORKSPACE) == 0x%08x, ev->xproperty.atom == 0x%08x\n", ((ev->xany.window == Xroot) ? "the root window" : "TermWin.parent"), (int) props[PROP_DESKTOP], (int) ev->xproperty.atom)); @@ -287,14 +287,13 @@ handle_property_notify(event_t *ev) unsigned char handle_destroy_notify(event_t *ev) { - D_EVENTS(("handle_destroy_notify(ev [%8p] on window 0x%08x)\n", ev, ev->xany.window)); if (ev->xdestroywindow.window == ipc_win) { D_EVENTS((" -> IPC window 0x%08x changed/destroyed. Clearing ipc_win.\n", ipc_win)); XSelectInput(Xdisplay, ipc_win, None); ipc_win = None; - check_image_ipc(1); + (void) check_image_ipc(1); } return 1; } diff --git a/src/options.c b/src/options.c index d84c4bd..8cb002a 100644 --- a/src/options.c +++ b/src/options.c @@ -70,8 +70,10 @@ static void *parse_xim(char *, void *); static void *parse_multichar(char *, void *); static char *rs_pipe_name = NULL; +#ifdef PIXMAP_SUPPORT static int rs_shade = 0; static char *rs_tint = NULL; +#endif static unsigned long rs_buttonbars = 1; static char *rs_font_effects = NULL; #if defined (HOTKEY_CTRL) || defined (HOTKEY_META) @@ -2784,8 +2786,7 @@ init_defaults(void) void post_parse(void) { - - register int i, count; + register int i; if (rs_scrollbar_type) { if (!strcasecmp(rs_scrollbar_type, "xterm")) { @@ -2897,10 +2898,12 @@ post_parse(void) if (iml->bevel && !(iml->border)) { iml->border = iml->bevel->edges; } +#ifdef PIXMAP_SUPPORT if (iml->im) { imlib_context_set_image(iml->im); update_cmod_tables(iml); } +#endif images[i].userdef = 1; } else { simg = images[i].norm = (simage_t *) MALLOC(sizeof(simage_t)); @@ -2942,10 +2945,12 @@ post_parse(void) simg->fg = norm_simg->fg; simg->bg = norm_simg->bg; } +#ifdef PIXMAP_SUPPORT if (iml->im) { imlib_context_set_image(iml->im); update_cmod_tables(iml); } +#endif } else { D_PIXMAP(("No \"selected\" state for image %s. Setting fallback to the normal state.\n", get_image_type(i))); images[i].selected = images[i].norm; @@ -2968,10 +2973,12 @@ post_parse(void) simg->fg = norm_simg->fg; simg->bg = norm_simg->bg; } +#ifdef PIXMAP_SUPPORT if (iml->im) { imlib_context_set_image(iml->im); update_cmod_tables(iml); } +#endif } else { D_PIXMAP(("No \"clicked\" state for image %s. Setting fallback to the selected state.\n", get_image_type(i))); images[i].clicked = images[i].selected; @@ -2994,10 +3001,12 @@ post_parse(void) simg->fg = norm_simg->fg; simg->bg = norm_simg->bg; } +#ifdef PIXMAP_SUPPORT if (iml->im) { imlib_context_set_image(iml->im); update_cmod_tables(iml); } +#endif } else { D_PIXMAP(("No \"disabled\" state for image %s. Setting fallback to the normal state.\n", get_image_type(i))); images[i].disabled = images[i].norm; @@ -3192,6 +3201,7 @@ post_parse(void) } else { char *w1, *h1, *temp; unsigned long w, h; + int count; count = num_words(rs_anim_pixmap_list) - 1; /* -1 for the delay */ rs_anim_pixmaps = (char **) MALLOC(sizeof(char *) * (count + 1)); diff --git a/src/pixmap.c b/src/pixmap.c index 8f8c3f2..e5f730e 100644 --- a/src/pixmap.c +++ b/src/pixmap.c @@ -56,7 +56,9 @@ extern void shade_ximage_15_mmx(void *data, int bpl, int w, int h, int rm, int g extern void shade_ximage_16_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); extern void shade_ximage_32_mmx(void *data, int bpl, int w, int h, int rm, int gm, int bm); +#ifdef PIXMAP_SUPPORT static Imlib_Border bord_none = { 0, 0, 0, 0 }; +#endif Pixmap buffer_pixmap = None; #ifdef PIXMAP_OFFSET @@ -83,7 +85,9 @@ image_t images[image_max] = {None, 0, 0, NULL, NULL, NULL, NULL, NULL} }; +#ifdef PIXMAP_SUPPORT static const char *get_iclass_name(unsigned char); +#endif static void copy_buffer_pixmap(unsigned char mode, unsigned long fill, unsigned short width, unsigned short height); const char * @@ -850,15 +854,16 @@ copy_buffer_pixmap(unsigned char mode, unsigned long fill, unsigned short width, void render_simage(simage_t *simg, Window win, unsigned short width, unsigned short height, unsigned char which, renderop_t renderop) { - XGCValues gcvalue; GC gc; + Pixmap pixmap = None; + Screen *scr; +#ifdef PIXMAP_SUPPORT short xsize, ysize; short xpos = 0, ypos = 0; - Pixmap pixmap = None; unsigned short rendered = 0; unsigned short xscaled = 0, yscaled = 0; - Screen *scr; +#endif scr = ScreenOfDisplay(Xdisplay, Xscreen); if (!scr) diff --git a/src/term.c b/src/term.c index d714b79..a0dd973 100644 --- a/src/term.c +++ b/src/term.c @@ -1772,12 +1772,12 @@ xterm_seq(int op, const char *str) { XColor xcol; - char *nstr, *tnstr, *orig_tnstr, *valptr; - unsigned char eterm_seq_op, which = 0; + char *nstr, *tnstr, *valptr; + unsigned char eterm_seq_op; XWMHints *wm_hints; #ifdef PIXMAP_SUPPORT - unsigned char changed = 0, scaled = 0; - char *color, *mod; + unsigned char changed = 0, scaled = 0, which = 0; + char *color, *mod, *orig_tnstr; #endif if (!str)