373 lines
9.2 KiB
Raw Normal View History

/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
#undef _ALL_SOURCE
/* Define if using alloca.c. */
#undef C_ALLOCA
/* Define if type char is unsigned and you are not using gcc. */
#ifndef __CHAR_UNSIGNED__
#undef __CHAR_UNSIGNED__
/* Define if the closedir function returns void instead of int. */
/* Define to empty if the keyword does not work. */
#undef const
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
This function is required for alloca.c support on those systems. */
/* Define for DGUX with <sys/dg_sys_info.h>. */
#undef DGUX
/* Define if you have <dirent.h>. */
#undef DIRENT
/* Define to the type of elements in the array set by `getgroups'.
Usually this is either `int' or `gid_t'. */
/* Define if the `getloadavg' function needs to be run setuid or setgid. */
/* Define if the `getpgrp' function takes no argument. */
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define if you have alloca, as a function or macro. */
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
/* Define if you don't have vprintf but do have _doprnt. */
/* Define if your system has a working fnmatch function. */
/* Define if your system has its own `getloadavg' function. */
/* Define if you have the getmntent function. */
/* Define if the `long double' type works. */
/* Define if you support file names longer than 14 characters. */
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define if system calls automatically restart after interruption
by a signal. */
/* Define if your struct stat has st_blksize. */
/* Define if your struct stat has st_blocks. */
/* Define if you have the strcoll function and it is properly defined. */
/* Define if your struct stat has st_rdev. */
/* Define if you have the strftime function. */
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
/* Define if your struct tm has tm_zone. */
/* Define if you don't have tm_zone but do have the external array
tzname. */
/* Define if you have <unistd.h>. */
/* Define if utime(file, NULL) sets file's timestamp to the present. */
/* Define if you have <vfork.h>. */
/* Define if you have the vprintf function. */
/* Define if you have the wait3 system call. */
#undef HAVE_WAIT3
/* Define as __inline if that's what the C compiler calls it. */
#undef inline
/* Define if int is 16 bits instead of 32. */
#undef INT_16_BITS
/* Define if long int is 64 bits. */
#undef LONG_64_BITS
/* Define if major, minor, and makedev are declared in <mkdev.h>. */
/* Define if major, minor, and makedev are declared in <sysmacros.h>. */
/* Define if on MINIX. */
#undef _MINIX
/* Define to `int' if <sys/types.h> doesn't define. */
#undef mode_t
/* Define if you don't have <dirent.h>, but have <ndir.h>. */
#undef NDIR
/* Define if you have <memory.h>, and <string.h> doesn't declare the
mem* functions. */
/* Define if your struct nlist has an n_un member. */
/* Define if you have <nlist.h>. */
/* Define if your C compiler doesn't accept -c and -o together. */
/* Define to `long' if <sys/types.h> doesn't define. */
#undef off_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
/* Define if the system does not provide POSIX.1 features except
with this defined. */
#undef _POSIX_1_SOURCE
/* Define if you need to in order for stat and other things to work. */
/* Define as the return type of signal handlers (int or void). */
/* Define if the `setpgrp' function takes no argument. */
/* Define if the setvbuf function takes the buffering type as its second
argument and the buffer pointer as the third, as on System V
before release 3. */
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */
/* Define if you have the ANSI C header files. */
/* Define on System V Release 4. */
#undef SVR4
/* Define if you don't have <dirent.h>, but have <sys/dir.h>. */
#undef SYSDIR
/* Define if you don't have <dirent.h>, but have <sys/ndir.h>. */
#undef SYSNDIR
/* Define if `sys_siglist' is declared by <signal.h>. */
/* Define if you can safely include both <sys/time.h> and <time.h>. */
/* Define if your <sys/time.h> declares struct tm. */
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define for Encore UMAX. */
#undef UMAX
/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
instead of <sys/cpustats.h>. */
#undef UMAX4_3
/* Define if you do not have <strings.h>, index, bzero, etc.. */
#undef USG
/* Define vfork as fork if vfork does not work. */
#undef vfork
/* Define if the closedir function returns void instead of int. */
/* Define if your processor stores words with the most significant
byte first (like Motorola and SPARC, unlike Intel and VAX). */
/* Define if the X Window System is missing or not being used. */
/* Define if lex declares yytext as a char * by default, not a char[]. */
/* Package name */
#undef PACKAGE
/* Version number */
#undef VERSION
/* Do we want malloc debugging? */
/* Linux xdm hack for higher kernel revs */
/* Do we need our own nanosleep()? */
/* Is our snprintf() implementation buggy? */
/* Debugging level */
#undef DEBUG
/* Stack tracing tools */
#undef DBX
#undef GDB
#undef PSTACK
/* *BSD utmp stuff */
/* Do we have the X shape extension? */
/* Support for various features */
#undef KS_DELETE
#undef X_LOCALE
#undef USE_XIM
#undef USE_X11R6_XIM
#undef AUTHORS
#undef MFONT0
#undef MFONT1
#undef MFONT2
#undef MFONT3
#undef MFONT4
#undef FONT0
#undef FONT1
#undef FONT2
#undef FONT3
#undef FONT4
#undef IOTRACE
Thu Feb 10 15:10:01 PST 2000 Michael Jennings <> This is the first public availability of the work thus far on Eterm 0.9.1. There's quite a bit of new stuff here. * Added scrollbar thumb support. * Completely redid the terminfo/termcap stuff. The terminfo file is now compiled (by tic) and installed by default (unless you specify --without-terminfo). The config files still say xterm, though, because some programs (like SLang and GNU mc) use the silly algorithm of "Is $TERM set to xterm?" to detect mouse reporting support in a terminal. =P But if you don't ever use xterm, you can use Eterm's termcap and just name it "xterm" instead. Thanks to Marius Gedminas <> for his patch that started this whole revamp. * Added the kEsetroot script for KDE users from Dax Games <>. * You can now configure the Home and End emulation via --with-home= and --with-end= options to configure. The --with-terminfo option is also new, and --enable-xim is now the default. * Added a new image state, disabled, for when Eterm loses focus. This is supported by all widgets (well, all those that could possibly be on screen when Eterm lost focus), even the background image. So you could actually have all your images darken on focus out and restore to normal on focus in. * Widget colors formerly dealt with as colors (menu text color, scrollbar color, etc.) are now handled by the imageclasses. Each image state can have a foreground and background color defined. The current exception is the background image; I hope to add that later. The foreground is the text color and the background is the object color (for solid color mode). So menu text color is set by the menu imageclass. And again, for unfocused colors, use the disabled state of the imageclass. * Proportionally-spaced fonts are now handled much better. They are still forced into evenly-spaced columns (it's a terminal for crying out loud!) but at least you don't end up with Eterm's wider than your screen. :-) * Home on refresh is gone, as is home on echo. It's now much simpler. There are two options: home on output, and home on input, the former being a combination of echo and refresh. Also, keypresses that don't necessarily have corresonding output can trigger a home on input, like Ctrl-End or whatever...ones that don't have special meaning. Credit to Darren Stuart Embry <> for pointing out this issue and the one with "m-" in font names. * I finally got around to re-merging the new parser stuff from my work on the Not Game. Closed up some old potential behavior quirks with theme parsing. * Added a new escape sequence to fork-and-exec a program. Also added a scrollback search capability to highlight all occurances of a string in your scrollback buffer. Use the new "Etsearch" utility to access it. "Etsearch string" to search for a string, then "Etsearch" by itself to reset the highlighting. * And of course, the biggie. Eterm now supports a completely- customizeable buttonbar. Not a menubar, a buttonbar. It can have an arbitrary number of buttons, and each button can perform an action, just like a menuitem. So a button could bring up a menu (like a menubar) or launch a program (like a launchbar) or perform an operation (like a toolbar). Each button can have an icon, text, or both. And you can have buttons left- or right-justified in the buttonbar. You will eventually be able to have an arbitrary number of buttonbars, but I'm still working on that. As with any change this big, things could very easily be broken. So beware. :-) I have tested this myself, and everything seems to work, but I can't test every possibility. Let me know if you find anything that's broken, and enjoy! SVN revision: 2048
2000-02-10 16:25:07 -08:00
#undef KS_HOME
#undef KS_END
Fri Feb 18 21:09:29 PST 2000 Michael Jennings <> Okay, I've added a new option to configure. --config-buffer-size=NNNN will set the theme parser's line buffer size. What does this mean? Well, this determines how big a line being parsed can get at any one stage of parsing. So if you use %dirscan() on a large directory, or you use %random() on a large list, or you simply have some very large lines in your config file, making this buffer size larger will enable them to be handled. The down side to this is that your Eterms will appear to take up more memory. In reality they don't, since all that memory gets freed, but it isn't returned to the OS until Eterm exits, and the RSS won't go down unless part or all of Eterm is swapped out by the OS. So you've been warned. :-) For those who didn't go digging by themselves, what I added yesterday were three new builtin functions: %get(variable) Retrieves the value of a theme variable %put(variable value) Sets the value of a theme variable %put(variable) Removes a theme variable %dirscan(directory) Returns a list of the files in a directory Everything here should be fairly self-explanatory. The variables are internal to Eterm. They will last until Eterm exits, so you can refer to them in later theme files, unless of course you call %put() with a variable but no value (which removes the variable). Also note that %dirscan() returns only the filenames, not the full pathnames. This is for two reasons: One, you already know the path to the file since you specified it. Two, it enables handling of directories with larger numbers of files since the path isn't uselessly duplicated for each entry it generates. These new functions will be the backbone for a new random background system since the *.list files are rather clumsy in a lot of ways. I am not yet sure how it will work exactly, but I know I'll need these functions to do it. :-) SVN revision: 2104
2000-02-18 22:29:37 -08:00
Wed Apr 12 21:18:19 PDT 2000 Michael Jennings <> This is the initial commit with Imlib2 support. READ THIS CAREFULLY. There is important information in this commit message that will keep you from getting screwed. First off, support for Imlib 1.x is GONE. It is no longer supported as of now. If you want to continue using it, do NOT install this version. I tried to support both for awhile, but the code ended up being way too ugly and hackish. Imlib2 is the future. And trust me, when you see what we do with this future, you'll be happy for the switch. The good news is that most of the basics work. Transparency still works, and the basic image stuff works. Most users won't notice any major problems, so long as your Imlib2 is 100% up-to-date. However, a few things still don't work: 1. Auto mode is a bit broken. You'll get X errors in XFree86 4.0. Don't use it if you're running XFree 4. 2. Color modifiers for images don't work. At all. 3. Transparency shading/tinting will not work in 8bpp or lower. Life blows sometimes. Sorry. Time for a real video card. :-) 4. The built-in icon is broken. 5. You WILL need to update your theme.cfg files. The borders on the horizontal and vertical bar images were incorrect when combined with the new anti-aliased scaling. The horizontal bars should have a right border of 3. Vertical bars should have a bottom border of 3. The menu images should have both right *and* bottom borders of 3. You can either make those changes by hand, or use the --with-theme-update option to Your call. I think that covers everything I've run into. I will point out that I don't really take advantage of a lot of the Imlib2 features just yet. My first priority is to make all the stuff that worked before work again (or at least the important stuff). Then I'll work on new features. So there it is. If you're not ready for it, don't use it. But if you are, I hope you like it. SVN revision: 2478
2000-04-12 21:19:05 -07:00
#undef HAVE_MMX
#undef E_IDENT
#undef ESCREEN
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */