From: <enl...@li...> - 2000-10-30 23:05:25
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Removed Files: .cvsignore Makefile.am debug.c libmej.h mem.c msgs.c snprintf.c strings.c Log Message: Mon Oct 30 07:45:16 PST 2000 Michael Jennings <me...@et...> Several small changes, like freeing pixmaps which won't be needed later, reducing the default Imlib2 cache size to 0 bytes (we don't really use it well), and an image path bugfix spotted by Teodor Zlatanov <tz...@ig...>. The big change, of course, is the disappearance of libmej and the new dependency on libast, which is now distributed separately. |
From: <enl...@li...> - 2000-10-30 23:05:25
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: Makefile.am Log Message: Mon Oct 30 07:45:16 PST 2000 Michael Jennings <me...@et...> Several small changes, like freeing pixmaps which won't be needed later, reducing the default Imlib2 cache size to 0 bytes (we don't really use it well), and an image path bugfix spotted by Teodor Zlatanov <tz...@ig...>. The big change, of course, is the disappearance of libmej and the new dependency on libast, which is now distributed separately. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/utils/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Makefile.am 2000/09/01 05:46:04 1.4 +++ Makefile.am 2000/10/30 23:05:25 1.5 @@ -1,11 +1,10 @@ -# $Id: Makefile.am,v 1.4 2000/09/01 05:46:04 mej Exp $ +# $Id: Makefile.am,v 1.5 2000/10/30 23:05:25 mej Exp $ bin_PROGRAMS = Esetroot Etbg Ettable bin_SCRIPTS = Etcolors Etwinop Etsearch kEsetroot Esetroot_SOURCES = Esetroot.c Esetroot_LDFLAGS = -rpath $(libdir):$(pkglibdir) -Esetroot_LDADD = -L$(DIST_ROOT)/libmej Etbg_SOURCES = Etbg.c Ettable_SOURCES = Ettable.c |
From: <enl...@li...> - 2000-10-30 23:05:55
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog Makefile.am README acconfig.h configure.in Log Message: Mon Oct 30 07:45:16 PST 2000 Michael Jennings <me...@et...> Several small changes, like freeing pixmaps which won't be needed later, reducing the default Imlib2 cache size to 0 bytes (we don't really use it well), and an image path bugfix spotted by Teodor Zlatanov <tz...@ig...>. The big change, of course, is the disappearance of libmej and the new dependency on libast, which is now distributed separately. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.183 retrieving revision 1.184 diff -u -3 -r1.183 -r1.184 --- ChangeLog 2000/10/17 17:28:11 1.183 +++ ChangeLog 2000/10/30 23:05:25 1.184 @@ -3921,3 +3921,14 @@ Malaquias <ro...@ur...>. ------------------------------------------------------------------------------- +Mon Oct 30 07:45:16 PST 2000 Michael Jennings <me...@et...> + + Several small changes, like freeing pixmaps which won't be needed + later, reducing the default Imlib2 cache size to 0 bytes (we don't + really use it well), and an image path bugfix spotted by Teodor + Zlatanov <tz...@ig...>. + + The big change, of course, is the disappearance of libmej and the new + dependency on libast, which is now distributed separately. + +------------------------------------------------------------------------------- =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Makefile.am 2000/07/06 01:17:19 1.4 +++ Makefile.am 2000/10/30 23:05:25 1.5 @@ -1,7 +1,7 @@ -# $Id: Makefile.am,v 1.4 2000/07/06 01:17:19 mej Exp $ +# $Id: Makefile.am,v 1.5 2000/10/30 23:05:25 mej Exp $ AUTOMAKE_OPTIONS = foreign -SUBDIRS = libmej src themes utils doc bg pix +SUBDIRS = src themes utils doc bg pix EXTRA_DIST = README ReleaseNotes ReleaseNotes.1 CVS-README COPYING ChangeLog autogen.sh Eterm.spec =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/README,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- README 2000/01/22 02:40:49 1.2 +++ README 2000/10/30 23:05:25 1.3 @@ -1,5 +1,5 @@ -Release notes for Eterm 0.9 ---------------------------- +Eterm 0.9 README +---------------- Software Requirements --------------------- @@ -15,9 +15,9 @@ Documentation ------------- -- The FAQ and message forum at http://eterm.i-docs.org/ -- The man page at http://www.eterm.org/ - Running "Eterm --help" will show you the command line options. +- "man Eterm" +- The online FAQ's at and man pages at http://www.eterm.org/docs/ - The Technical Reference, also at the above web site, if you want more technical details about Eterm. @@ -76,6 +76,7 @@ flags (for gcc, or the equivalent flags for your compiler) if you choose to submit a stack trace. -You'll also find people on the EFNet IRC channel #E who might be able to answer -your questions, but please be sure you've read all the documentation mentioned -above before asking a question there. +You'll also find people on the IRC channel #E (now on the OpenProjects +IRC Network at irc.openprojects.net) who might be able to answer your +questions, but please be sure you've read all the documentation +mentioned above before asking a question there. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/acconfig.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- acconfig.h 2000/09/01 05:46:03 1.18 +++ acconfig.h 2000/10/30 23:05:25 1.19 @@ -333,6 +333,10 @@ #undef PKGDATADIR #undef HAVE_LIBIMLIB2 #undef HAVE_MMX +#undef HAVE_LIBAST +#undef LIBAST_X11_SUPPORT +#undef LIBAST_IMLIB2_SUPPORT +#undef LIBAST_MMX_SUPPORT /* Leave that blank line there!! Autoheader needs it. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/configure.in,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- configure.in 2000/09/01 22:14:17 1.39 +++ configure.in 2000/10/30 23:05:25 1.40 @@ -1,4 +1,4 @@ -dnl# $Id: configure.in,v 1.39 2000/09/01 22:14:17 mej Exp $ +dnl# $Id: configure.in,v 1.40 2000/10/30 23:05:25 mej Exp $ AC_INIT(src/feature.h) AM_INIT_AUTOMAKE(Eterm, 0.9.1) @@ -106,6 +106,7 @@ AC_PATH_PROG(PERL, perl, /usr/bin/perl, $PATH:/usr/bin:/bin:/usr/local/bin:/usr/ccs/bin:/usr/contrib/bin) AC_PATH_PROG(AWK, awk, /usr/bin/awk, $PATH:/usr/bin:/bin:/usr/local/bin:/usr/ccs/bin:/usr/contrib/bin) export PERL AWK +AC_CHECK_PROG(LIBAST_CONFIG, libast-config, libast-config, false) AC_CHECK_SIZEOF(int, 4) AC_CHECK_SIZEOF(long, 4) @@ -375,6 +376,58 @@ AC_MSG_RESULT(no) fi +dnl# +dnl# LibAST +dnl# +AC_CHECK_LIB(ast, libast_malloc, FOUND_LIBAST=1, FOUND_LIBAST=0, $GRLIBS) +test -z "$LIBAST_CONFIG" && FOUND_LIBAST=0 + +if test "$FOUND_LIBAST" -eq "1"; then + if test ! -z "$LIBAST_CONFIG"; then + GRLIBS="-last $GRLIBS" + AC_DEFINE(HAVE_LIBAST) + AC_PREFIX(libast-config) + CPPFLAGS="$CPPFLAGS `$LIBAST_CONFIG --cppflags`" + LDFLAGS="$LDFLAGS `$LIBAST_CONFIG --ldflags`" + SUPPORT_FLAGS="`$LIBAST_CONFIG --support`" + for i in $SUPPORT_FLAGS ; do + case $i in + MMX) + AC_DEFINE(LIBAST_MMX_SUPPORT) + ;; + X11) + AC_DEFINE(LIBAST_X11_SUPPORT) + ;; + Imlib2) + AC_DEFINE(LIBAST_IMLIB2_SUPPORT) + ;; + esac + done + fi +else + echo "ERROR: You need the LibAST package to build Eterm. If you already have it,"; + echo " you may have it installed in a strange place, or you may need to run"; + echo " /sbin/ldconfig. If you don't have it, I can download it for you."; + echo " Shall I retrieve and build LibAST now (y/n)?"; + read ANS + if test "x$ANS" = "xy" -o "x$ANS" = "xyes" -o "x$ANS" = "xY" -o "x$ANS" = "xYES"; then + if test -d CVS ; then + # Download from CVS server + cvs -z3 -d :pserver:ano...@cv...:/cvsroot/enlightenment co -d libast eterm/libast + (cd libast && ./autogen.sh "$@" && make install && cd .. && rm -rf libast) + if test $? -ne 0; then + echo 'ERROR: Unable to auto-get libast, sorry.' 1>&2 + exit 1 + fi + else + # Download tarball + : + fi + else + AC_MSG_ERROR(Fatal: libast not found.) + fi +fi + AC_MSG_CHECKING(for utmp support) AC_ARG_ENABLE(utmp, [ --enable-utmp compile with utmp support], @@ -717,10 +770,10 @@ AC_SUBST(GDB_CMD_FILE) CPPFLAGS=`eval eval eval eval eval echo "-I$includedir -I$prefix/include $CPPFLAGS"` -CPPFLAGS=`echo $CPPFLAGS | tr ' ' '\n' | uniq | tr '\n' ' '` +CPPFLAGS=`echo $CPPFLAGS | tr ' ' '\n' | uniq | grep -v NONE | tr '\n' ' '` CFLAGS=${CFLAGS--O} LDFLAGS=`eval eval eval eval eval echo "-L$libdir -L$prefix/lib ${LDFLAGS--O}"` -LDFLAGS=`echo $LDFLAGS | tr ' ' '\n' | uniq | tr '\n' ' '` +LDFLAGS=`echo $LDFLAGS | tr ' ' '\n' | uniq | grep -v NONE | tr '\n' ' '` LIBS="$GRLIBS $X_PRE_LIBS $LIBS $X_EXTRA_LIBS" AC_SUBST(CC) |
From: <enl...@li...> - 2000-10-30 23:05:56
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: Makefile.am buttons.c draw.c encoding.c events.h feature.h menus.c options.c pixmap.c pixmap.h scrollbar.c term.c windows.c Log Message: Mon Oct 30 07:45:16 PST 2000 Michael Jennings <me...@et...> Several small changes, like freeing pixmaps which won't be needed later, reducing the default Imlib2 cache size to 0 bytes (we don't really use it well), and an image path bugfix spotted by Teodor Zlatanov <tz...@ig...>. The big change, of course, is the disappearance of libmej and the new dependency on libast, which is now distributed separately. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/Makefile.am,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- Makefile.am 2000/10/17 17:28:11 1.19 +++ Makefile.am 2000/10/30 23:05:25 1.20 @@ -1,7 +1,5 @@ -# $Id: Makefile.am,v 1.19 2000/10/17 17:28:11 mej Exp $ +# $Id: Makefile.am,v 1.20 2000/10/30 23:05:25 mej Exp $ -INCLUDES = -I$(top_srcdir)/libmej - lib_LTLIBRARIES = libEterm.la bin_PROGRAMS = Eterm @@ -13,13 +11,13 @@ screen.h scrollbar.c scrollbar.h startup.c startup.h \ system.c system.h term.c term.h timer.c timer.h utmp.c \ windows.c windows.h mmx_cmod.S -libEterm_la_DEPENDENCIES = $(top_builddir)/libmej/libmej.la feature.h +libEterm_la_DEPENDENCIES = feature.h libEterm_la_LDFLAGS = -release $(VERSION) Eterm_SOURCES = main.c Eterm_DEPENDENCIES = libEterm.la Eterm_LDFLAGS = -rpath $(libdir):$(pkglibdir) -Eterm_LDADD = libEterm.la $(top_builddir)/libmej/libmej.la +Eterm_LDADD = libEterm.la install-exec-hook: $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/buttons.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- buttons.c 2000/09/18 01:38:22 1.15 +++ buttons.c 2000/10/30 23:05:25 1.16 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: buttons.c,v 1.15 2000/09/18 01:38:22 mej Exp $"; +static const char cvs_ident[] = "$Id: buttons.c,v 1.16 2000/10/30 23:05:25 mej Exp $"; #include "config.h" #include "feature.h" @@ -100,7 +100,7 @@ XSelectInput(Xdisplay, bbar->win, mask); XStoreName(Xdisplay, bbar->win, "Eterm Button Bar"); - bbar->gc = LIBMEJ_X_CREATE_GC(GCForeground | GCFont, &gcvalue); + bbar->gc = LIBAST_X_CREATE_GC(GCForeground | GCFont, &gcvalue); bbar_set_docked(bbar, BBAR_DOCKED_TOP); bbar_set_visible(bbar, 1); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/draw.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- draw.c 2000/09/01 05:46:04 1.7 +++ draw.c 2000/10/30 23:05:25 1.8 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: draw.c,v 1.7 2000/09/01 05:46:04 mej Exp $"; +static const char cvs_ident[] = "$Id: draw.c,v 1.8 2000/10/30 23:05:25 mej Exp $"; #include "config.h" #include "feature.h" @@ -54,8 +54,8 @@ static GC gc_top = (GC) 0, gc_bottom = (GC) 0; if (gc_top == 0) { - gc_top = LIBMEJ_X_CREATE_GC(0, NULL); - gc_bottom = LIBMEJ_X_CREATE_GC(0, NULL); + gc_top = LIBAST_X_CREATE_GC(0, NULL); + gc_bottom = LIBAST_X_CREATE_GC(0, NULL); } XSetForeground(Xdisplay, gc_top, top); @@ -109,8 +109,8 @@ static GC gc_top = (GC) 0, gc_bottom = (GC) 0; if (gc_top == 0) { - gc_top = LIBMEJ_X_CREATE_GC(0, NULL); - gc_bottom = LIBMEJ_X_CREATE_GC(0, NULL); + gc_top = LIBAST_X_CREATE_GC(0, NULL); + gc_bottom = LIBAST_X_CREATE_GC(0, NULL); } XSetForeground(Xdisplay, gc_top, top); @@ -230,8 +230,8 @@ MOD_PIXEL_HIGH(x, y, !up); } } - gc = LIBMEJ_X_CREATE_GC(0, NULL); + gc = LIBAST_X_CREATE_GC(0, NULL); XPutImage(Xdisplay, p, gc, ximg, 0, 0, 0, 0, w, h); - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); XDestroyImage(ximg); } =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/encoding.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- encoding.c 2000/08/31 05:41:43 1.2 +++ encoding.c 2000/10/30 23:05:25 1.3 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: encoding.c,v 1.2 2000/08/31 05:41:43 mej Exp $"; +static const char cvs_ident[] = "$Id: encoding.c,v 1.3 2000/10/30 23:05:25 mej Exp $"; #include "config.h" #include "feature.h" @@ -31,9 +31,9 @@ #include <errno.h> #include <limits.h> -#include "../libmej/debug.h" -#include "../libmej/mem.h" -#include "../libmej/strings.h" +#include "../libast/debug.h" +#include "../libast/mem.h" +#include "../libast/strings.h" #include "debug.h" #include "command.h" #include "encoding.h" =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/events.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- events.h 2000/08/31 05:41:43 1.10 +++ events.h 2000/10/30 23:05:25 1.11 @@ -50,7 +50,7 @@ # define COUNT_EVENT(x) NOP #endif #ifdef PROFILE_X_EVENTS -# define P_EVENT_TIME(type, start, stop) libmej_dprintf(type ": %ld microseconds\n", P_CMPTIMEVALS_USEC((start), (stop))) +# define P_EVENT_TIME(type, start, stop) libast_dprintf(type ": %ld microseconds\n", P_CMPTIMEVALS_USEC((start), (stop))) #else # define P_EVENT_TIME(type, start, stop) NOP #endif =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/feature.h,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- feature.h 2000/09/18 00:13:07 1.22 +++ feature.h 2000/10/30 23:05:25 1.23 @@ -89,7 +89,7 @@ # include <stdio.h> # include <stdlib.h> -# include <libmej.h> +# include <libast.h> # include "eterm_debug.h" /********************* Color, screen, and image stuff *********************/ =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/menus.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- menus.c 2000/09/18 01:38:22 1.39 +++ menus.c 2000/10/30 23:05:25 1.40 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: menus.c,v 1.39 2000/09/18 01:38:22 mej Exp $"; +static const char cvs_ident[] = "$Id: menus.c,v 1.40 2000/10/30 23:05:25 mej Exp $"; #include "config.h" #include "feature.h" @@ -124,9 +124,9 @@ return; } gcvalue.foreground = PixColors[menuTopShadowColor]; - topShadowGC = LIBMEJ_X_CREATE_GC(GCForeground, &gcvalue); + topShadowGC = LIBAST_X_CREATE_GC(GCForeground, &gcvalue); gcvalue.foreground = PixColors[menuBottomShadowColor]; - botShadowGC = LIBMEJ_X_CREATE_GC(GCForeground, &gcvalue); + botShadowGC = LIBAST_X_CREATE_GC(GCForeground, &gcvalue); event_register_dispatcher(menu_dispatch_event, menu_event_init_dispatcher); } @@ -428,8 +428,8 @@ menu_delete(list->menus[i]); } FREE(list->menus); - LIBMEJ_X_FREE_GC(topShadowGC); - LIBMEJ_X_FREE_GC(botShadowGC); + LIBAST_X_FREE_GC(topShadowGC); + LIBAST_X_FREE_GC(botShadowGC); FREE(list); } @@ -463,7 +463,7 @@ menu->swin = XCreateWindow(Xdisplay, menu->win, 0, 0, 1, 1, 0, Xdepth, InputOutput, CopyFromParent, CWOverrideRedirect | CWSaveUnder | CWBorderPixel | CWColormap, &xattr); - menu->gc = LIBMEJ_X_CREATE_GC(0, NULL); + menu->gc = LIBAST_X_CREATE_GC(0, NULL); menuitem_clear_current(menu); return menu; @@ -484,10 +484,10 @@ FREE(menu->title); } if (menu->bg) { - LIBMEJ_X_FREE_PIXMAP(menu->bg); + LIBAST_X_FREE_PIXMAP(menu->bg); } if (menu->gc) { - LIBMEJ_X_FREE_GC(menu->gc); + LIBAST_X_FREE_GC(menu->gc); } #ifdef MULTI_CHARSET if (menu->fontset) { =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.c,v retrieving revision 1.72 retrieving revision 1.73 diff -u -3 -r1.72 -r1.73 --- options.c 2000/09/18 00:13:07 1.72 +++ options.c 2000/10/30 23:05:25 1.73 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: options.c,v 1.72 2000/09/18 00:13:07 mej Exp $"; +static const char cvs_ident[] = "$Id: options.c,v 1.73 2000/10/30 23:05:25 mej Exp $"; #include "config.h" #include "feature.h" @@ -3966,7 +3966,9 @@ FREE(rs_cmod_blue); } - if (rs_cache_size != (unsigned long) -1) { + if (rs_cache_size == (unsigned long) -1) { + imlib_set_cache_size(0); + } else { imlib_set_cache_size(rs_cache_size); } #endif =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/pixmap.c,v retrieving revision 1.56 retrieving revision 1.57 diff -u -3 -r1.56 -r1.57 --- pixmap.c 2000/09/18 01:38:22 1.56 +++ pixmap.c 2000/10/30 23:05:25 1.57 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: pixmap.c,v 1.56 2000/09/18 01:38:22 mej Exp $"; +static const char cvs_ident[] = "$Id: pixmap.c,v 1.57 2000/10/30 23:05:25 mej Exp $"; #include "config.h" #include "feature.h" @@ -521,8 +521,8 @@ } else { XTranslateCoordinates(Xdisplay, d, desktop_window, x, y, &x, &y, &dummy); } - p = LIBMEJ_X_CREATE_PIXMAP(width, height); - gc = LIBMEJ_X_CREATE_GC(0, NULL); + p = LIBAST_X_CREATE_PIXMAP(width, height); + gc = LIBAST_X_CREATE_GC(0, NULL); D_PIXMAP(("Created p [0x%08x] as a %hux%hu pixmap at %d, %d relative to window 0x%08x\n", p, width, height, x, y, desktop_window)); if (p != None) { if (pw < scr->width || ph < scr->height) { @@ -544,7 +544,7 @@ bevel_pixmap(p, width, height, simg->iml->bevel->edges, simg->iml->bevel->up); } } - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); return p; } @@ -619,10 +619,10 @@ } } if (p == None) { - p = LIBMEJ_X_CREATE_PIXMAP(width, height); + p = LIBAST_X_CREATE_PIXMAP(width, height); D_PIXMAP(("Created p == 0x%08x\n", p)); } - gc = LIBMEJ_X_CREATE_GC(0, NULL); + gc = LIBAST_X_CREATE_GC(0, NULL); XTranslateCoordinates(Xdisplay, d, desktop_window, x, y, &x, &y, &dummy); D_PIXMAP(("Translated coords are %d, %d\n", x, y)); if ((images[image_bg].current->pmap->w > 0) || (images[image_bg].current->pmap->op & OP_SCALE)) { @@ -633,7 +633,7 @@ XSetFillStyle(Xdisplay, gc, FillTiled); XFillRectangle(Xdisplay, p, gc, 0, 0, width, height); } - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); return p; } @@ -678,13 +678,13 @@ FREE(reply); enl_ipc_sync(); if (pmap) { - gc = LIBMEJ_X_CREATE_GC(0, NULL); + gc = LIBAST_X_CREATE_GC(0, NULL); XSetClipMask(Xdisplay, gc, mask); XSetClipOrigin(Xdisplay, gc, x, y); XCopyArea(Xdisplay, pmap, d, gc, 0, 0, w, h, x, y); snprintf(buff, sizeof(buff), "imageclass %s free_pixmap 0x%08x", iclass, (int) pmap); enl_ipc_send(buff); - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); return; } else { print_error("Enlightenment returned a null pixmap, which I can't use. Disallowing \"auto\" mode for this image.\n"); @@ -697,22 +697,26 @@ } else if (image_mode_is(which, MODE_TRANS) && image_mode_is(which, ALLOW_TRANS)) { Pixmap p; - gc = LIBMEJ_X_CREATE_GC(0, NULL); + gc = LIBAST_X_CREATE_GC(0, NULL); p = create_trans_pixmap(simg, which, win, x, y, w, h); - XCopyArea(Xdisplay, p, d, gc, 0, 0, w, h, x, y); - LIBMEJ_X_FREE_PIXMAP(p); - LIBMEJ_X_FREE_GC(gc); + if (p != None) { + XCopyArea(Xdisplay, p, d, gc, 0, 0, w, h, x, y); + if (p != desktop_pixmap) { + LIBAST_X_FREE_PIXMAP(p); + } + } + LIBAST_X_FREE_GC(gc); } else if (image_mode_is(which, MODE_VIEWPORT) && image_mode_is(which, ALLOW_VIEWPORT)) { Pixmap p; - gc = LIBMEJ_X_CREATE_GC(0, NULL); + gc = LIBAST_X_CREATE_GC(0, NULL); p = create_viewport_pixmap(simg, win, x, y, w, h); if (simg->iml->bevel != NULL) { bevel_pixmap(p, w, h, simg->iml->bevel->edges, simg->iml->bevel->up); } XCopyArea(Xdisplay, p, d, gc, 0, 0, w, h, x, y); - LIBMEJ_X_FREE_PIXMAP(p); - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_PIXMAP(p); + LIBAST_X_FREE_GC(gc); } } @@ -740,14 +744,14 @@ return; } IMLIB_REGISTER_PIXMAP(pmap); - gc = LIBMEJ_X_CREATE_GC(0, NULL); + gc = LIBAST_X_CREATE_GC(0, NULL); if (mask) { XSetClipMask(Xdisplay, gc, mask); XSetClipOrigin(Xdisplay, gc, x, y); } XCopyArea(Xdisplay, pmap, d, gc, 0, 0, w, h, x, y); IMLIB_FREE_PIXMAP(pmap); - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); } } @@ -806,9 +810,9 @@ XGCValues gcvalue; ASSERT(buffer_pixmap == None); - buffer_pixmap = LIBMEJ_X_CREATE_PIXMAP(width, height); + buffer_pixmap = LIBAST_X_CREATE_PIXMAP(width, height); gcvalue.foreground = (Pixel) fill; - gc = LIBMEJ_X_CREATE_GC(GCForeground, &gcvalue); + gc = LIBAST_X_CREATE_GC(GCForeground, &gcvalue); XSetGraphicsExposures(Xdisplay, gc, False); if (mode == MODE_SOLID) { @@ -816,15 +820,15 @@ simg = images[image_bg].current; if (simg->pmap->pixmap) { - LIBMEJ_X_FREE_PIXMAP(simg->pmap->pixmap); + LIBAST_X_FREE_PIXMAP(simg->pmap->pixmap); } - simg->pmap->pixmap = LIBMEJ_X_CREATE_PIXMAP(width, height); + simg->pmap->pixmap = LIBAST_X_CREATE_PIXMAP(width, height); XFillRectangle(Xdisplay, simg->pmap->pixmap, gc, 0, 0, width, height); XCopyArea(Xdisplay, simg->pmap->pixmap, buffer_pixmap, gc, 0, 0, width, height, 0, 0); } else { XCopyArea(Xdisplay, (Pixmap) fill, buffer_pixmap, gc, 0, 0, width, height, 0, 0); } - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); } void @@ -862,11 +866,11 @@ return; gcvalue.foreground = gcvalue.background = PixColors[bgColor]; - gc = LIBMEJ_X_CREATE_GC(GCForeground | GCBackground, &gcvalue); + gc = LIBAST_X_CREATE_GC(GCForeground | GCBackground, &gcvalue); pixmap = simg->pmap->pixmap; /* Save this for later */ if ((which == image_bg) && (buffer_pixmap != None)) { - LIBMEJ_X_FREE_PIXMAP(buffer_pixmap); + LIBAST_X_FREE_PIXMAP(buffer_pixmap); buffer_pixmap = None; } @@ -908,11 +912,16 @@ XSetClipOrigin(Xdisplay, gc, 0, 0); } if (simg->pmap->pixmap) { - LIBMEJ_X_FREE_PIXMAP(simg->pmap->pixmap); + LIBAST_X_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; } - simg->pmap->pixmap = LIBMEJ_X_CREATE_PIXMAP(width, height); - XCopyArea(Xdisplay, pmap, simg->pmap->pixmap, gc, 0, 0, width, height, 0, 0); - XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); + if (renderop & RENDER_FORCE_PIXMAP) { + simg->pmap->pixmap = LIBAST_X_CREATE_PIXMAP(width, height); + XCopyArea(Xdisplay, pmap, simg->pmap->pixmap, gc, 0, 0, width, height, 0, 0); + XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); + } else { + XSetWindowBackgroundPixmap(Xdisplay, win, pmap); + } snprintf(buff, sizeof(buff), "imageclass %s free_pixmap 0x%08x", iclass, (int) pmap); enl_ipc_send(buff); } else { @@ -924,7 +933,7 @@ } else { snprintf(buff, sizeof(buff), "imageclass %s apply 0x%x %s", iclass, (int) win, state); enl_ipc_send(buff); - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); return; } } @@ -934,7 +943,7 @@ # ifdef PIXMAP_OFFSET if (image_mode_is(which, MODE_TRANS) && image_mode_is(which, ALLOW_TRANS)) { if (simg->pmap->pixmap != None) { - LIBMEJ_X_FREE_PIXMAP(simg->pmap->pixmap); + LIBAST_X_FREE_PIXMAP(simg->pmap->pixmap); } simg->pmap->pixmap = create_trans_pixmap(simg, which, win, 0, 0, width, height); if (simg->pmap->pixmap != None) { @@ -944,6 +953,10 @@ } else { XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); } + if (!(renderop & RENDER_FORCE_PIXMAP)) { + IMLIB_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; + } } else { image_mode_fallback(which); } @@ -954,7 +967,7 @@ p = create_viewport_pixmap(simg, win, 0, 0, width, height); if (p && (p != simg->pmap->pixmap)) { if (simg->pmap->pixmap != None) { - LIBMEJ_X_FREE_PIXMAP(simg->pmap->pixmap); + LIBAST_X_FREE_PIXMAP(simg->pmap->pixmap); } simg->pmap->pixmap = p; } @@ -966,6 +979,10 @@ } else { XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); } + if (!(renderop & RENDER_FORCE_PIXMAP)) { + IMLIB_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; + } } else { image_mode_fallback(which); } @@ -1049,7 +1066,7 @@ single = ((xscaled < width || yscaled < height) && !(simg->pmap->op & OP_TILE)) ? 1 : 0; pixmap = simg->pmap->pixmap; - simg->pmap->pixmap = LIBMEJ_X_CREATE_PIXMAP(width, height); + simg->pmap->pixmap = LIBAST_X_CREATE_PIXMAP(width, height); if (single) { XFillRectangle(Xdisplay, simg->pmap->pixmap, gc, 0, 0, width, height); } @@ -1064,7 +1081,7 @@ IMLIB_FREE_PIXMAP(pixmap); } else if (renderop & RENDER_FORCE_PIXMAP) { pixmap = simg->pmap->pixmap; - simg->pmap->pixmap = LIBMEJ_X_CREATE_PIXMAP(width, height); + simg->pmap->pixmap = LIBAST_X_CREATE_PIXMAP(width, height); XCopyArea(Xdisplay, pixmap, simg->pmap->pixmap, gc, 0, 0, width, height, 0, 0); IMLIB_FREE_PIXMAP(pixmap); } @@ -1080,6 +1097,10 @@ and handle exposes by copying from simg->pmap->pixmap. */ XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); } + if (!(renderop & RENDER_FORCE_PIXMAP)) { + IMLIB_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; + } } else { print_error("Delayed image load failure for \"%s\". Using solid color mode.\n", imlib_image_get_filename()); image_set_mode(which, MODE_SOLID); @@ -1100,9 +1121,9 @@ } else { if ((renderop & RENDER_FORCE_PIXMAP) || (simg->iml->bevel != NULL)) { if (simg->pmap->pixmap) { - LIBMEJ_X_FREE_PIXMAP(simg->pmap->pixmap); + LIBAST_X_FREE_PIXMAP(simg->pmap->pixmap); } - simg->pmap->pixmap = LIBMEJ_X_CREATE_PIXMAP(width, height); + simg->pmap->pixmap = LIBAST_X_CREATE_PIXMAP(width, height); XSetForeground(Xdisplay, gc, ((which == image_bg) ? (PixColors[bgColor]) : (simg->bg))); XFillRectangle(Xdisplay, simg->pmap->pixmap, gc, 0, 0, width, height); if (simg->iml->bevel != NULL && simg->iml->bevel->edges != NULL) { @@ -1117,7 +1138,7 @@ } } XClearWindow(Xdisplay, win); - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); return; } @@ -1172,7 +1193,6 @@ return name; } for (path = pathlist; path != NULL && *path != '\0'; path = p) { - int n; /* colon delimited */ @@ -1185,7 +1205,21 @@ if (n > 0 && n <= maxpath) { - strncpy(name, path, n); + if (*path == '~') { + unsigned int l; + char *home_dir = getenv("HOME"); + + if (home_dir && *home_dir) { + l = strlen(home_dir); + if (l + n < (unsigned) maxpath) { + strcpy(name, home_dir); + strncat(name, path + 1, n - 1); + n += l - 1; + } + } + } else { + strncpy(name, path, n); + } if (name[n - 1] != '/') name[n++] = '/'; name[n] = '\0'; @@ -1830,7 +1864,7 @@ } if (color_pixmap != None) { D_PIXMAP(("Removing old solid color pixmap 0x%08x.\n", color_pixmap)); - LIBMEJ_X_FREE_PIXMAP(color_pixmap); + LIBAST_X_FREE_PIXMAP(color_pixmap); color_pixmap = None; } if (prop != None) { @@ -1855,19 +1889,19 @@ Screen *scr = ScreenOfDisplay(Xdisplay, Xscreen); gcvalue.foreground = gcvalue.background = PixColors[bgColor]; - gc = LIBMEJ_X_CREATE_GC(GCForeground | GCBackground, &gcvalue); + gc = LIBAST_X_CREATE_GC(GCForeground | GCBackground, &gcvalue); XGetGeometry(Xdisplay, p, &w, &px, &py, &pw, &ph, &pb, &pd); D_PIXMAP(("XGetGeometry() returned w = 0x%08x, pw == %u, ph == %u\n", w, pw, ph)); if (pw < (unsigned int) scr->width || ph < (unsigned int) scr->height) { - desktop_pixmap = LIBMEJ_X_CREATE_PIXMAP(pw, ph); + desktop_pixmap = LIBAST_X_CREATE_PIXMAP(pw, ph); XCopyArea(Xdisplay, p, desktop_pixmap, gc, 0, 0, pw, ph, 0, 0); colormod_trans(desktop_pixmap, images[image_bg].current->iml, gc, pw, ph); } else { - desktop_pixmap = LIBMEJ_X_CREATE_PIXMAP(scr->width, scr->height); + desktop_pixmap = LIBAST_X_CREATE_PIXMAP(scr->width, scr->height); XCopyArea(Xdisplay, p, desktop_pixmap, gc, 0, 0, scr->width, scr->height, 0, 0); colormod_trans(desktop_pixmap, images[image_bg].current->iml, gc, scr->width, scr->height); } - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); desktop_pixmap_is_mine = 1; D_PIXMAP(("Returning 0x%08x\n", (unsigned int) desktop_pixmap)); return (desktop_pixmap); @@ -1893,12 +1927,12 @@ D_PIXMAP((" Found solid color 0x%08x\n", pix)); gcvalue.foreground = pix; gcvalue.background = pix; - gc = LIBMEJ_X_CREATE_GC(GCForeground | GCBackground, &gcvalue); + gc = LIBAST_X_CREATE_GC(GCForeground | GCBackground, &gcvalue); - color_pixmap = LIBMEJ_X_CREATE_PIXMAP(16, 16); + color_pixmap = LIBAST_X_CREATE_PIXMAP(16, 16); XFillRectangle(Xdisplay, color_pixmap, gc, 0, 0, 16, 16); D_PIXMAP(("Created solid color pixmap 0x%08x for desktop_pixmap.\n", color_pixmap)); - LIBMEJ_X_FREE_GC(gc); + LIBAST_X_FREE_GC(gc); return (desktop_pixmap = color_pixmap); } } @@ -1913,7 +1947,7 @@ { if (desktop_pixmap_is_mine && desktop_pixmap != None) { - LIBMEJ_X_FREE_PIXMAP(desktop_pixmap); + LIBAST_X_FREE_PIXMAP(desktop_pixmap); desktop_pixmap_is_mine = 0; } desktop_pixmap = None; =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/pixmap.h,v retrieving revision 1.33 retrieving revision 1.34 diff -u -3 -r1.33 -r1.34 --- pixmap.h 2000/09/18 01:38:22 1.33 +++ pixmap.h 2000/10/30 23:05:25 1.34 @@ -63,10 +63,10 @@ # define get_image_type_string(t) ((char *) "") # define delete_simage(simg) NOP #endif -#define LIBMEJ_X_CREATE_PIXMAP(w, h) X_CREATE_PIXMAP(Xdisplay, (TermWin.parent ? TermWin.parent : Xroot), (w), (h), Xdepth) -#define LIBMEJ_X_FREE_PIXMAP(p) X_FREE_PIXMAP(Xdisplay, p) -#define LIBMEJ_X_CREATE_GC(f, gcv) X_CREATE_GC(Xdisplay, (TermWin.parent ? TermWin.parent : Xroot), (f), (gcv)) -#define LIBMEJ_X_FREE_GC(gc) X_FREE_GC(Xdisplay, gc) +#define LIBAST_X_CREATE_PIXMAP(w, h) X_CREATE_PIXMAP(Xdisplay, (TermWin.parent ? TermWin.parent : Xroot), (w), (h), Xdepth) +#define LIBAST_X_FREE_PIXMAP(p) X_FREE_PIXMAP(Xdisplay, p) +#define LIBAST_X_CREATE_GC(f, gcv) X_CREATE_GC(Xdisplay, (TermWin.parent ? TermWin.parent : Xroot), (f), (gcv)) +#define LIBAST_X_FREE_GC(gc) X_FREE_GC(Xdisplay, gc) #define GEOM_LEN 19 =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/scrollbar.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -3 -r1.34 -r1.35 --- scrollbar.c 2000/09/18 01:38:22 1.34 +++ scrollbar.c 2000/10/30 23:05:25 1.35 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: scrollbar.c,v 1.34 2000/09/18 01:38:22 mej Exp $"; +static const char cvs_ident[] = "$Id: scrollbar.c,v 1.35 2000/10/30 23:05:25 mej Exp $"; #include "config.h" #include "feature.h" @@ -562,10 +562,14 @@ return; } if (scrollbar_anchor_height() > 1) { - render_simage(images[image_sa].current, scrollbar.sa_win, scrollbar_anchor_width(), scrollbar_anchor_height(), image_sa, 0); + unsigned char thumb; + Pixmap pmap; + thumb = (images[image_st].current->iml) ? 1 : 0; + render_simage(images[image_sa].current, scrollbar.sa_win, scrollbar_anchor_width(), scrollbar_anchor_height(), image_sa, thumb); + pmap = images[image_sa].current->pmap->pixmap; /* Draw the thumb if there is one. */ - if (images[image_st].current->iml) { + if (thumb) { unsigned short tw = 0, th = 0; imlib_t *iml = images[image_st].current->iml, *siml = images[image_sa].current->iml; @@ -589,10 +593,12 @@ UPPER_BOUND(th, scrollbar_anchor_height() >> 1); D_SCROLLBAR(("Thumb width/height has been calculated at %hux%hu.\n", tw, th)); if ((tw > 0) && (th > 0)) { - paste_simage(images[image_st].current, image_st, scrollbar.sa_win, images[image_sa].current->pmap->pixmap, + paste_simage(images[image_st].current, image_st, scrollbar.sa_win, pmap, (scrollbar_anchor_width() - tw) >> 1, (scrollbar_anchor_height() - th) >> 1, tw, th); - XSetWindowBackgroundPixmap(Xdisplay, scrollbar.sa_win, images[image_sa].current->pmap->pixmap); + XSetWindowBackgroundPixmap(Xdisplay, scrollbar.sa_win, pmap); XClearWindow(Xdisplay, scrollbar.sa_win); + IMLIB_FREE_PIXMAP(pmap); + images[image_sa].current->pmap->pixmap = None; } } } @@ -886,19 +892,19 @@ gcvalue.fill_style = FillOpaqueStippled; gcvalue.foreground = PixColors[fgColor]; gcvalue.background = PixColors[bgColor]; - gc_stipple = LIBMEJ_X_CREATE_GC(GCForeground | GCBackground | GCFillStyle | GCStipple, &gcvalue); + gc_stipple = LIBAST_X_CREATE_GC(GCForeground | GCBackground | GCFillStyle | GCStipple, &gcvalue); gcvalue.foreground = PixColors[borderColor]; - gc_border = LIBMEJ_X_CREATE_GC(GCForeground, &gcvalue); + gc_border = LIBAST_X_CREATE_GC(GCForeground, &gcvalue); } #endif /* XTERM_SCROLLBAR */ #if defined(MOTIF_SCROLLBAR) || defined(NEXT_SCROLLBAR) gcvalue.foreground = images[image_sb].norm->bg; - gc_scrollbar = LIBMEJ_X_CREATE_GC(GCForeground, &gcvalue); + gc_scrollbar = LIBAST_X_CREATE_GC(GCForeground, &gcvalue); gcvalue.foreground = PixColors[topShadowColor]; - gc_top = LIBMEJ_X_CREATE_GC(GCForeground, &gcvalue); + gc_top = LIBAST_X_CREATE_GC(GCForeground, &gcvalue); gcvalue.foreground = PixColors[bottomShadowColor]; - gc_bottom = LIBMEJ_X_CREATE_GC(GCForeground, &gcvalue); + gc_bottom = LIBAST_X_CREATE_GC(GCForeground, &gcvalue); #endif /* MOTIF_SCROLLBAR || NEXT_SCROLLBAR */ } =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/term.c,v retrieving revision 1.56 retrieving revision 1.57 diff -u -3 -r1.56 -r1.57 --- term.c 2000/09/18 00:13:07 1.56 +++ term.c 2000/10/30 23:05:25 1.57 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: term.c,v 1.56 2000/09/18 00:13:07 mej Exp $"; +static const char cvs_ident[] = "$Id: term.c,v 1.57 2000/10/30 23:05:25 mej Exp $"; #include "config.h" #include "feature.h" @@ -1869,7 +1869,7 @@ if (image_mode_is(which, MODE_TRANS) && (desktop_pixmap != None)) { free_desktop_pixmap(); } else if (image_mode_is(which, MODE_VIEWPORT) && (viewport_pixmap != None)) { - LIBMEJ_X_FREE_PIXMAP(viewport_pixmap); + LIBAST_X_FREE_PIXMAP(viewport_pixmap); viewport_pixmap = None; /* Force the re-read */ } # endif @@ -1885,7 +1885,7 @@ if (image_mode_is(which, MODE_TRANS) && (desktop_pixmap != None)) { free_desktop_pixmap(); } else if (image_mode_is(which, MODE_VIEWPORT) && (viewport_pixmap != None)) { - LIBMEJ_X_FREE_PIXMAP(viewport_pixmap); + LIBAST_X_FREE_PIXMAP(viewport_pixmap); viewport_pixmap = None; /* Force the re-read */ } # endif =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/windows.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- windows.c 2000/09/18 00:13:07 1.43 +++ windows.c 2000/10/30 23:05:25 1.44 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: windows.c,v 1.43 2000/09/18 00:13:07 mej Exp $"; +static const char cvs_ident[] = "$Id: windows.c,v 1.44 2000/10/30 23:05:25 mej Exp $"; #include "config.h" #include "feature.h" @@ -456,7 +456,7 @@ gcvalue.foreground = PixColors[fgColor]; gcvalue.background = PixColors[bgColor]; gcvalue.graphics_exposures = 0; - TermWin.gc = LIBMEJ_X_CREATE_GC(GCForeground | GCBackground | GCFont | GCGraphicsExposures, &gcvalue); + TermWin.gc = LIBAST_X_CREATE_GC(GCForeground | GCBackground | GCFont | GCGraphicsExposures, &gcvalue); } if (Options & Opt_no_cursor) { |
From: <enl...@li...> - 2000-10-31 04:56:17
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: configure.in Log Message: Fixed the auto-fetch thingie for libast. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/configure.in,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- configure.in 2000/10/30 23:05:25 1.40 +++ configure.in 2000/10/31 04:56:13 1.41 @@ -1,4 +1,4 @@ -dnl# $Id: configure.in,v 1.40 2000/10/30 23:05:25 mej Exp $ +dnl# $Id: configure.in,v 1.41 2000/10/31 04:56:13 mej Exp $ AC_INIT(src/feature.h) AM_INIT_AUTOMAKE(Eterm, 0.9.1) @@ -106,7 +106,6 @@ AC_PATH_PROG(PERL, perl, /usr/bin/perl, $PATH:/usr/bin:/bin:/usr/local/bin:/usr/ccs/bin:/usr/contrib/bin) AC_PATH_PROG(AWK, awk, /usr/bin/awk, $PATH:/usr/bin:/bin:/usr/local/bin:/usr/ccs/bin:/usr/contrib/bin) export PERL AWK -AC_CHECK_PROG(LIBAST_CONFIG, libast-config, libast-config, false) AC_CHECK_SIZEOF(int, 4) AC_CHECK_SIZEOF(long, 4) @@ -380,8 +379,37 @@ dnl# LibAST dnl# AC_CHECK_LIB(ast, libast_malloc, FOUND_LIBAST=1, FOUND_LIBAST=0, $GRLIBS) -test -z "$LIBAST_CONFIG" && FOUND_LIBAST=0 +if test "$FOUND_LIBAST" -eq "1"; then + AC_CHECK_PROG(LIBAST_CONFIG, libast-config, libast-config, false) + test "$LIBAST_CONFIG" = "false" && FOUND_LIBAST=0 +fi +if test "$FOUND_LIBAST" -ne "1"; then + echo "ERROR: You need the LibAST package to build Eterm. If you already have it,"; + echo " you may have it installed in a strange place, or you may need to run"; + echo " /sbin/ldconfig. If you don't have it, I can download it for you."; + echo " Shall I retrieve and build LibAST now (y/n)?"; + read ANS + if test "x$ANS" = "xy" -o "x$ANS" = "xyes" -o "x$ANS" = "xY" -o "x$ANS" = "xYES"; then + if test -d CVS ; then + # Download from CVS server + CVSROOT=":pserver:ano...@cv...:/cvsroot/enlightenment" + grep $CVSROOT $HOME/.cvspass >/dev/null 2>&1 || cvs -d $CVSROOT login + cvs -z3 -d $CVSROOT co -d libast eterm/libast + (cd libast && ./autogen.sh $ac_configure_args && make install && cd .. && rm -rf libast) + if test $? -ne 0; then + echo 'ERROR: Unable to auto-get libast, sorry.' 1>&2 + exit 1 + fi + FOUND_LIBAST=1 + AC_CHECK_PROG(LIBAST_CONFIG, libast-config, libast-config, false) + test "$LIBAST_CONFIG" = "false" && FOUND_LIBAST=0 + else + # Download tarball + : + fi + fi +fi if test "$FOUND_LIBAST" -eq "1"; then if test ! -z "$LIBAST_CONFIG"; then GRLIBS="-last $GRLIBS" @@ -405,27 +433,7 @@ done fi else - echo "ERROR: You need the LibAST package to build Eterm. If you already have it,"; - echo " you may have it installed in a strange place, or you may need to run"; - echo " /sbin/ldconfig. If you don't have it, I can download it for you."; - echo " Shall I retrieve and build LibAST now (y/n)?"; - read ANS - if test "x$ANS" = "xy" -o "x$ANS" = "xyes" -o "x$ANS" = "xY" -o "x$ANS" = "xYES"; then - if test -d CVS ; then - # Download from CVS server - cvs -z3 -d :pserver:ano...@cv...:/cvsroot/enlightenment co -d libast eterm/libast - (cd libast && ./autogen.sh "$@" && make install && cd .. && rm -rf libast) - if test $? -ne 0; then - echo 'ERROR: Unable to auto-get libast, sorry.' 1>&2 - exit 1 - fi - else - # Download tarball - : - fi - else - AC_MSG_ERROR(Fatal: libast not found.) - fi + AC_MSG_ERROR(Fatal: libast not found.) fi AC_MSG_CHECKING(for utmp support) |
From: <enl...@li...> - 2000-11-01 03:33:55
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog configure.in Log Message: Tue Oct 31 19:33:09 PST 2000 Michael Jennings <me...@et...> Apparently AC_PREFIX() is too stupid to handle programs with hyphens in their names. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.184 retrieving revision 1.185 diff -u -3 -r1.184 -r1.185 --- ChangeLog 2000/10/30 23:05:25 1.184 +++ ChangeLog 2000/11/01 03:33:55 1.185 @@ -3932,3 +3932,9 @@ dependency on libast, which is now distributed separately. ------------------------------------------------------------------------------- +Tue Oct 31 19:33:09 PST 2000 Michael Jennings <me...@et...> + + Apparently AC_PREFIX() is too stupid to handle programs with hyphens + in their names. + +------------------------------------------------------------------------------- =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/configure.in,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- configure.in 2000/10/31 04:56:13 1.41 +++ configure.in 2000/11/01 03:33:55 1.42 @@ -1,4 +1,4 @@ -dnl# $Id: configure.in,v 1.41 2000/10/31 04:56:13 mej Exp $ +dnl# $Id: configure.in,v 1.42 2000/11/01 03:33:55 mej Exp $ AC_INIT(src/feature.h) AM_INIT_AUTOMAKE(Eterm, 0.9.1) @@ -414,7 +414,7 @@ if test ! -z "$LIBAST_CONFIG"; then GRLIBS="-last $GRLIBS" AC_DEFINE(HAVE_LIBAST) - AC_PREFIX(libast-config) + test "$prefix" = "NONE" && prefix="`$LIBAST_CONFIG --prefix`" CPPFLAGS="$CPPFLAGS `$LIBAST_CONFIG --cppflags`" LDFLAGS="$LDFLAGS `$LIBAST_CONFIG --ldflags`" SUPPORT_FLAGS="`$LIBAST_CONFIG --support`" |
From: <enl...@li...> - 2000-11-01 04:18:04
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: configure.in Log Message: Last bit of libmej cruft. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/configure.in,v retrieving revision 1.42 retrieving revision 1.43 diff -u -3 -r1.42 -r1.43 --- configure.in 2000/11/01 03:33:55 1.42 +++ configure.in 2000/11/01 04:18:04 1.43 @@ -1,4 +1,4 @@ -dnl# $Id: configure.in,v 1.42 2000/11/01 03:33:55 mej Exp $ +dnl# $Id: configure.in,v 1.43 2000/11/01 04:18:04 mej Exp $ AC_INIT(src/feature.h) AM_INIT_AUTOMAKE(Eterm, 0.9.1) @@ -795,7 +795,7 @@ AM_CONFIG_HEADER(config.h) -AC_OUTPUT(Makefile bg/Makefile doc/Makefile utils/Makefile libmej/Makefile +AC_OUTPUT(Makefile bg/Makefile doc/Makefile utils/Makefile pix/Makefile src/Makefile themes/Makefile Eterm.spec) # Mega evals to make sure all the relative variables get resolved. |
From: <enl...@li...> - 2000-11-10 03:26:05
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog configure.in Log Message: Thu Nov 9 19:22:18 PST 2000 Michael Jennings <me...@et...> Fixed the error message bug I noticed. There's also a big5 fix from Chung-Yen Chang <ca...@cl...>, and I got rid of some tiny memory leaks in the X data, the first of which was noticed by ze...@li.... =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.185 retrieving revision 1.186 diff -u -3 -r1.185 -r1.186 --- ChangeLog 2000/11/01 03:33:55 1.185 +++ ChangeLog 2000/11/10 03:26:04 1.186 @@ -3938,3 +3938,11 @@ in their names. ------------------------------------------------------------------------------- +Thu Nov 9 19:22:18 PST 2000 Michael Jennings <me...@et...> + + Fixed the error message bug I noticed. There's also a big5 fix from + Chung-Yen Chang <ca...@cl...>, and I got rid of some + tiny memory leaks in the X data, the first of which was noticed by + ze...@li.... + +------------------------------------------------------------------------------- =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/configure.in,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- configure.in 2000/11/01 04:18:04 1.43 +++ configure.in 2000/11/10 03:26:04 1.44 @@ -1,4 +1,4 @@ -dnl# $Id: configure.in,v 1.43 2000/11/01 04:18:04 mej Exp $ +dnl# $Id: configure.in,v 1.44 2000/11/10 03:26:04 mej Exp $ AC_INIT(src/feature.h) AM_INIT_AUTOMAKE(Eterm, 0.9.1) @@ -577,6 +577,21 @@ FONT2="fixed" FONT3="8x13" FONT4="9x15" + elif test "$MULTI_CHARSET_TYPE" = "big5"; then + AC_MSG_RESULT(big5) + AC_DEFINE(MULTI_CHARSET) + DEF_FONT_IDX=0 + MULTICHAR_ENCODING="big5" + FONT0="8x16" + FONT1="9x18" + FONT2="10x20" + FONT3="12x24" + FONT4="13x26" + MFONT0="-*-ming-medium-r-normal--16-*-*-*-c-*-big5-0" + MFONT1="-*-ming-medium-r-normal--18-*-*-*-c-*-big5-0" + MFONT2="-*-ming-medium-r-normal--20-*-*-*-c-*-big5-0" + MFONT3="-*-ming-medium-r-normal--24-*-*-*-c-*-big5-0" + MFONT4="-*-ming-medium-r-normal--26-*-*-*-c-*-big5-0" else MULTI_CHARSET_TYPE="" fi |
From: <enl...@li...> - 2000-11-10 03:26:06
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: events.c options.c pixmap.c startup.c Log Message: Thu Nov 9 19:22:18 PST 2000 Michael Jennings <me...@et...> Fixed the error message bug I noticed. There's also a big5 fix from Chung-Yen Chang <ca...@cl...>, and I got rid of some tiny memory leaks in the X data, the first of which was noticed by ze...@li.... =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/events.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- events.c 2000/09/02 04:12:16 1.41 +++ events.c 2000/11/10 03:26:04 1.42 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: events.c,v 1.41 2000/09/02 04:12:16 mej Exp $"; +static const char cvs_ident[] = "$Id: events.c,v 1.42 2000/11/10 03:26:04 mej Exp $"; #include "config.h" #include "feature.h" @@ -327,9 +327,12 @@ unsigned long Size, RemainingBytes; XGetWindowProperty(Xdisplay, Xroot, DndSelection, 0L, 1000000L, False, AnyPropertyType, &ActualType, &ActualFormat, &Size, &RemainingBytes, &data); - XChangeProperty(Xdisplay, Xroot, XA_CUT_BUFFER0, XA_STRING, 8, PropModeReplace, data, strlen(data)); - selection_paste(Xroot, XA_CUT_BUFFER0, True); - XSetInputFocus(Xdisplay, Xroot, RevertToNone, CurrentTime); + if (data != NULL) { + XChangeProperty(Xdisplay, Xroot, XA_CUT_BUFFER0, XA_STRING, 8, PropModeReplace, data, strlen(data)); + selection_paste(Xroot, XA_CUT_BUFFER0, True); + XSetInputFocus(Xdisplay, Xroot, RevertToNone, CurrentTime); + XFree(data); + } return 1; } #endif /* OFFIX_DND */ =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -3 -r1.73 -r1.74 --- options.c 2000/10/30 23:05:25 1.73 +++ options.c 2000/11/10 03:26:04 1.74 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: options.c,v 1.73 2000/10/30 23:05:25 mej Exp $"; +static const char cvs_ident[] = "$Id: options.c,v 1.74 2000/11/10 03:26:04 mej Exp $"; #include "config.h" #include "feature.h" @@ -286,7 +286,7 @@ OPT_LONG("mfont2", "multichar font 2", &rs_mfont[2]), OPT_LONG("mfont3", "multichar font 3", &rs_mfont[3]), OPT_LONG("mfont4", "multichar font 4", &rs_mfont[4]), - OPT_LONG("mencoding", "multichar encoding mode (eucj or sjis or euckr)", + OPT_LONG("mencoding", "multichar encoding mode (eucj, sjis, euckr, or big5)", &rs_multichar_encoding), #endif /* MULTI_CHARSET */ #ifdef USE_XIM @@ -3240,7 +3240,8 @@ if (rs_multichar_encoding != NULL) { if (BEG_STRCASECMP(rs_multichar_encoding, "eucj") && BEG_STRCASECMP(rs_multichar_encoding, "sjis") - && BEG_STRCASECMP(rs_multichar_encoding, "euckr")) { + && BEG_STRCASECMP(rs_multichar_encoding, "euckr") + && BEG_STRCASECMP(rs_multichar_encoding, "big5")) { print_error("Parse error in file %s, line %lu: Invalid multichar encoding mode \"%s\"\n", file_peek_path(), file_peek_line(), rs_multichar_encoding); return NULL; =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/pixmap.c,v retrieving revision 1.57 retrieving revision 1.58 diff -u -3 -r1.57 -r1.58 --- pixmap.c 2000/10/30 23:05:25 1.57 +++ pixmap.c 2000/11/10 03:26:04 1.58 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: pixmap.c,v 1.57 2000/10/30 23:05:25 mej Exp $"; +static const char cvs_ident[] = "$Id: pixmap.c,v 1.58 2000/11/10 03:26:04 mej Exp $"; #include "config.h" #include "feature.h" @@ -1814,6 +1814,7 @@ } else { continue; } + XFree(data); if (type != None) { D_PIXMAP(("Found desktop as window 0x%08x\n", w)); if (w != Xroot) { @@ -1871,6 +1872,7 @@ XGetWindowProperty(Xdisplay, desktop_window, prop, 0L, 1L, False, AnyPropertyType, &type, &format, &length, &after, &data); if (type == XA_PIXMAP) { p = *((Pixmap *) data); + XFree(data); if (p != None) { D_PIXMAP((" Found pixmap 0x%08x\n", p)); if (orig_desktop_pixmap == p) { @@ -1912,6 +1914,8 @@ } } } + } else { + XFree(data); } } if (prop2 != None) { @@ -1924,6 +1928,7 @@ free_desktop_pixmap(); pix = *((Pixel *) data); + XFree(data); D_PIXMAP((" Found solid color 0x%08x\n", pix)); gcvalue.foreground = pix; gcvalue.background = pix; @@ -1934,6 +1939,8 @@ D_PIXMAP(("Created solid color pixmap 0x%08x for desktop_pixmap.\n", color_pixmap)); LIBAST_X_FREE_GC(gc); return (desktop_pixmap = color_pixmap); + } else { + XFree(data); } } D_PIXMAP(("No suitable attribute found.\n")); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/startup.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- startup.c 2000/08/31 05:41:44 1.21 +++ startup.c 2000/11/10 03:26:04 1.22 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: startup.c,v 1.21 2000/08/31 05:41:44 mej Exp $"; +static const char cvs_ident[] = "$Id: startup.c,v 1.22 2000/11/10 03:26:04 mej Exp $"; #include "config.h" #include "feature.h" @@ -87,6 +87,9 @@ PABLO_START_TRACING(); getcwd(initial_dir, PATH_MAX); + + libast_set_program_name(PACKAGE); + libast_set_program_version(VERSION); /* Open display, get options/resources and create the window */ if ((display_name = getenv("DISPLAY")) == NULL) |
From: <enl...@li...> - 2000-11-10 04:16:43
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: pixmap.c Log Message: Thu Nov 9 20:14:34 PST 2000 Michael Jennings <me...@et...> Thanks to continuing help from Sung-Hyun Nam <na...@lg...>, I finally figured out the double-buffering problem people were seeing. And as it turns out, his original patch was correct. So now it's fixed. Many thanks for his assistance. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/pixmap.c,v retrieving revision 1.58 retrieving revision 1.59 diff -u -3 -r1.58 -r1.59 --- pixmap.c 2000/11/10 03:26:04 1.58 +++ pixmap.c 2000/11/10 04:16:41 1.59 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: pixmap.c,v 1.58 2000/11/10 03:26:04 mej Exp $"; +static const char cvs_ident[] = "$Id: pixmap.c,v 1.59 2000/11/10 04:16:41 mej Exp $"; #include "config.h" #include "feature.h" @@ -952,10 +952,10 @@ XSetWindowBackgroundPixmap(Xdisplay, win, buffer_pixmap); } else { XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); - } - if (!(renderop & RENDER_FORCE_PIXMAP)) { - IMLIB_FREE_PIXMAP(simg->pmap->pixmap); - simg->pmap->pixmap = None; + if (!(renderop & RENDER_FORCE_PIXMAP)) { + IMLIB_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; + } } } else { image_mode_fallback(which); @@ -978,10 +978,10 @@ XSetWindowBackgroundPixmap(Xdisplay, win, buffer_pixmap); } else { XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); - } - if (!(renderop & RENDER_FORCE_PIXMAP)) { - IMLIB_FREE_PIXMAP(simg->pmap->pixmap); - simg->pmap->pixmap = None; + if (!(renderop & RENDER_FORCE_PIXMAP)) { + IMLIB_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; + } } } else { image_mode_fallback(which); @@ -1096,10 +1096,10 @@ /* FIXME: For efficiency, just fill the window with the pixmap and handle exposes by copying from simg->pmap->pixmap. */ XSetWindowBackgroundPixmap(Xdisplay, win, simg->pmap->pixmap); - } - if (!(renderop & RENDER_FORCE_PIXMAP)) { - IMLIB_FREE_PIXMAP(simg->pmap->pixmap); - simg->pmap->pixmap = None; + if (!(renderop & RENDER_FORCE_PIXMAP)) { + IMLIB_FREE_PIXMAP(simg->pmap->pixmap); + simg->pmap->pixmap = None; + } } } else { print_error("Delayed image load failure for \"%s\". Using solid color mode.\n", imlib_image_get_filename()); |
From: <enl...@li...> - 2000-11-10 04:16:43
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog Log Message: Thu Nov 9 20:14:34 PST 2000 Michael Jennings <me...@et...> Thanks to continuing help from Sung-Hyun Nam <na...@lg...>, I finally figured out the double-buffering problem people were seeing. And as it turns out, his original patch was correct. So now it's fixed. Many thanks for his assistance. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.186 retrieving revision 1.187 diff -u -3 -r1.186 -r1.187 --- ChangeLog 2000/11/10 03:26:04 1.186 +++ ChangeLog 2000/11/10 04:16:41 1.187 @@ -3946,3 +3946,11 @@ ze...@li.... ------------------------------------------------------------------------------- +Thu Nov 9 20:14:34 PST 2000 Michael Jennings <me...@et...> + + Thanks to continuing help from Sung-Hyun Nam <na...@lg...>, I + finally figured out the double-buffering problem people were seeing. + And as it turns out, his original patch was correct. So now it's + fixed. Many thanks for his assistance. + +------------------------------------------------------------------------------- |
From: <enl...@li...> - 2000-11-12 20:07:20
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: windows.c Log Message: Sun Nov 12 12:05:58 PST 2000 Michael Jennings <me...@et...> Check for _MOTIF_WM_INFO instead of _MOTIF_WM_HINTS to see if the WM can handle MWM hints. This is all raster's fault. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/windows.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -3 -r1.44 -r1.45 --- windows.c 2000/10/30 23:05:25 1.44 +++ windows.c 2000/11/12 20:07:19 1.45 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: windows.c,v 1.44 2000/10/30 23:05:25 mej Exp $"; +static const char cvs_ident[] = "$Id: windows.c,v 1.45 2000/11/12 20:07:19 mej Exp $"; #include "config.h" #include "feature.h" @@ -317,7 +317,7 @@ MWMHints mwmhints; if (Options & Opt_borderless) { - prop = XInternAtom(Xdisplay, "_MOTIF_WM_HINTS", True); + prop = XInternAtom(Xdisplay, "_MOTIF_WM_INFO", True); if (prop == None) { print_warning("Window Manager does not support MWM hints. Bypassing window manager control for borderless window.\n"); Attributes.override_redirect = TRUE; @@ -398,6 +398,7 @@ XSelectInput(Xdisplay, Xroot, PropertyChangeMask); XSelectInput(Xdisplay, TermWin.parent, (KeyPressMask | FocusChangeMask | StructureNotifyMask | VisibilityChangeMask | PropertyChangeMask)); if (mwmhints.flags) { + prop = XInternAtom(Xdisplay, "_MOTIF_WM_HINTS", False); XChangeProperty(Xdisplay, TermWin.parent, prop, prop, 32, PropModeReplace, (unsigned char *) &mwmhints, PROP_MWM_HINTS_ELEMENTS); } /* vt cursor: Black-on-White is standard, but this is more popular */ |
From: <enl...@li...> - 2000-11-12 20:07:54
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog Log Message: Sun Nov 12 12:05:58 PST 2000 Michael Jennings <me...@et...> Check for _MOTIF_WM_INFO instead of _MOTIF_WM_HINTS to see if the WM can handle MWM hints. This is all raster's fault. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.187 retrieving revision 1.188 diff -u -3 -r1.187 -r1.188 --- ChangeLog 2000/11/10 04:16:41 1.187 +++ ChangeLog 2000/11/12 20:07:19 1.188 @@ -3954,3 +3954,9 @@ fixed. Many thanks for his assistance. ------------------------------------------------------------------------------- +Sun Nov 12 12:05:58 PST 2000 Michael Jennings <me...@et...> + + Check for _MOTIF_WM_INFO instead of _MOTIF_WM_HINTS to see if the WM + can handle MWM hints. This is all raster's fault. + +------------------------------------------------------------------------------- |
From: <enl...@li...> - 2000-11-15 01:30:35
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: theme.cfg.in Log Message: Tue Nov 14 17:17:53 PST 2000 Michael Jennings <me...@et...> Since someone wanted it, if no name is given but an exec line (the -e option) is given, the name defaults to the first word in the exec line instead of "Eterm-<version>". For example, Eterm -e ssh foo would get the title "ssh". NOTE: Most Eterm themes already specify a name, so this will not work with those themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/Eterm/theme.cfg.in,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- theme.cfg.in 2000/04/13 04:19:04 1.16 +++ theme.cfg.in 2000/11/15 01:30:02 1.17 @@ -69,7 +69,7 @@ # if +, bottom right if - # geometry 132x50+100+100 # title %appname() - name %appname() +# name %appname() # iconname Eterm # Set the fonts. These must be monospace fonts. The values shown are |
From: <enl...@li...> - 2000-11-15 01:30:35
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog configure.in Removed Files: COPYING Log Message: Tue Nov 14 17:17:53 PST 2000 Michael Jennings <me...@et...> Since someone wanted it, if no name is given but an exec line (the -e option) is given, the name defaults to the first word in the exec line instead of "Eterm-<version>". For example, Eterm -e ssh foo would get the title "ssh". NOTE: Most Eterm themes already specify a name, so this will not work with those themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.188 retrieving revision 1.189 diff -u -3 -r1.188 -r1.189 --- ChangeLog 2000/11/12 20:07:19 1.188 +++ ChangeLog 2000/11/15 01:30:01 1.189 @@ -3960,3 +3960,12 @@ can handle MWM hints. This is all raster's fault. ------------------------------------------------------------------------------- +Tue Nov 14 17:17:53 PST 2000 Michael Jennings <me...@et...> + + Since someone wanted it, if no name is given but an exec line (the -e + option) is given, the name defaults to the first word in the exec line + instead of "Eterm-<version>". For example, Eterm -e ssh foo would get + the title "ssh". NOTE: Most Eterm themes already specify a name, so + this will not work with those themes. + +------------------------------------------------------------------------------- =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/configure.in,v retrieving revision 1.44 retrieving revision 1.45 diff -u -3 -r1.44 -r1.45 --- configure.in 2000/11/10 03:26:04 1.44 +++ configure.in 2000/11/15 01:30:01 1.45 @@ -1,4 +1,4 @@ -dnl# $Id: configure.in,v 1.44 2000/11/10 03:26:04 mej Exp $ +dnl# $Id: configure.in,v 1.45 2000/11/15 01:30:01 mej Exp $ AC_INIT(src/feature.h) AM_INIT_AUTOMAKE(Eterm, 0.9.1) @@ -138,7 +138,8 @@ sys/ioctl.h sys/select.h sys/time.h \ sys/sockio.h sys/byteorder.h malloc.h \ utmpx.h unistd.h bsd/signal.h regex.h \ -regexp.h stdarg.h X11/Xmu/Atoms.h) +regexp.h stdarg.h X11/Xmu/Atoms.h \ +X11/Sunkeysym.h) AC_HEADER_TIME dnl# Missing typedefs and replacements |
From: <enl...@li...> - 2000-11-15 01:30:03
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: theme.cfg.in Log Message: Tue Nov 14 17:17:53 PST 2000 Michael Jennings <me...@et...> Since someone wanted it, if no name is given but an exec line (the -e option) is given, the name defaults to the first word in the exec line instead of "Eterm-<version>". For example, Eterm -e ssh foo would get the title "ssh". NOTE: Most Eterm themes already specify a name, so this will not work with those themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/auto/theme.cfg.in,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- theme.cfg.in 2000/04/13 04:19:04 1.9 +++ theme.cfg.in 2000/11/15 01:30:02 1.10 @@ -69,7 +69,7 @@ # if +, bottom right if - # geometry 132x50+100+100 # title %appname() - name %appname() +# name %appname() # iconname Eterm # Set the fonts. These must be monospace fonts. The values shown are |
From: <enl...@li...> - 2000-11-15 01:30:03
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: theme.cfg.in Log Message: Tue Nov 14 17:17:53 PST 2000 Michael Jennings <me...@et...> Since someone wanted it, if no name is given but an exec line (the -e option) is given, the name defaults to the first word in the exec line instead of "Eterm-<version>". For example, Eterm -e ssh foo would get the title "ssh". NOTE: Most Eterm themes already specify a name, so this will not work with those themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/themes/cEterm/theme.cfg.in,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- theme.cfg.in 2000/04/13 04:19:04 1.13 +++ theme.cfg.in 2000/11/15 01:30:02 1.14 @@ -68,7 +68,7 @@ # if +, bottom right if - # geometry 132x50+100+100 title %appname() -- cEterm Theme - name %appname() +# name %appname() # iconname Eterm # Set the fonts. These must be monospace fonts. The values shown are |
From: <enl...@li...> - 2000-11-15 01:30:36
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: options.c options.h startup.c term.c Log Message: Tue Nov 14 17:17:53 PST 2000 Michael Jennings <me...@et...> Since someone wanted it, if no name is given but an exec line (the -e option) is given, the name defaults to the first word in the exec line instead of "Eterm-<version>". For example, Eterm -e ssh foo would get the title "ssh". NOTE: Most Eterm themes already specify a name, so this will not work with those themes. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.c,v retrieving revision 1.74 retrieving revision 1.75 diff -u -3 -r1.74 -r1.75 --- options.c 2000/11/10 03:26:04 1.74 +++ options.c 2000/11/15 01:30:02 1.75 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: options.c,v 1.74 2000/11/10 03:26:04 mej Exp $"; +static const char cvs_ident[] = "$Id: options.c,v 1.75 2000/11/15 01:30:02 mej Exp $"; #include "config.h" #include "feature.h" @@ -111,7 +111,7 @@ unsigned char fstate_idx; unsigned long Options = (Opt_scrollbar), image_toggles = 0; char *theme_dir = NULL, *user_dir = NULL; -char **rs_execArgs = NULL; /* Args to exec (-e or --exec) */ +char **rs_exec_args = NULL; /* Args to exec (-e or --exec) */ char *rs_title = NULL; /* Window title */ char *rs_iconName = NULL; /* Icon name */ char *rs_geometry = NULL; /* Geometry string */ @@ -354,7 +354,7 @@ OPT_LONG("term-name", "value to use for setting $TERM", &rs_term_name), OPT_LONG("pipe-name", "filename of console pipe to emulate -C", &rs_pipe_name), OPT_BOOL('C', "console", "grab console messages", &Options, Opt_console), - OPT_ARGS('e', "exec", "execute a command rather than a shell", &rs_execArgs) + OPT_ARGS('e', "exec", "execute a command rather than a shell", &rs_exec_args) }; /* Print usage information */ @@ -871,26 +871,26 @@ register unsigned short k, len = argc - i; - rs_execArgs = (char **) MALLOC(sizeof(char *) * (argc - i + 1)); + rs_exec_args = (char **) MALLOC(sizeof(char *) * (argc - i + 1)); for (k = 0; k < len; k++) { - rs_execArgs[k] = STRDUP(argv[k + i]); - D_OPTIONS(("rs_execArgs[%d] == %s\n", k, rs_execArgs[k])); + rs_exec_args[k] = STRDUP(argv[k + i]); + D_OPTIONS(("rs_exec_args[%d] == %s\n", k, rs_exec_args[k])); } - rs_execArgs[k] = (char *) NULL; + rs_exec_args[k] = (char *) NULL; return; } else { register unsigned short k; - rs_execArgs = (char **) MALLOC(sizeof(char *) * (num_words(val_ptr) + 1)); + rs_exec_args = (char **) MALLOC(sizeof(char *) * (num_words(val_ptr) + 1)); for (k = 0; val_ptr; k++) { - rs_execArgs[k] = get_word(1, val_ptr); + rs_exec_args[k] = get_word(1, val_ptr); val_ptr = get_pword(2, val_ptr); - D_OPTIONS(("rs_execArgs[%d] == %s\n", k, rs_execArgs[k])); + D_OPTIONS(("rs_exec_args[%d] == %s\n", k, rs_exec_args[k])); } - rs_execArgs[k] = (char *) NULL; + rs_exec_args[k] = (char *) NULL; } } else if (!strcasecmp(opt, "help")) { usage(); @@ -990,21 +990,21 @@ k = i + 1; } D_OPTIONS(("len == %d k == %d\n", len, k)); - rs_execArgs = (char **) MALLOC(sizeof(char *) * len); + rs_exec_args = (char **) MALLOC(sizeof(char *) * len); if (k == i) { - rs_execArgs[0] = STRDUP((char *) (val_ptr)); - D_OPTIONS(("rs_execArgs[0] == %s\n", rs_execArgs[0])); + rs_exec_args[0] = STRDUP((char *) (val_ptr)); + D_OPTIONS(("rs_exec_args[0] == %s\n", rs_exec_args[0])); k++; } else { - rs_execArgs[0] = STRDUP(argv[k - 1]); - D_OPTIONS(("rs_execArgs[0] == %s\n", rs_execArgs[0])); + rs_exec_args[0] = STRDUP(argv[k - 1]); + D_OPTIONS(("rs_exec_args[0] == %s\n", rs_exec_args[0])); } for (; k < argc; k++) { - rs_execArgs[k - i] = STRDUP(argv[k]); - D_OPTIONS(("rs_execArgs[%d] == %s\n", k - i, rs_execArgs[k - i])); + rs_exec_args[k - i] = STRDUP(argv[k]); + D_OPTIONS(("rs_exec_args[%d] == %s\n", k - i, rs_exec_args[k - i])); } - rs_execArgs[len - 1] = (char *) NULL; + rs_exec_args[len - 1] = (char *) NULL; return; } else if (opt[pos] == 'h') { usage(); @@ -2427,13 +2427,13 @@ register unsigned short k, n; - RESET_AND_ASSIGN(rs_execArgs, (char **) MALLOC(sizeof(char *) * ((n = num_words(get_pword(2, buff))) + 1))); + RESET_AND_ASSIGN(rs_exec_args, (char **) MALLOC(sizeof(char *) * ((n = num_words(get_pword(2, buff))) + 1))); for (k = 0; k < n; k++) { - rs_execArgs[k] = get_word(k + 2, buff); - D_OPTIONS(("rs_execArgs[%d] == %s\n", k, rs_execArgs[k])); + rs_exec_args[k] = get_word(k + 2, buff); + D_OPTIONS(("rs_exec_args[%d] == %s\n", k, rs_exec_args[k])); } - rs_execArgs[n] = (char *) NULL; + rs_exec_args[n] = (char *) NULL; } else if (!BEG_STRCASECMP(buff, "cut_chars ")) { #ifdef CUTCHAR_OPTION @@ -3591,7 +3591,6 @@ } #endif - rs_name = STRDUP(APL_NAME " " VERSION); Options = (Opt_scrollbar | Opt_select_trailing_spaces); Xdisplay = NULL; rs_term_name = NULL; @@ -3662,24 +3661,36 @@ } /* set any defaults not already set */ - if (!rs_title) + if (rs_name == NULL) { + if (rs_exec_args != NULL) { + rs_name = STRDUP(rs_exec_args[0]); + } else { + rs_name = STRDUP(APL_NAME " " VERSION); + } + } + if (!rs_title) { rs_title = rs_name; - if (!rs_iconName) + } + if (!rs_iconName) { rs_iconName = rs_name; + } if ((TermWin.saveLines = rs_saveLines) < 0) { TermWin.saveLines = SAVELINES; } /* no point having a scrollbar without having any scrollback! */ - if (!TermWin.saveLines) + if (!TermWin.saveLines) { Options &= ~Opt_scrollbar; + } #ifdef PRINTPIPE - if (!rs_print_pipe) + if (!rs_print_pipe) { rs_print_pipe = STRDUP(PRINTPIPE); + } #endif #ifdef CUTCHAR_OPTION - if (!rs_cutchars) + if (!rs_cutchars) { rs_cutchars = STRDUP(CUTCHARS); + } #endif #ifndef NO_BOLDFONT @@ -4702,10 +4713,10 @@ fprintf(fp, " border_width %d\n", TermWin.internalBorder); fprintf(fp, " term_name %s\n", getenv("TERM")); fprintf(fp, " debug %d\n", DEBUG_LEVEL); - if (save_theme && rs_execArgs) { + if (save_theme && rs_exec_args) { fprintf(fp, " exec "); - for (i = 0; rs_execArgs[i]; i++) { - fprintf(fp, "'%s' ", rs_execArgs[i]); + for (i = 0; rs_exec_args[i]; i++) { + fprintf(fp, "'%s' ", rs_exec_args[i]); } fprintf(fp, "\n"); } =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- options.h 2000/09/18 00:13:07 1.24 +++ options.h 2000/11/15 01:30:02 1.25 @@ -200,7 +200,7 @@ extern unsigned char fstate_idx; extern unsigned long Options, image_toggles; extern char *theme_dir, *user_dir; -extern char **rs_execArgs; /* Args to exec (-e or --exec) */ +extern char **rs_exec_args; /* Args to exec (-e or --exec) */ extern char *rs_title; /* Window title */ extern char *rs_iconName; /* Icon name */ extern char *rs_geometry; /* Geometry string */ =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/startup.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- startup.c 2000/11/10 03:26:04 1.22 +++ startup.c 2000/11/15 01:30:02 1.23 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: startup.c,v 1.22 2000/11/10 03:26:04 mej Exp $"; +static const char cvs_ident[] = "$Id: startup.c,v 1.23 2000/11/15 01:30:02 mej Exp $"; #include "config.h" #include "feature.h" @@ -282,7 +282,7 @@ putenv("ETERM_VERSION=" VERSION); D_CMD(("init_command()\n")); - init_command(rs_execArgs); + init_command(rs_exec_args); main_loop(); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/term.c,v retrieving revision 1.57 retrieving revision 1.58 diff -u -3 -r1.57 -r1.58 --- term.c 2000/10/30 23:05:25 1.57 +++ term.c 2000/11/15 01:30:02 1.58 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: term.c,v 1.57 2000/10/30 23:05:25 mej Exp $"; +static const char cvs_ident[] = "$Id: term.c,v 1.58 2000/11/15 01:30:02 mej Exp $"; #include "config.h" #include "feature.h" @@ -30,6 +30,9 @@ #include <unistd.h> #include <errno.h> #include <limits.h> +#ifdef HAVE_X11_SUNKEYSYM_H +# include <X11/Sunkeysym.h> +#endif #include "actions.h" #include "buttons.h" @@ -290,6 +293,22 @@ change_font(0, SMALLER_FONT); LK_RET(); } + } +#endif + +#ifdef HAVE_X11_SUNKEYSYM_H + switch (keysym) { + case SunXK_Copy: + case SunXK_Cut: + break; + case SunXK_Paste: + selection_request(ev->xkey.time, ev->xkey.x, ev->xkey.y); + LK_RET(); + break; + case SunXK_Front: + break; + default: + break; } #endif |
From: <enl...@li...> - 2000-11-15 22:21:02
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: screen.c screen.h term.c Log Message: Wed Nov 15 14:20:13 PST 2000 Michael Jennings <me...@et...> As requested by Chris Morton <chr...@er...>, I added support for the SunCut, SunCopy, SunPaste, and SunFront keys. The 1st 3 operate on the xclipboard-managed "ClipBoard" buffer. The SunFront key will activate Eterm's "steal focus" mechanism. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/screen.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -3 -r1.49 -r1.50 --- screen.c 2000/09/18 00:13:07 1.49 +++ screen.c 2000/11/15 22:21:02 1.50 @@ -3,7 +3,7 @@ * */ -static const char cvs_ident[] = "$Id: screen.c,v 1.49 2000/09/18 00:13:07 mej Exp $"; +static const char cvs_ident[] = "$Id: screen.c,v 1.50 2000/11/15 22:21:02 mej Exp $"; #include "config.h" #include "feature.h" @@ -2364,7 +2364,7 @@ * EXT: SelectionNotify */ void -selection_paste(Window win, unsigned prop, int Delete) +selection_paste(Window win, unsigned prop, int delete) { long nread; unsigned long bytes_after, nitems; @@ -2375,7 +2375,7 @@ if (prop == None) return; for (nread = 0, bytes_after = 1; bytes_after > 0;) { - if ((XGetWindowProperty(Xdisplay, win, prop, (nread / 4), PROP_SIZE, Delete, AnyPropertyType, &actual_type, &actual_fmt, &nitems, &bytes_after, &data) != Success)) { + if ((XGetWindowProperty(Xdisplay, win, prop, (nread / 4), PROP_SIZE, delete, AnyPropertyType, &actual_type, &actual_fmt, &nitems, &bytes_after, &data) != Success)) { if (data != NULL) { XFree(data); } @@ -2441,6 +2441,46 @@ } } +void +selection_copy(Atom selection, Atom prop, char *str, size_t len) +{ + XSetSelectionOwner(Xdisplay, selection, TermWin.vt, CurrentTime); + if (XGetSelectionOwner(Xdisplay, XA_PRIMARY) != TermWin.vt) { + print_error("Can't take ownership of primary selection\n"); + } + XChangeProperty(Xdisplay, Xroot, prop, XA_STRING, 8, PropModeReplace, str, len); +} + +void +selection_copy_to_clipboard(void) +{ + if (selection.text) { + selection_copy(X_CLIPBOARD_SELECTION, X_CLIPBOARD_PROP, selection.text, selection.len); + } +} + +void +selection_paste_from_clipboard(void) +{ + Atom select, type; + + select = X_CLIPBOARD_SELECTION; + if (XGetSelectionOwner(Xdisplay, select) == None) { + selection_paste(Xroot, X_CLIPBOARD_PROP, False); + } else { + type = XInternAtom(Xdisplay, "VT_SELECTION", False); +#if defined(MULTI_CHARSET) && defined(HAVE_X11_XMU_ATOMS_H) + if (encoding_method != LATIN1) { + XConvertSelection(Xdisplay, select, XA_COMPOUND_TEXT(Xdisplay), type, TermWin.vt, CurrentTime); + } else { + XConvertSelection(Xdisplay, select, XA_STRING, type, TermWin.vt, CurrentTime); + } +#else + XConvertSelection(Xdisplay, select, XA_STRING, type, TermWin.vt, CurrentTime); +#endif + } +} + /* * Clear the current selection from the screen rendition list */ @@ -2664,12 +2704,10 @@ selection.text = new_selection_text; selection.screen = current_screen; - XSetSelectionOwner(Xdisplay, XA_PRIMARY, TermWin.vt, tm); - if (XGetSelectionOwner(Xdisplay, XA_PRIMARY) != TermWin.vt) - print_error("can't get primary selection\n"); - XChangeProperty(Xdisplay, Xroot, XA_CUT_BUFFER0, XA_STRING, 8, - PropModeReplace, selection.text, selection.len); + selection_copy(XA_PRIMARY, XA_CUT_BUFFER0, selection.text, selection.len); D_SELECT(("selection.len=%d\n", selection.len)); + return; + tm = 0; } /* =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/screen.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- screen.h 2000/07/07 06:41:12 1.15 +++ screen.h 2000/11/15 22:21:02 1.16 @@ -16,6 +16,14 @@ #include <X11/Xfuncproto.h> #include "startup.h" +#ifdef XA_CLIPBOARD +# define X_CLIPBOARD_SELECTION XA_CLIPBOARD(Xdisplay) +# define X_CLIPBOARD_PROP XA_CLIPBOARD(Xdisplay) +#else +# define X_CLIPBOARD_SELECTION XA_PRIMARY +# define X_CLIPBOARD_PROP XA_CUT_BUFFER0 +#endif + /************ Macros and Definitions ************/ #define WRAP_CHAR (MAX_COLS + 1) #define PROP_SIZE 4096 @@ -279,6 +287,9 @@ extern void PasteIt(unsigned char *, unsigned int); extern void selection_paste(Window, unsigned, int); extern void selection_request(Time, int, int); +extern void selection_copy(Atom, Atom, char *, size_t); +extern void selection_copy_to_clipboard(void); +extern void selection_paste_from_clipboard(void); extern void selection_reset(void); extern void selection_clear(void); extern void selection_setclr(int, int, int, int, int); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/term.c,v retrieving revision 1.58 retrieving revision 1.59 diff -u -3 -r1.58 -r1.59 --- term.c 2000/11/15 01:30:02 1.58 +++ term.c 2000/11/15 22:21:02 1.59 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: term.c,v 1.58 2000/11/15 01:30:02 mej Exp $"; +static const char cvs_ident[] = "$Id: term.c,v 1.59 2000/11/15 22:21:02 mej Exp $"; #include "config.h" #include "feature.h" @@ -296,16 +296,20 @@ } #endif -#ifdef HAVE_X11_SUNKEYSYM_H +#if defined(HAVE_X11_SUNKEYSYM_H) && defined(HAVE_X11_XMU_ATOMS_H) switch (keysym) { case SunXK_Copy: case SunXK_Cut: + selection_copy_to_clipboard(); + LK_RET(); break; case SunXK_Paste: - selection_request(ev->xkey.time, ev->xkey.x, ev->xkey.y); + selection_paste_from_clipboard(); LK_RET(); break; case SunXK_Front: + xterm_seq(XTerm_Takeover, ""); + LK_RET(); break; default: break; |
From: <enl...@li...> - 2000-11-15 22:21:32
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog Log Message: Wed Nov 15 14:20:13 PST 2000 Michael Jennings <me...@et...> As requested by Chris Morton <chr...@er...>, I added support for the SunCut, SunCopy, SunPaste, and SunFront keys. The 1st 3 operate on the xclipboard-managed "ClipBoard" buffer. The SunFront key will activate Eterm's "steal focus" mechanism. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.189 retrieving revision 1.190 diff -u -3 -r1.189 -r1.190 --- ChangeLog 2000/11/15 01:30:01 1.189 +++ ChangeLog 2000/11/15 22:21:02 1.190 @@ -3969,3 +3969,11 @@ this will not work with those themes. ------------------------------------------------------------------------------- +Wed Nov 15 14:20:13 PST 2000 Michael Jennings <me...@et...> + + As requested by Chris Morton <chr...@er...>, I added + support for the SunCut, SunCopy, SunPaste, and SunFront keys. The 1st + 3 operate on the xclipboard-managed "ClipBoard" buffer. The SunFront + key will activate Eterm's "steal focus" mechanism. + +------------------------------------------------------------------------------- |
From: <enl...@li...> - 2000-11-16 23:45:04
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: Makefile.am buttons.c buttons.h command.c menus.c options.c options.h pixmap.c pixmap.h screen.c startup.c startup.h system.c utmp.c Log Message: Thu Nov 16 16:40:54 PST 2000 Michael Jennings <me...@et...> VA bought some licenses for Insure++, so I've been using it to audit Eterm. These are just the initial results of the collaboration; there will most likely be more. So far things are looking pretty good. I just wish Insure++ had more helpful messages. I'd really love to be able to track down those reads/writes involving freed pointers that it claims to have found in Imlib2.... I also had to try and make the build work without MMX. I did so; I just hope it still works *with* MMX.... =) =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/Makefile.am,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- Makefile.am 2000/10/30 23:05:25 1.20 +++ Makefile.am 2000/11/16 23:45:01 1.21 @@ -1,8 +1,11 @@ -# $Id: Makefile.am,v 1.20 2000/10/30 23:05:25 mej Exp $ +# $Id: Makefile.am,v 1.21 2000/11/16 23:45:01 mej Exp $ lib_LTLIBRARIES = libEterm.la bin_PROGRAMS = Eterm +MMX_SRCS = mmx_cmod.S +MMX_OBJS = $(MMX_SRCS:.S.o) + libEterm_la_SOURCES = actions.c actions.h buttons.c buttons.h command.c \ command.h draw.c draw.h e.c e.h eterm_debug.h eterm_utmp.h \ events.c events.h feature.h font.c font.h grkelot.c \ @@ -10,14 +13,22 @@ options.c options.h pixmap.c pixmap.h profile.h screen.c \ screen.h scrollbar.c scrollbar.h startup.c startup.h \ system.c system.h term.c term.h timer.c timer.h utmp.c \ - windows.c windows.h mmx_cmod.S -libEterm_la_DEPENDENCIES = feature.h + windows.c windows.h +libEterm_la_DEPENDENCIES = feature.h $(MMX_OBJS) libEterm_la_LDFLAGS = -release $(VERSION) +libEterm_la_LDADD = $(MMX_OBJS) Eterm_SOURCES = main.c Eterm_DEPENDENCIES = libEterm.la Eterm_LDFLAGS = -rpath $(libdir):$(pkglibdir) -Eterm_LDADD = libEterm.la +Eterm_LDADD = libEterm.la + +if HAVE_MMX +$(MMX_OBJS): $(MMX_SRCS) +else +$(MMX_OBJS): + touch $(MMX_OBJS) +endif install-exec-hook: $(mkinstalldirs) $(DESTDIR)$(pkgdatadir) =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/buttons.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- buttons.c 2000/10/30 23:05:25 1.16 +++ buttons.c 2000/11/16 23:45:01 1.17 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: buttons.c,v 1.16 2000/10/30 23:05:25 mej Exp $"; +static const char cvs_ident[] = "$Id: buttons.c,v 1.17 2000/11/16 23:45:01 mej Exp $"; #include "config.h" #include "feature.h" @@ -109,6 +109,33 @@ } void +bbar_free(buttonbar_t *bbar) +{ + button_t *b; + + if (bbar->next) { + bbar_free(bbar->next); + } + button_free(bbar->rbuttons); + button_free(bbar->buttons); +#ifdef MULTI_CHARSET + if (bbar->fontset) { + XFreeFontSet(Xdisplay, bbar->fontset); + } +#endif + if (bbar->font) { + free_font(bbar->font); + } + if (bbar->gc != None) { + LIBAST_X_FREE_GC(bbar->gc); + } + if (bbar->win != None) { + XDestroyWindow(Xdisplay, bbar->win); + } + FREE(bbar); +} + +void bbar_init(buttonbar_t *bbar, int width) { event_register_dispatcher(bbar_dispatch_event, bbar_event_init_dispatcher); @@ -579,10 +606,28 @@ button->text = STRDUP(text); button->len = strlen(text); } else { - button->text = ""; + button->text = STRDUP(""); button->len = 0; } return button; +} + +void +button_free(button_t *button) +{ + if (button->next) { + button_free(button->next); + } + if (button->text) { + FREE(button->text); + } + if (button->type == ACTION_STRING || button->type == ACTION_ECHO) { + FREE(button->action.string); + } + if (button->icon) { + free_simage(button->icon); + } + FREE(button); } unsigned char =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/buttons.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- buttons.h 2000/09/02 04:12:16 1.4 +++ buttons.h 2000/11/16 23:45:01 1.5 @@ -96,6 +96,7 @@ _XFUNCPROTOBEGIN extern buttonbar_t *bbar_create(void); +extern void bbar_free(buttonbar_t *); extern void bbar_init(buttonbar_t *, int); extern void bbar_event_init_dispatcher(void); extern unsigned char bbar_handle_enter_notify(event_t *); @@ -116,6 +117,7 @@ extern button_t *find_button_by_text(buttonbar_t *bbar, char *text); extern button_t *find_button_by_coords(buttonbar_t *bbar, int x, int y); extern button_t *button_create(char *text); +extern void button_free(button_t *); extern unsigned char button_set_icon(button_t *button, simage_t *icon); extern unsigned char button_set_action(button_t *button, action_type_t type, char *action); extern void bbar_select_button(buttonbar_t *bbar, button_t *button); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/command.c,v retrieving revision 1.51 retrieving revision 1.52 diff -u -3 -r1.51 -r1.52 --- command.c 2000/09/18 00:13:07 1.51 +++ command.c 2000/11/16 23:45:01 1.52 @@ -34,7 +34,7 @@ * he guarantee anything whatsoever. *----------------------------------------------------------------------*/ -static const char cvs_ident[] = "$Id: command.c,v 1.51 2000/09/18 00:13:07 mej Exp $"; +static const char cvs_ident[] = "$Id: command.c,v 1.52 2000/11/16 23:45:01 mej Exp $"; /* includes: */ #include "config.h" @@ -158,6 +158,7 @@ static Atom DndProtocol, DndSelection; #endif /* OFFIX_DND */ #ifdef USE_XIM +XIM xim_input_method = NULL; XIC xim_input_context = NULL; /* input context */ static XIMStyle xim_input_style = 0; # ifndef XSetIMValues @@ -1121,13 +1122,30 @@ { #if DEBUG >= DEBUG_MEM if (DEBUG_LEVEL >= DEBUG_MEM) { + unsigned short i; + /* Deallocate all our crap to help find memory leaks */ + selection_clear(); scr_release(); + bbar_free(buttonbar); menulist_clear(menu_list); font_cache_clear(); eterm_font_list_clear(); + FOREACH_IMAGE(free_eterm_image(&(images[idx]));); + for (i = 0; i < NRS_COLORS; i++) { + if (rs_color[i]) { + FREE(rs_color[i]); + } + } + conf_free_subsystem(); } #endif +#ifdef USE_XIM + if (xim_input_method) { + XCloseIM(xim_input_method); + } +#endif + XCloseDisplay(Xdisplay); privileges(INVOKE); @@ -1744,11 +1762,6 @@ if (locale == NULL) { print_error("Setting locale failed.\n"); } else { -#ifdef MULTI_CHARSET - TermWin.fontset = create_fontset(etfonts[def_font_idx], etmfonts[def_font_idx]); -#else - TermWin.fontset = create_fontset(etfonts[def_font_idx], "-misc-fixed-medium-r-semicondensed--13-*-75-*-c-*-iso10646-1"); -#endif #ifdef USE_XIM # ifdef MULTI_CHARSET if (strcmp(locale, "C")) @@ -1763,6 +1776,13 @@ # endif } #endif +#ifdef MULTI_CHARSET + TermWin.fontset = create_fontset(etfonts[def_font_idx], etmfonts[def_font_idx]); +#else + TermWin.fontset = create_fontset(etfonts[def_font_idx], "-misc-fixed-medium-r-semicondensed--13-*-75-*-c-*-iso10646-1"); +#endif + /* Reset locale to NULL since the call to create_fontset() has freed that memory. */ + locale = NULL; } } #endif /* USE_XIM || MULTI_CHARSET */ @@ -1829,6 +1849,7 @@ xim_destroy_cb(XIM xim, XPointer client_data, XPointer call_data) { xim_input_context = NULL; + xim_input_method = NULL; XRegisterIMInstantiateCallback(Xdisplay, NULL, NULL, NULL, xim_instantiate_cb, NULL); xim = NULL; client_data = call_data = (XPointer) 0; @@ -1851,7 +1872,6 @@ { char *p, *s, buf[64], tmp[1024]; char *end, *next_s; - XIM xim = NULL; XIMStyles *xim_styles = NULL; int found; XPoint spot; @@ -1876,7 +1896,7 @@ *(end + 1) = '\0'; if (*s) { snprintf(buf, sizeof(buf), "@im=%s", s); - if (((p = XSetLocaleModifiers(buf)) != NULL) && (*p) && ((xim = XOpenIM(Xdisplay, NULL, NULL, NULL)) != NULL)) { + if (((p = XSetLocaleModifiers(buf)) != NULL) && (*p) && ((xim_input_method = XOpenIM(Xdisplay, NULL, NULL, NULL)) != NULL)) { break; } } @@ -1887,20 +1907,20 @@ } /* try with XMODIFIERS env. var. */ - if (xim == NULL && getenv("XMODIFIERS") && (p = XSetLocaleModifiers("")) != NULL && *p) { - xim = XOpenIM(Xdisplay, NULL, NULL, NULL); + if (xim_input_method == NULL && getenv("XMODIFIERS") && (p = XSetLocaleModifiers("")) != NULL && *p) { + xim_input_method = XOpenIM(Xdisplay, NULL, NULL, NULL); } /* try with no modifiers base */ - if (xim == NULL && (p = XSetLocaleModifiers("@im=none")) != NULL && *p) { - xim = XOpenIM(Xdisplay, NULL, NULL, NULL); + if (xim_input_method == NULL && (p = XSetLocaleModifiers("@im=none")) != NULL && *p) { + xim_input_method = XOpenIM(Xdisplay, NULL, NULL, NULL); } - if (xim == NULL) { - xim = XOpenIM(Xdisplay, NULL, NULL, NULL); + if (xim_input_method == NULL) { + xim_input_method = XOpenIM(Xdisplay, NULL, NULL, NULL); } - if (xim == NULL) { + if (xim_input_method == NULL) { return -1; } @@ -1910,15 +1930,15 @@ destroy_cb.callback = xim_destroy_cb; destroy_cb.client_data = NULL; - if (XSetIMValues(xim, XNDestroyCallback, &destroy_cb, NULL)) { + if (XSetIMValues(xim_input_method, XNDestroyCallback, &destroy_cb, NULL)) { print_error("Could not set destroy callback to IM\n"); } } #endif - if ((XGetIMValues(xim, XNQueryInputStyle, &xim_styles, NULL)) || (!xim_styles)) { + if ((XGetIMValues(xim_input_method, XNQueryInputStyle, &xim_styles, NULL)) || (!xim_styles)) { print_error("input method doesn't support any style\n"); - XCloseIM(xim); + XCloseIM(xim_input_method); return -1; } strncpy(tmp, (rs_preedit_type ? rs_preedit_type : "OverTheSpot,OffTheSpot,Root"), sizeof(tmp) - 1); @@ -1952,14 +1972,14 @@ if (found == 0) { print_error("input method doesn't support my preedit type\n"); - XCloseIM(xim); + XCloseIM(xim_input_method); return -1; } if ((xim_input_style != (XIMPreeditNothing | XIMStatusNothing)) && (xim_input_style != (XIMPreeditArea | XIMStatusArea)) && (xim_input_style != (XIMPreeditPosition | XIMStatusNothing))) { print_error("This program does not support the preedit type\n"); - XCloseIM(xim); + XCloseIM(xim_input_method); return -1; } if (xim_input_style & XIMPreeditPosition) { @@ -1975,7 +1995,7 @@ preedit_attr = XVaCreateNestedList(0, XNArea, &rect, XNForeground, fg, XNBackground, bg, XNFontSet, TermWin.fontset, NULL); status_attr = XVaCreateNestedList(0, XNArea, &status_rect, XNForeground, fg, XNBackground, bg, XNFontSet, TermWin.fontset, NULL); } - xim_input_context = XCreateIC(xim, XNInputStyle, xim_input_style, XNClientWindow, TermWin.parent, XNFocusWindow, TermWin.parent, + xim_input_context = XCreateIC(xim_input_method, XNInputStyle, xim_input_style, XNClientWindow, TermWin.parent, XNFocusWindow, TermWin.parent, preedit_attr ? XNPreeditAttributes : NULL, preedit_attr, status_attr ? XNStatusAttributes : NULL, status_attr, NULL); if (preedit_attr) { XFree(preedit_attr); @@ -1985,7 +2005,7 @@ } if (xim_input_context == NULL) { print_error("Failed to create input context\n"); - XCloseIM(xim); + XCloseIM(xim_input_method); return -1; } if (xim_input_style & XIMPreeditArea) @@ -2055,7 +2075,7 @@ * the slave. */ int -run_command(char *argv[]) +run_command(char **argv) { ttymode_t tio; @@ -2226,7 +2246,7 @@ /* init_command() */ void -init_command(char *argv[]) +init_command(char **argv) { /* Initialize the command connection. This should be called after =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/menus.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- menus.c 2000/10/30 23:05:25 1.40 +++ menus.c 2000/11/16 23:45:01 1.41 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: menus.c,v 1.40 2000/10/30 23:05:25 mej Exp $"; +static const char cvs_ident[] = "$Id: menus.c,v 1.41 2000/11/16 23:45:01 mej Exp $"; #include "config.h" #include "feature.h" @@ -476,6 +476,7 @@ ASSERT(menu != NULL); + D_MENU(("Deleting menu \"%s\"\n", menu->title)); for (i = 0; i < menu->numitems; i++) { menuitem_delete(menu->items[i]); } @@ -497,11 +498,11 @@ if (menu->font) { free_font(menu->font); } - if (menu->win) { - XDestroyWindow(Xdisplay, menu->win); - } if (menu->swin) { XDestroyWindow(Xdisplay, menu->swin); + } + if (menu->win) { + XDestroyWindow(Xdisplay, menu->win); } FREE(menu); } =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -3 -r1.75 -r1.76 --- options.c 2000/11/15 01:30:02 1.75 +++ options.c 2000/11/16 23:45:01 1.76 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: options.c,v 1.75 2000/11/15 01:30:02 mej Exp $"; +static const char cvs_ident[] = "$Id: options.c,v 1.76 2000/11/16 23:45:01 mej Exp $"; #include "config.h" #include "feature.h" @@ -1164,7 +1164,7 @@ ctx_idx = 0; context = (ctx_t *) MALLOC(sizeof(ctx_t) * ctx_cnt); MEMSET(context, 0, sizeof(ctx_t) * ctx_cnt); - context[0].name = "null"; + context[0].name = STRDUP("null"); context[0].handler = parse_null; /* Initialize the context state stack and set the current context to "null" */ @@ -1265,6 +1265,29 @@ ctx_state[ctx_state_idx].ctx_id = ctx_id; ctx_state[ctx_state_idx].state = NULL; return (ctx_state_idx); +} + +void +conf_free_subsystem(void) +{ + conf_var_t *v, *tmp; + unsigned long i; + + for (v = conf_vars; v;) { + tmp = v; + v = v->next; + conf_free_var(tmp); + } + for (i = 0; i < builtin_idx; i++) { + FREE(builtins[i].name); + } + for (i = 0; i <= ctx_idx; i++) { + FREE(context[i].name); + } + FREE(ctx_state); + FREE(builtins); + FREE(fstate); + FREE(context); } static conf_var_t * =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/options.h,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- options.h 2000/11/15 01:30:02 1.25 +++ options.h 2000/11/16 23:45:01 1.26 @@ -259,6 +259,7 @@ extern unsigned char conf_register_fstate(FILE *fp, char *path, char *outfile, unsigned long line, unsigned char flags); extern unsigned char conf_register_builtin(char *name, eterm_func_ptr_t ptr); extern unsigned char conf_register_context_state(unsigned char ctx_id); +extern void conf_free_subsystem(void); extern char *chomp(char *); extern char *shell_expand(char *); extern char *conf_find_file(const char *file, const char *dir, const char *pathlist); =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/pixmap.c,v retrieving revision 1.59 retrieving revision 1.60 diff -u -3 -r1.59 -r1.60 --- pixmap.c 2000/11/10 04:16:41 1.59 +++ pixmap.c 2000/11/16 23:45:01 1.60 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: pixmap.c,v 1.59 2000/11/10 04:16:41 mej Exp $"; +static const char cvs_ident[] = "$Id: pixmap.c,v 1.60 2000/11/16 23:45:01 mej Exp $"; #include "config.h" #include "feature.h" @@ -327,7 +327,12 @@ if (img->disabled) { free_simage(img->disabled); } +#if 0 + /* FIXME: There should really be an option to specify whether or not + to free the image itself, but since we never MALLOC() an entire + image_t, it's not really needed at this point. And I'm lazy. :-) */ FREE(img); +#endif } simage_t * @@ -366,19 +371,40 @@ FREE(simg->iml->border); simg->iml->border = NULL; } + if ((mask & RESET_IMLIB_BEVEL) && simg->iml->bevel) { + FREE(simg->iml->bevel->edges); + FREE(simg->iml->bevel); + simg->iml->bevel = NULL; + } + if ((mask & RESET_IMLIB_PAD) && simg->iml->pad) { + FREE(simg->iml->pad); + simg->iml->pad = NULL; + } if ((mask & RESET_IMLIB_MOD) && simg->iml->mod) { FREE(simg->iml->mod); simg->iml->mod = NULL; } if ((mask & RESET_IMLIB_RMOD) && simg->iml->rmod) { + if (simg->iml->rmod->imlib_mod) { + imlib_context_set_color_modifier(simg->iml->rmod->imlib_mod); + imlib_free_color_modifier(); + } FREE(simg->iml->rmod); simg->iml->rmod = NULL; } if ((mask & RESET_IMLIB_GMOD) && simg->iml->gmod) { + if (simg->iml->gmod->imlib_mod) { + imlib_context_set_color_modifier(simg->iml->gmod->imlib_mod); + imlib_free_color_modifier(); + } FREE(simg->iml->gmod); simg->iml->gmod = NULL; } if ((mask & RESET_IMLIB_BMOD) && simg->iml->bmod) { + if (simg->iml->bmod->imlib_mod) { + imlib_context_set_color_modifier(simg->iml->bmod->imlib_mod); + imlib_free_color_modifier(); + } FREE(simg->iml->bmod); simg->iml->bmod = NULL; } @@ -395,6 +421,8 @@ free_simage(simage_t *s) { reset_simage(s, RESET_ALL_SIMG); + FREE(s->iml); + FREE(s->pmap); FREE(s); } =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/pixmap.h,v retrieving revision 1.34 retrieving revision 1.35 diff -u -3 -r1.34 -r1.35 --- pixmap.h 2000/10/30 23:05:25 1.34 +++ pixmap.h 2000/11/16 23:45:01 1.35 @@ -143,18 +143,20 @@ #define RESET_ALL_TINT (RESET_IMLIB_RMOD | RESET_IMLIB_GMOD | RESET_IMLIB_BMOD) #define RESET_ALL_MOD (RESET_IMLIB_MOD | RESET_IMLIB_RMOD | RESET_IMLIB_GMOD | RESET_IMLIB_BMOD) #define RESET_IMLIB_BORDER (1UL << 4) -#define RESET_IMLIB_IM (1UL << 5) -#define RESET_ALL_IMLIB (RESET_ALL_MOD | RESET_IMLIB_BORDER | RESET_IMLIB_IM) -#define RESET_PMAP_GEOM (1UL << 6) -#define RESET_PMAP_PIXMAP (1UL << 7) -#define RESET_PMAP_MASK (1UL << 8) +#define RESET_IMLIB_BEVEL (1UL << 5) +#define RESET_IMLIB_PAD (1UL << 6) +#define RESET_IMLIB_IM (1UL << 7) +#define RESET_ALL_IMLIB (RESET_ALL_MOD | RESET_IMLIB_BORDER | RESET_IMLIB_BEVEL | RESET_IMLIB_PAD | RESET_IMLIB_IM) +#define RESET_PMAP_GEOM (1UL << 8) +#define RESET_PMAP_PIXMAP (1UL << 9) +#define RESET_PMAP_MASK (1UL << 10) #define RESET_ALL_PMAP (RESET_PMAP_GEOM | RESET_PMAP_PIXMAP | RESET_PMAP_MASK) #define RESET_ALL_SIMG (RESET_ALL_IMLIB | RESET_ALL_PMAP) -#define RESET_NORM (1UL << 9) -#define RESET_SELECTED (1UL << 10) -#define RESET_CLICKED (1UL << 11) -#define RESET_DISABLED (1UL << 12) -#define RESET_MODE (1UL << 13) +#define RESET_NORM (1UL << 11) +#define RESET_SELECTED (1UL << 12) +#define RESET_CLICKED (1UL << 13) +#define RESET_DISABLED (1UL << 14) +#define RESET_MODE (1UL << 15) #define RESET_ALL (RESET_NORM | RESET_SELECTED | RESET_CLICKED | RESET_DISABLED | RESET_MODE) /************ Structures ************/ =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/screen.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -3 -r1.50 -r1.51 --- screen.c 2000/11/15 22:21:02 1.50 +++ screen.c 2000/11/16 23:45:01 1.51 @@ -3,7 +3,7 @@ * */ -static const char cvs_ident[] = "$Id: screen.c,v 1.50 2000/11/15 22:21:02 mej Exp $"; +static const char cvs_ident[] = "$Id: screen.c,v 1.51 2000/11/16 23:45:01 mej Exp $"; #include "config.h" #include "feature.h" @@ -302,7 +302,7 @@ if (tabs) FREE(tabs); } - tabs = MALLOC(TermWin.ncol * sizeof(char)); + tabs = MALLOC(TermWin.ncol); for (i = 0; i < TermWin.ncol; i++) tabs[i] = (i % TABSIZE == 0) ? 1 : 0; @@ -2163,7 +2163,7 @@ for (row = 0; row < rows; row++) { if (screen.text[row]) { c = screen.text[row]; - for (s = strstr(c, str); s; s = strstr(++s, str)) { + for (s = strstr(c, str); s; s = strstr(s + 1, str)) { unsigned long j; col = (int) s - (int) c; @@ -3089,13 +3089,13 @@ } } #ifdef MULTI_CHARSET - if (selection.beg.col > 0) { + if ((selection.beg.col > 0) && (selection.beg.col < TermWin.ncol)) { r = selection.beg.row + TermWin.saveLines; if (((screen.rend[r][selection.beg.col] & RS_multiMask) == RS_multi2) && ((screen.rend[r][selection.beg.col - 1] & RS_multiMask) == RS_multi1)) selection.beg.col--; } - if (selection.end.col < TermWin.ncol - 1) { + if ((selection.end.col > 0) && (selection.end.col < (TermWin.ncol - 1))) { r = selection.end.row + TermWin.saveLines; if (((screen.rend[r][selection.end.col] & RS_multiMask) == RS_multi1) && ((screen.rend[r][selection.end.col + 1] & RS_multiMask) == RS_multi2)) =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/startup.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- startup.c 2000/11/15 01:30:02 1.23 +++ startup.c 2000/11/16 23:45:01 1.24 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: startup.c,v 1.23 2000/11/15 01:30:02 mej Exp $"; +static const char cvs_ident[] = "$Id: startup.c,v 1.24 2000/11/16 23:45:01 mej Exp $"; #include "config.h" #include "feature.h" @@ -64,7 +64,7 @@ TermWin_t TermWin; Display *Xdisplay; /* display */ Colormap cmap; -const char *display_name = NULL; +char *display_name = NULL; unsigned int colorfgbg; int @@ -92,8 +92,11 @@ libast_set_program_version(VERSION); /* Open display, get options/resources and create the window */ - if ((display_name = getenv("DISPLAY")) == NULL) - display_name = ":0"; + if (getenv("DISPLAY") == NULL) { + display_name = STRDUP(":0"); + } else { + display_name = STRDUP(getenv("DISPLAY")); + } /* This MUST be called before any other Xlib functions */ =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/startup.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- startup.h 2000/03/15 03:17:45 1.9 +++ startup.h 2000/11/16 23:45:01 1.10 @@ -134,7 +134,7 @@ #ifdef PIXMAP_SUPPORT extern short bg_needs_update; #endif -extern const char *display_name; +extern char *display_name; /************ Function Prototypes ************/ _XFUNCPROTOBEGIN =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/system.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- system.c 2000/08/31 05:41:44 1.11 +++ system.c 2000/11/16 23:45:01 1.12 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: system.c,v 1.11 2000/08/31 05:41:44 mej Exp $"; +static const char cvs_ident[] = "$Id: system.c,v 1.12 2000/11/16 23:45:01 mej Exp $"; #include "../config.h" #include "feature.h" @@ -98,6 +98,7 @@ D_OPTIONS(("%d: fork() returned %d\n", getpid(), pid)); return (wait_for_chld(pid)); } + ASSERT_NOTREACHED_RVAL(0); } int =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/utmp.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- utmp.c 2000/09/01 22:14:17 1.8 +++ utmp.c 2000/11/16 23:45:01 1.9 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: utmp.c,v 1.8 2000/09/01 22:14:17 mej Exp $"; +static const char cvs_ident[] = "$Id: utmp.c,v 1.9 2000/11/16 23:45:01 mej Exp $"; #include "config.h" #include "feature.h" @@ -142,16 +142,13 @@ add_utmp_entry(const char *pty, const char *hostname, int fd) { struct passwd *pwent = getpwuid(my_ruid); - # ifdef HAVE_UTMPX_H struct utmpx utmp; struct utmp utmp2; MEMSET(&utmp, 0, sizeof(struct utmpx)); - # else struct utmp utmp; MEMSET(&utmp, 0, sizeof(struct utmp)); - # endif # ifdef WITH_DMALLOC |
From: <enl...@li...> - 2000-11-16 23:45:31
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog configure.in Log Message: Thu Nov 16 16:40:54 PST 2000 Michael Jennings <me...@et...> VA bought some licenses for Insure++, so I've been using it to audit Eterm. These are just the initial results of the collaboration; there will most likely be more. So far things are looking pretty good. I just wish Insure++ had more helpful messages. I'd really love to be able to track down those reads/writes involving freed pointers that it claims to have found in Imlib2.... I also had to try and make the build work without MMX. I did so; I just hope it still works *with* MMX.... =) =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.190 retrieving revision 1.191 diff -u -3 -r1.190 -r1.191 --- ChangeLog 2000/11/15 22:21:02 1.190 +++ ChangeLog 2000/11/16 23:45:01 1.191 @@ -3977,3 +3977,16 @@ key will activate Eterm's "steal focus" mechanism. ------------------------------------------------------------------------------- +Thu Nov 16 16:40:54 PST 2000 Michael Jennings <me...@et...> + + VA bought some licenses for Insure++, so I've been using it to audit + Eterm. These are just the initial results of the collaboration; there + will most likely be more. So far things are looking pretty good. I + just wish Insure++ had more helpful messages. I'd really love to be + able to track down those reads/writes involving freed pointers that + it claims to have found in Imlib2.... + + I also had to try and make the build work without MMX. I did so; I + just hope it still works *with* MMX.... =) + +------------------------------------------------------------------------------- =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/configure.in,v retrieving revision 1.45 retrieving revision 1.46 diff -u -3 -r1.45 -r1.46 --- configure.in 2000/11/15 01:30:01 1.45 +++ configure.in 2000/11/16 23:45:01 1.46 @@ -1,4 +1,4 @@ -dnl# $Id: configure.in,v 1.45 2000/11/15 01:30:01 mej Exp $ +dnl# $Id: configure.in,v 1.46 2000/11/16 23:45:01 mej Exp $ AC_INIT(src/feature.h) AM_INIT_AUTOMAKE(Eterm, 0.9.1) @@ -363,18 +363,19 @@ AC_MSG_CHECKING(for MMX support) HAVE_MMX="" AC_ARG_ENABLE(mmx, [ --enable-mmx enable MMX assembly routines], - test x$enableval = xyes && HAVE_MMX="yes" + test "x$enableval" = "xyes" && HAVE_MMX="yes" , if test x$build_os = xlinux-gnu; then grep mmx /proc/cpuinfo >/dev/null 2>&1 && HAVE_MMX="yes" fi ) -if test -n "$HAVE_MMX"; then +if test "x$HAVE_MMX" = "xyes"; then AC_MSG_RESULT(yes) AC_DEFINE(HAVE_MMX) else AC_MSG_RESULT(no) fi +AM_CONDITIONAL(HAVE_MMX, test "x$HAVE_MMX" = "xyes") dnl# dnl# LibAST |
From: <enl...@li...> - 2000-11-17 00:21:27
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog Log Message: Thu Nov 16 16:20:19 PST 2000 Michael Jennings <me...@et...> Well, it would've worked just fine if not for a stupid typo. =P =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.191 retrieving revision 1.192 diff -u -3 -r1.191 -r1.192 --- ChangeLog 2000/11/16 23:45:01 1.191 +++ ChangeLog 2000/11/17 00:21:26 1.192 @@ -3990,3 +3990,8 @@ just hope it still works *with* MMX.... =) ------------------------------------------------------------------------------- +Thu Nov 16 16:20:19 PST 2000 Michael Jennings <me...@et...> + + Well, it would've worked just fine if not for a stupid typo. =P + +------------------------------------------------------------------------------- |
From: <enl...@li...> - 2000-11-17 00:21:27
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: Makefile.am buttons.c Log Message: Thu Nov 16 16:20:19 PST 2000 Michael Jennings <me...@et...> Well, it would've worked just fine if not for a stupid typo. =P =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/Makefile.am,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- Makefile.am 2000/11/16 23:45:01 1.21 +++ Makefile.am 2000/11/17 00:21:26 1.22 @@ -1,10 +1,10 @@ -# $Id: Makefile.am,v 1.21 2000/11/16 23:45:01 mej Exp $ +# $Id: Makefile.am,v 1.22 2000/11/17 00:21:26 mej Exp $ lib_LTLIBRARIES = libEterm.la bin_PROGRAMS = Eterm MMX_SRCS = mmx_cmod.S -MMX_OBJS = $(MMX_SRCS:.S.o) +MMX_OBJS = $(MMX_SRCS:.S=.lo) libEterm_la_SOURCES = actions.c actions.h buttons.c buttons.h command.c \ command.h draw.c draw.h e.c e.h eterm_debug.h eterm_utmp.h \ @@ -16,7 +16,7 @@ windows.c windows.h libEterm_la_DEPENDENCIES = feature.h $(MMX_OBJS) libEterm_la_LDFLAGS = -release $(VERSION) -libEterm_la_LDADD = $(MMX_OBJS) +libEterm_la_LIBADD = $(MMX_OBJS) Eterm_SOURCES = main.c Eterm_DEPENDENCIES = libEterm.la =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/src/buttons.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- buttons.c 2000/11/16 23:45:01 1.17 +++ buttons.c 2000/11/17 00:21:26 1.18 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: buttons.c,v 1.17 2000/11/16 23:45:01 mej Exp $"; +static const char cvs_ident[] = "$Id: buttons.c,v 1.18 2000/11/17 00:21:26 mej Exp $"; #include "config.h" #include "feature.h" @@ -111,8 +111,6 @@ void bbar_free(buttonbar_t *bbar) { - button_t *b; - if (bbar->next) { bbar_free(bbar->next); } |
From: <enl...@li...> - 2000-11-17 00:27:53
|
Enlightenment CVS committal Author : mej Project : eterm Module : Eterm Modified Files: ChangeLog Log Message: Thu Nov 16 16:27:09 PST 2000 Michael Jennings <me...@et...> This time it really works. No, I mean it this time. Seriously. =================================================================== RCS file: /cvsroot/enlightenment/eterm/Eterm/ChangeLog,v retrieving revision 1.192 retrieving revision 1.193 diff -u -3 -r1.192 -r1.193 --- ChangeLog 2000/11/17 00:21:26 1.192 +++ ChangeLog 2000/11/17 00:27:53 1.193 @@ -3995,3 +3995,8 @@ Well, it would've worked just fine if not for a stupid typo. =P ------------------------------------------------------------------------------- +Thu Nov 16 16:27:09 PST 2000 Michael Jennings <me...@et...> + + This time it really works. No, I mean it this time. Seriously. + +------------------------------------------------------------------------------- |