diff --git a/Makefile.am b/Makefile.am index 37595e1..4573cab 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,4 +4,4 @@ AUTOMAKE_OPTIONS = foreign SUBDIRS = libmej src themes utils doc bg pix -EXTRA_DIST = README ReleaseNotes CVS-README COPYING ChangeLog autogen.sh +EXTRA_DIST = README ReleaseNotes ReleaseNotes.1 CVS-README COPYING ChangeLog autogen.sh diff --git a/ReleaseNotes b/ReleaseNotes index a8c8d77..4adc698 100644 --- a/ReleaseNotes +++ b/ReleaseNotes @@ -3,411 +3,24 @@ Release Notes This document includes a summary of major changes for each revision of Eterm. -Changes made to rxvt 2.21 include ---------------------------------- +Changes in 0.9: +--------------- -- Better (read: working) implementation of utmp logging and added security; - needs to be tested on different platforms; -- Support for Rasterman's Imlib - used for loading and scaling the background - pixmaps; -- The command line option -pixmap now takes '@' as the delimiter between - the pixmap name and geometry. The old delimiter, ';', is NOT supported - any more. It was UGLY. Period. ; -- A new command line option, --scale or -@, was added. It will scale the background - pixmap "to fit"; to fill the whole background of the Eterm window; -- The binary was renamed to Eterm; -- Several bug/annoyance fixes. For example, fixed a problem with DEBUG_UTMP - that printed garbage when running with the debugging messages enabled. - See also #define NDEBUG in feature.h; -- Minor speedups. +You're kidding, right? There have been so many changes here it's not funny. +If you really want to know what they all are, you can read the ChangeLog. But +I'd settle for this: -More changes for 0.3 (included in some 0.2 versions), as described by Michael: - - - Installs signal handlers that, among other things, make core - dumps secure by revoking privs and changing its umask to 077. - It also prompts for whether or not it should dump core, timing - out after 10 seconds or if it gets a SIGT(STP|TIN|TOU) - - Changes stuff that said rxvt to Eterm (most places, but I probably - missed a few). - - Fixes SVR4/utmpx compile under HP-UX 10.X - -Utmp logging support was fixed to work on FreeBSD (tested on 2.1.5 and 2.2.2) -for 0.3a. Thanks to Brian Gottlieb for doing it. - -Changes made to 0.3b include a few portability additions and fixes (HP-UX, -OSF/1) and a few changed (commented out) #define's in feature.h. - -Eterm DR-0.4x included a number of patches for bold fonts, security, -utmp logging, etc. - -Several bugs were fixed for DR 0.5. Thanks to Michael Kellen for his -Solaris patch. - -Thanks go to Steve for his help with security. - -Changes in DR-0.6: ------------------- - - - Finally got the distribution tree cleaned up to remove most all traces - of left-over rxvt SPAM(tm). For now, however, credit for most of the - docs still remains with the rxvt people. - - No more .Xdefaults support. The X Resource Manager (Xrm) code has - several known security holes which make any program making - XGetDefault() calls insecure. Since Eterm generally runs as root, - this is unacceptable. So too is reading .Xdefaults directly, which - it had been doing up until now. From DR-0.6 on, it will read (in - proper Enlightened fashion) ~/.Eterm/MAIN, which will be a very - E-like config file. See doc/MAIN.dist for a sample. - - The config files support $ variable expansion, ~ expansion, single/double - quotes, and (if #defined) backquotes. PLEASE read the accompanying - notes in src/feature.h before #defining ALLOW_BACKQUOTE_EXEC. Also - supported is the %include macro. - -Changes in DR-0.6a: -------------------- - - - Lots of bug fixes: - - The font options now accept font names starting with '-' - - Intense colors are no longer off by one. - - Scrollbar and cursor color configuration options now work properly. - - Eterm now changes back to the original directory after searching for - a config file. - - Command line options now take precedence over config file options - - -h and --help now work properly, instead of asking for a string value - - MAIN.dist.in now contains a value for cut_chars that works right when - ALLOW_BACKQUOTE_EXEC is #defined. - - The "video reverse" in MAIN.dist.in is now "video normal", because I - got sick of people saying there was a bug in Eterm that caused their - foreground and background colors to be swapped. :^) More of a - cl00bie-didn't-read-the-comments fix than a bug fix.... ;) - - - New features: - - A "magic number"-like identifier that will prevent Enlightenment config - files from being read by Eterm. See doc/MAIN.dist for details. - - Secure execution of backquote commands in config files, even if Eterm - runs setuid/setgid. - - Invalid contexts are skipped entirely with only one error message. For - example, if you don't compile in kanji support, you'll only get one - warning instead of 5 or 6. - - -H and --home-on-echo options, which will cause Eterm to jump to the - bottom of the screen when something is echoed there, if you're viewing - the scrollback buffer. There is also a new attribute "home_on_echo" in - the toggles context of the config file for this option. Thanks to Casey - for his help with this. Just in time, Casey. :) - - There is now a script which randomly chooses a pixmap from ~/.Eterm/pix - that can be executed in your config file. This script requires the - dorand program (source provided) and can be found in doc/random_pixmap.sh - -Changes in DR-0.7: ------------------- - - - Theme support. The options were changed to -t and --theme. Consult the FAQ for - more info on themes. - - Alternate config file option. This has been integrated into theme support, but - can also work independently thereof. If you don't like the name MAIN for your - config file, or want to run a certain Eterm with a different config file, use - the -X or --config-file option. - - Borderless Eterm windows. Use the -x or --borderless option to get a borderless - Eterm. Remember, you'll want to specify a geometry, since you won't be able to - move it, and something to exec. If your window manager supports it, it is - recommended that you use that functionality rather than Eterm's built-in option. - - Built-in functions. Several functions have been added to facilitate the building - of more robust config files. The currently-supported functions are: - - %appname() Returns the current application name. "Eterm-DR-0.7" as of - Eterm 0.7. - - %version() Returns the numeric version. - - %random(...) Randomly chooses one of its parameters and returns that. - - Other new options (consult the MAIN file and the --help screen for more info): - - -E and --home-on-refresh - - --pointer-color - - --scrollbar-right - - --scrollbar-floating - - -M and --menu (Menubar code is beta, so use it at your own risk) - - --term-name - - Config file support for all the above. Also: - - exec (context misc) For use with themes.... - - Some major and minor bug fixes. Nobody noticed, so I won't go into details. :) - - Support for Window Maker's "docking", thanks to CmdrTaco (Rob Malda) - (http://slashdot.org/malda/) - -Changes in DR-0.8: ------------------- - - - Several experimental features are in, like active tags, fake transparency, - and threads support. Use them at your own risk; they are unsupported and - known not to work right. We chose not to fix them since we're going to - rewrite the whole thing anyway (see http://ganja.tky.hut.fi/resurrection/) - - The FORCE_BACKSPACE feature introduce in 0.7 PL5 has been disabled for now; - you can't succesfully start Eterm as a background process with it - - The new fake transparency option, -O/trans, only works OK with a pixmap - the size of your root window / resolution. Test it with an exact image - of your root window for a neat effect :) Note that escape sequences for - changing the background pixmap will be ignored. - - Two new config file options, "trans" and "save_under", have been added. - Read themes/Eterm/MAIN for more information. The corresponding new - command line options are -O and --save-under. - - Fixed the pixmap handling code so that the menubar stuff works right now. - Thanks to Cliff Wright and keebler - for their help with finding and fixing this. - - The Xterm-style scrollbar feature (defined in src/feature.h) will actually - compile and run properly. The restriction on size to 15 pixels has - been removed as well. Thanks to Peter Norby and - Hal Black for supplying patches for - this. - - Made several changes to the configure script so that hopefully it will - work for a larger percentage of the populace. :-) Some of the changes - were suggested by John Reese and Hal Black - . - - Added MIN_ANCHOR_SIZE to src/feature.h which allows you to specify a minimum - size for the scrollbar anchor. Good for large scrollback buffers and/or - small windows. Still a mite flaky at the bottom of the scrollbar, but it - works. Credit for the idea goes to Stephen Farrell , - though the actual code was largely rewritten. - - Added CHANGE_SCROLLCOLOR_ON_FOCUS to src/feature.h which makes the - scrollbar "disappear" (i.e., become the background color) when the window - loses focus. This feature was suggested by Scott Heavner - . - - Added option --menu-text-color and config file attribute menu_text, - which allow you to change the color of the menubar text. This feature - was suggested by Scott Heavner . - - Fixed a bug for FreeBSD that only allowed Eterm to open 16 tty's at - once. Thanks to Christopher Mann for finding this - one. - - PL1 - - Fixed bug which caused scrollbar not to redraw properly - - PL2 - - Rewrote the string functions in src/misc.c to be faster. Also, support - for "\C" and "C-" to represent the Ctrl-key modifier was added. - - Added MENU_TEXT_FLOATING to src/feature.h which puts the menubar text - in the middle of the menubar buttons (which is, IMHO, where it belongs, - but apparently someone disagrees :-) -- mej). - - The pre-release stuff in RELNOTES.Eterm has been removed. - - Added an "emacs" theme for GNU Emacs or XEmacs in a text window. - - Got rid of that damned annoying preedit type error. :-) - - Added call counting for the malloc routines in libmej/mem.* thanks to - Michael Wolf (Elessar) . - - PL3 - - Changed themes/Makefile.in so that existing themes in - ${prefix}/lib/Eterm/themes do not get overwritten by the "make install" - routine. Sorry, stupid oversight on my part. :( -- mej - - New "chooser" theme. Read the comments at the top of - themes/chooser/chooser.menu for more details. :) - - New extended command "echo" in the ESC ] 10 ; set. See the chooser - theme for implementation examples. Basically, it echoes its parameters - and tacks a carriage return on the end. - - Fixed the bug introduced in PL2 which caused a border width < the shadow - width to not properly display the menubar. This was only noticeable in - the mutt theme or to users who specifically set border_width to 0 or 1. - - Eterm now sets the environment variable ETERM_THEME_ROOT to point to the - root directory of the theme it is currently using. - - PL4 - - Made several portability improvements in the configure script and its - associated files. - - Moved the active.tags file into the themes directory, which is the - location from which it is installed. - - The configure script now builds src/feature.h instead of the make process - so that it will be there before the make is done. If src/feature.h.in is - updated, however, src/feature.h will still be generated from it by a make. - - The installed Eterm binary will be Eterm-, and Eterm will - be created as a soft-link to that file in the $bindir directory. - - Eterm will now guess the install prefix (${prefix}) based on where gcc is - located, unless you give a --prefix on the command line. This keeps me - from having to use it. If it makes you have to use it, tough break. =P - - Added the --with-imlib option to configure. If you specify - --with-imlib=/some/path, the compiler will look in /some/path/include - for Imlib's header files and in /some/path/lib for Imlib itself. You can - also specify --without-imlib, which will disable pixmap support entirely. - - PL5 - - Fixed the problem with the Eterm -> Pixmap -> None menu item. - - IMPORTANT NOTE: One of the src/feature.h defines added in version 0.8 was - the MIN_ANCHOR_SIZE #define. There are KNOWN PROBLEMS with using this feature - and trying to scroll up from the bottom using Shift-Prior, the up arrow on the - scrollbar, etc. If this bothers you, COMMENT OUT that line in src/feature.h. - Fixing this problem will require a redesign of how Eterm looks at scrolling - and positioning the terminal window relative to the scrollbar and vice versa. - This may or may not happen in the current development cycle. - - Added the CTRL_CLICK_RAISE #define to src/feature.h which allows a mouse - click in the terminal window while holding the Ctrl key to raise the window - and steal keyboard focus. This is useful if you are stuck without a window - manager for one reason or another or for using Eterm as an X session manager. - - Also added an escape sequence, ESC ] 5 ; BEL, to perform the same task, and - added a menu item called "Steal Focus" to send that escape sequence. - - Fixed the "bug" that made command-line paths relative to the current theme - as well as paths in theme config files. Searching relative to the current - directory takes place after searching the directories in the "path" line - (from the config file). (I have "bug" in quotes because it wasn't really - a bug -- all paths were interpreted relative to the theme used -- but it - applied to command-line variables too, which was very confusing to some.) - -Changes in 0.8.6: ------------------ - - - For starters, we changed the naming convention. No more "DR" and "PL" stuff. - We got asked too many stupid questions. ("What's the P 15 mean?") Starting - with this release, we'll be using numbers only. The third number will still - indicate the patch level, however. - - Added support for imlib-config script supplied with Imlib 1.8 and up. This - speeds and simplifies the calculation of CFLAGS and LDFLAGS for proper - linking with Imlib. - - Fixed problems with compilation on NetBSD thanks to Clifford Wright - . - - Redid the themes to support the new pixmap mechanism I'm working on. Once - the new pixmap archive comes out, you'll want to remove your themes - directory ($prefix/lib/Eterm/themes by default) and install the themes - contained in this distribution. Get the new Eterm Backgrounds Collection - at http://www.tcserv.com/archive/E/ or a mirror near you. - - Reworked the transparency mechanism thanks to Gerald Britton - and Nat Friedman . It now takes a copy - of the root window's pixmap and uses that. It responds to all moves and - resizes by updating the pixmap. No requests for changing pixmap are - honored by a transparent Eterm (the -O or --trans options). Furthermore, - this will probably only work in Enlightenment. And for the full effect, - you'll want to run it without scrollbar/menubar and borderless (the - latter being done either through Enlightenment or with the -x option). - - Added the Esetroot program, which sets the root pixmap atom for those - who don't use Enlightenment as their window manager. There has been - mixed feedback on whether or not this program works. YMMV. - - Added a theme to demo some of the pseudo-transparency features. Use - "Eterm -t trans" to invoke it. - - Some pseudo-transparency toys are in too. The option --shade will darken - the portion of the desktop "showing through" the Eterm window. Results - in a "smoked glass" effect. This option can also be used with the - --tint option to provide a colored glass effect. See the man page for - more information. Also be sure to check out the effect of the - --scrollbar-floating option with transparency. :) - - Fixed compilation without pixmap and/or menubar support. The options - --disable-menus and --without-imlib can, when passed to the configure - script, be used to automatically disable menubar and pixmap support, - respectively. - - NEW MAN PAGE!! At long last, the man page has been updated with the new - options. Many thanks to Shaleh for doing this. - - The values "yes" and "no" can now be used as boolean values in options - and config file entries, along with 0/1, true/false, and on/off. - - Eterm now changes the color of the scrollbar when losing focus. If no - unfocused scrollbar color is specified in the config file or on the - command line, you will not notice it. See the man page and the default - config files for more info. - -Changes in 0.8.7: ------------------ - - - The old libmej is now built as a shared library as well as a static one. - Also, everything but the main() function has been moved into a library, - libEterm. Since most people use lots of Eterms at once, creating a shared - library will reduce the text segment of each Eterm significantly, saving - quite a bit of memory per Eterm. - - Removed MIN_ANCHOR_SIZE and added -a (--min-anchor-size) option. It is 0 by - default so ppl won't complain about the scroll-up "bug". - - Lots of fixes to Esetroot - - CygWin32 support. May take a little bit of effort, but it works. - - Escape sequences to toggle transparency and shading, as well as set tint, - are in. Toggling transparency works. The others don't yet. - - Newer Linux versions required a hack to open the display. - - Cleaned up privileges toggling. - - Changed the --watch-bg option to --watch-pixmap, which will hopefully make it - less tempting for people to think it has something to do with transparency. - - Added the --watch-desktop option which causes a pseudo-transparent Eterm to - monitor the desktop pixmap for changes and update accordingly. - - Several various parser cleanups. - - Transparency can now be done via Imlib rather than Xlib. It is markedly slower - but offers more configureability, like shading by percentage (--shade-pct) and - tinting masks (--tint <24-bit mask>). - - Shading now works for 8bpp pseudo-color displays. This formerly generated an - error message about the X server not setting the visual info properly. It is - not fast by any means, but that's what you get for having an 8bpp video card. - - Fixed the menubar code so that the menus aren't clipped by the window or screen - edge. - - Changed the shell_expand() function in options.c so that \' within single quotes - would insert a single quote. This differs from the shell behavior, but I prefer - it. :) - - More *BSD utmp fixes. - - Added debugging features configureable at configure-time. Also added stack - tracing on crash. - - Fixed the bug with dragging a transparent Eterm across E's desktop dragbar. It - reparents to the root window for a bit, but once you drop the window, it changes - backdrops right on cue. Also works when moving Eterm windows between desktops. - Note that this requires the use of the -W (--watch-desktop) option. - - \e[9n prints the pixmap filename in the title bar. In transparency mode, prints - transparency info to the title bar. - - New --home-on-input option which split off part of --home-on-echo - -Changes in 0.8.8: ------------------ - - - Better, more detailed man page. Now if only people would read it.... - - Shading is now done by percentage, and tinting by hex mask. See the man page for - more info. - - Lots of new options: --menubar-move, --anim, --pause, --viewport-mode, - --xterm-select, and --select-line. See man page for details. - - FORCE_BACKSPACE and FORCE_DELETE have been fixed. - - KS_DELETE (the strings associated with pressing the Delete key) is now set to ^? - by default. If you don't like that, you can set it back, or use the keysym - attribute in the config file, or whatever. - - --with-cc=prog argument to ./configure to specify an alternative compiler. The - default looks for egcs, then pgcc, then gcc, etc. - - Eterm-specific escape sequences: - Syntax: ESC ] 6 ; ; BEL - - where is: 0 toggle transparency - 1 set shade percentage - 2 set tint mask - 3 forced update of pseudo-transparent background - 30 Do not use - 40 Do not use - and is an optional argument, depending - on the particular sequence being used. It - (along with its preceeding semicolon) may or - may not be needed. - - X errors are handled more gracefully and with more helpful information. - - The --disable-stack-trace option to ./configure, whose use is obvious. - - Added an icon and associated option/attribute. - - As always, lots of bug fixes. See the ChangeLog for details. - - The -center option for Esetroot. Centers the pixmap. - - Eterm is now FHS compliant, meaning that the theme and image directories are - now under ${prefix}/share/Eterm instead of ${prefix}/lib/Eterm. See the - move-themes script included in the distribution. - -Changes in 0.8.9: ------------------ - - - Support for scrolling with mouse wheels. - - New --version switch to display compile-time configuration. - - Tinting and shading have been sped up by about 30% thanks to Michael Pearson - . - - Scrollbar type and width is now customizeable at compile-time *and* run-time. - Support for NeXT-style scrollbars has also been added. - - Three *major* bugs have been fixed. Tiled desktop images no longer cause - crashes when tinting or shading. The resize crash bug has also been squished. - The secure system() call replacement which was accidentally removed has been - added back. - - Ctrl-Button1 now grabs input focus. Ctrl-Button2 toggles the scrollbar on and - off. Ctrl-Button3 toggles the menubar on and off. NOTE: If you used to - disable the menubar by commenting out the loading of the menubar file, or - loading a fake one (e.g., '-Mx' or '-M /dev/null'), don't. Simply add "off" to - the end of the menu line (e.g., 'menu Eterm.menu off'), or use the new boolean - command-line option --menubar (e.g., '--menubar off'). Then you can toggle the - menubar using Ctrl-Button3 like you would expect. - - Popup scrollbar support has been added. - - New -D (--desktop) option for choosing a desktop to start on. Your window - manager must be GNOME-compliant for this to work. See the documentation at - http://www.gnome.org/devel/gnomewm/ for info on the _WIN_WORKSPACE property. - - The Eterm Technical Reference has been completely rewritten. It is now an HTML - document located in the doc/ directory. - - Lots and lots and lots of new escape sequences. See the Technical Reference for - details on them. - - Oodles of small bug fixes, as always. :-) - - Debugging output is now runtime configurable. Use the --debug option and supply - a number. 0 (the default) gives no debugging output. 1-5 give increasingly - more output, up to 5 (which I don't recommend using) which synchronizes X events - (and slows things down bigtime). - - You can now save your current Eterm settings from the menu. - - New --app-keypad and --app-cursor options to set the startup mode for - application/normal mode for the keypad and cursor keys. - - Three new utilities in addition to Esetroot, all of which are located in the - utils/ directory. Etbg is a tool for manipulating Eterm's background image on - the fly. Etcolors.sh demonstrates all the different combinations of your - current color settings. Etmenu.sh lets you send menu commands to Eterm's - menubar subsystem without having to type the escape codes yourself. - - Borderless Eterms now attempt to use the Window Manager to become borderless - instead of bypassing it altogether. + - All new theme format. + - 3-state image support. + - Pixmapped scrollbars and popup menus. + - Action bindings. + - IPC interface to Eterm and Enlightenment. + - Auto mode for automatic syncing with Enlightenment themes. +Eterm 0.9 is the beginning of a new development tree. There will be lots and +lots of drastic changes as this thing grows and develops, so if you're afraid of +the occasional bug, stick to 0.8.10 for awhile. A release of the 0.9 tree +signifies a point at which it works for almost everyone and is quite solid and +stable for me. That doesn't necessarily mean that you won't run into the +occasional snag, though, and any fixes made to the 0.9 tree would go into CVS, +not a new release. But I think you'll find the new features are worth it. :-) diff --git a/ReleaseNotes.1 b/ReleaseNotes.1 new file mode 100644 index 0000000..a8c8d77 --- /dev/null +++ b/ReleaseNotes.1 @@ -0,0 +1,413 @@ +Release Notes +============= + +This document includes a summary of major changes for each revision of Eterm. + +Changes made to rxvt 2.21 include +--------------------------------- + +- Better (read: working) implementation of utmp logging and added security; + needs to be tested on different platforms; +- Support for Rasterman's Imlib - used for loading and scaling the background + pixmaps; +- The command line option -pixmap now takes '@' as the delimiter between + the pixmap name and geometry. The old delimiter, ';', is NOT supported + any more. It was UGLY. Period. ; +- A new command line option, --scale or -@, was added. It will scale the background + pixmap "to fit"; to fill the whole background of the Eterm window; +- The binary was renamed to Eterm; +- Several bug/annoyance fixes. For example, fixed a problem with DEBUG_UTMP + that printed garbage when running with the debugging messages enabled. + See also #define NDEBUG in feature.h; +- Minor speedups. + +More changes for 0.3 (included in some 0.2 versions), as described by Michael: + + - Installs signal handlers that, among other things, make core + dumps secure by revoking privs and changing its umask to 077. + It also prompts for whether or not it should dump core, timing + out after 10 seconds or if it gets a SIGT(STP|TIN|TOU) + - Changes stuff that said rxvt to Eterm (most places, but I probably + missed a few). + - Fixes SVR4/utmpx compile under HP-UX 10.X + +Utmp logging support was fixed to work on FreeBSD (tested on 2.1.5 and 2.2.2) +for 0.3a. Thanks to Brian Gottlieb for doing it. + +Changes made to 0.3b include a few portability additions and fixes (HP-UX, +OSF/1) and a few changed (commented out) #define's in feature.h. + +Eterm DR-0.4x included a number of patches for bold fonts, security, +utmp logging, etc. + +Several bugs were fixed for DR 0.5. Thanks to Michael Kellen for his +Solaris patch. + +Thanks go to Steve for his help with security. + +Changes in DR-0.6: +------------------ + + - Finally got the distribution tree cleaned up to remove most all traces + of left-over rxvt SPAM(tm). For now, however, credit for most of the + docs still remains with the rxvt people. + - No more .Xdefaults support. The X Resource Manager (Xrm) code has + several known security holes which make any program making + XGetDefault() calls insecure. Since Eterm generally runs as root, + this is unacceptable. So too is reading .Xdefaults directly, which + it had been doing up until now. From DR-0.6 on, it will read (in + proper Enlightened fashion) ~/.Eterm/MAIN, which will be a very + E-like config file. See doc/MAIN.dist for a sample. + - The config files support $ variable expansion, ~ expansion, single/double + quotes, and (if #defined) backquotes. PLEASE read the accompanying + notes in src/feature.h before #defining ALLOW_BACKQUOTE_EXEC. Also + supported is the %include macro. + +Changes in DR-0.6a: +------------------- + + - Lots of bug fixes: + - The font options now accept font names starting with '-' + - Intense colors are no longer off by one. + - Scrollbar and cursor color configuration options now work properly. + - Eterm now changes back to the original directory after searching for + a config file. + - Command line options now take precedence over config file options + - -h and --help now work properly, instead of asking for a string value + - MAIN.dist.in now contains a value for cut_chars that works right when + ALLOW_BACKQUOTE_EXEC is #defined. + - The "video reverse" in MAIN.dist.in is now "video normal", because I + got sick of people saying there was a bug in Eterm that caused their + foreground and background colors to be swapped. :^) More of a + cl00bie-didn't-read-the-comments fix than a bug fix.... ;) + + - New features: + - A "magic number"-like identifier that will prevent Enlightenment config + files from being read by Eterm. See doc/MAIN.dist for details. + - Secure execution of backquote commands in config files, even if Eterm + runs setuid/setgid. + - Invalid contexts are skipped entirely with only one error message. For + example, if you don't compile in kanji support, you'll only get one + warning instead of 5 or 6. + - -H and --home-on-echo options, which will cause Eterm to jump to the + bottom of the screen when something is echoed there, if you're viewing + the scrollback buffer. There is also a new attribute "home_on_echo" in + the toggles context of the config file for this option. Thanks to Casey + for his help with this. Just in time, Casey. :) + - There is now a script which randomly chooses a pixmap from ~/.Eterm/pix + that can be executed in your config file. This script requires the + dorand program (source provided) and can be found in doc/random_pixmap.sh + +Changes in DR-0.7: +------------------ + + - Theme support. The options were changed to -t and --theme. Consult the FAQ for + more info on themes. + - Alternate config file option. This has been integrated into theme support, but + can also work independently thereof. If you don't like the name MAIN for your + config file, or want to run a certain Eterm with a different config file, use + the -X or --config-file option. + - Borderless Eterm windows. Use the -x or --borderless option to get a borderless + Eterm. Remember, you'll want to specify a geometry, since you won't be able to + move it, and something to exec. If your window manager supports it, it is + recommended that you use that functionality rather than Eterm's built-in option. + - Built-in functions. Several functions have been added to facilitate the building + of more robust config files. The currently-supported functions are: + - %appname() Returns the current application name. "Eterm-DR-0.7" as of + Eterm 0.7. + - %version() Returns the numeric version. + - %random(...) Randomly chooses one of its parameters and returns that. + - Other new options (consult the MAIN file and the --help screen for more info): + - -E and --home-on-refresh + - --pointer-color + - --scrollbar-right + - --scrollbar-floating + - -M and --menu (Menubar code is beta, so use it at your own risk) + - --term-name + - Config file support for all the above. Also: + - exec (context misc) For use with themes.... + - Some major and minor bug fixes. Nobody noticed, so I won't go into details. :) + - Support for Window Maker's "docking", thanks to CmdrTaco (Rob Malda) + (http://slashdot.org/malda/) + +Changes in DR-0.8: +------------------ + + - Several experimental features are in, like active tags, fake transparency, + and threads support. Use them at your own risk; they are unsupported and + known not to work right. We chose not to fix them since we're going to + rewrite the whole thing anyway (see http://ganja.tky.hut.fi/resurrection/) + - The FORCE_BACKSPACE feature introduce in 0.7 PL5 has been disabled for now; + you can't succesfully start Eterm as a background process with it + - The new fake transparency option, -O/trans, only works OK with a pixmap + the size of your root window / resolution. Test it with an exact image + of your root window for a neat effect :) Note that escape sequences for + changing the background pixmap will be ignored. + - Two new config file options, "trans" and "save_under", have been added. + Read themes/Eterm/MAIN for more information. The corresponding new + command line options are -O and --save-under. + - Fixed the pixmap handling code so that the menubar stuff works right now. + Thanks to Cliff Wright and keebler + for their help with finding and fixing this. + - The Xterm-style scrollbar feature (defined in src/feature.h) will actually + compile and run properly. The restriction on size to 15 pixels has + been removed as well. Thanks to Peter Norby and + Hal Black for supplying patches for + this. + - Made several changes to the configure script so that hopefully it will + work for a larger percentage of the populace. :-) Some of the changes + were suggested by John Reese and Hal Black + . + - Added MIN_ANCHOR_SIZE to src/feature.h which allows you to specify a minimum + size for the scrollbar anchor. Good for large scrollback buffers and/or + small windows. Still a mite flaky at the bottom of the scrollbar, but it + works. Credit for the idea goes to Stephen Farrell , + though the actual code was largely rewritten. + - Added CHANGE_SCROLLCOLOR_ON_FOCUS to src/feature.h which makes the + scrollbar "disappear" (i.e., become the background color) when the window + loses focus. This feature was suggested by Scott Heavner + . + - Added option --menu-text-color and config file attribute menu_text, + which allow you to change the color of the menubar text. This feature + was suggested by Scott Heavner . + - Fixed a bug for FreeBSD that only allowed Eterm to open 16 tty's at + once. Thanks to Christopher Mann for finding this + one. + - PL1 + - Fixed bug which caused scrollbar not to redraw properly + - PL2 + - Rewrote the string functions in src/misc.c to be faster. Also, support + for "\C" and "C-" to represent the Ctrl-key modifier was added. + - Added MENU_TEXT_FLOATING to src/feature.h which puts the menubar text + in the middle of the menubar buttons (which is, IMHO, where it belongs, + but apparently someone disagrees :-) -- mej). + - The pre-release stuff in RELNOTES.Eterm has been removed. + - Added an "emacs" theme for GNU Emacs or XEmacs in a text window. + - Got rid of that damned annoying preedit type error. :-) + - Added call counting for the malloc routines in libmej/mem.* thanks to + Michael Wolf (Elessar) . + - PL3 + - Changed themes/Makefile.in so that existing themes in + ${prefix}/lib/Eterm/themes do not get overwritten by the "make install" + routine. Sorry, stupid oversight on my part. :( -- mej + - New "chooser" theme. Read the comments at the top of + themes/chooser/chooser.menu for more details. :) + - New extended command "echo" in the ESC ] 10 ; set. See the chooser + theme for implementation examples. Basically, it echoes its parameters + and tacks a carriage return on the end. + - Fixed the bug introduced in PL2 which caused a border width < the shadow + width to not properly display the menubar. This was only noticeable in + the mutt theme or to users who specifically set border_width to 0 or 1. + - Eterm now sets the environment variable ETERM_THEME_ROOT to point to the + root directory of the theme it is currently using. + - PL4 + - Made several portability improvements in the configure script and its + associated files. + - Moved the active.tags file into the themes directory, which is the + location from which it is installed. + - The configure script now builds src/feature.h instead of the make process + so that it will be there before the make is done. If src/feature.h.in is + updated, however, src/feature.h will still be generated from it by a make. + - The installed Eterm binary will be Eterm-, and Eterm will + be created as a soft-link to that file in the $bindir directory. + - Eterm will now guess the install prefix (${prefix}) based on where gcc is + located, unless you give a --prefix on the command line. This keeps me + from having to use it. If it makes you have to use it, tough break. =P + - Added the --with-imlib option to configure. If you specify + --with-imlib=/some/path, the compiler will look in /some/path/include + for Imlib's header files and in /some/path/lib for Imlib itself. You can + also specify --without-imlib, which will disable pixmap support entirely. + - PL5 + - Fixed the problem with the Eterm -> Pixmap -> None menu item. + - IMPORTANT NOTE: One of the src/feature.h defines added in version 0.8 was + the MIN_ANCHOR_SIZE #define. There are KNOWN PROBLEMS with using this feature + and trying to scroll up from the bottom using Shift-Prior, the up arrow on the + scrollbar, etc. If this bothers you, COMMENT OUT that line in src/feature.h. + Fixing this problem will require a redesign of how Eterm looks at scrolling + and positioning the terminal window relative to the scrollbar and vice versa. + This may or may not happen in the current development cycle. + - Added the CTRL_CLICK_RAISE #define to src/feature.h which allows a mouse + click in the terminal window while holding the Ctrl key to raise the window + and steal keyboard focus. This is useful if you are stuck without a window + manager for one reason or another or for using Eterm as an X session manager. + - Also added an escape sequence, ESC ] 5 ; BEL, to perform the same task, and + added a menu item called "Steal Focus" to send that escape sequence. + - Fixed the "bug" that made command-line paths relative to the current theme + as well as paths in theme config files. Searching relative to the current + directory takes place after searching the directories in the "path" line + (from the config file). (I have "bug" in quotes because it wasn't really + a bug -- all paths were interpreted relative to the theme used -- but it + applied to command-line variables too, which was very confusing to some.) + +Changes in 0.8.6: +----------------- + + - For starters, we changed the naming convention. No more "DR" and "PL" stuff. + We got asked too many stupid questions. ("What's the P 15 mean?") Starting + with this release, we'll be using numbers only. The third number will still + indicate the patch level, however. + - Added support for imlib-config script supplied with Imlib 1.8 and up. This + speeds and simplifies the calculation of CFLAGS and LDFLAGS for proper + linking with Imlib. + - Fixed problems with compilation on NetBSD thanks to Clifford Wright + . + - Redid the themes to support the new pixmap mechanism I'm working on. Once + the new pixmap archive comes out, you'll want to remove your themes + directory ($prefix/lib/Eterm/themes by default) and install the themes + contained in this distribution. Get the new Eterm Backgrounds Collection + at http://www.tcserv.com/archive/E/ or a mirror near you. + - Reworked the transparency mechanism thanks to Gerald Britton + and Nat Friedman . It now takes a copy + of the root window's pixmap and uses that. It responds to all moves and + resizes by updating the pixmap. No requests for changing pixmap are + honored by a transparent Eterm (the -O or --trans options). Furthermore, + this will probably only work in Enlightenment. And for the full effect, + you'll want to run it without scrollbar/menubar and borderless (the + latter being done either through Enlightenment or with the -x option). + - Added the Esetroot program, which sets the root pixmap atom for those + who don't use Enlightenment as their window manager. There has been + mixed feedback on whether or not this program works. YMMV. + - Added a theme to demo some of the pseudo-transparency features. Use + "Eterm -t trans" to invoke it. + - Some pseudo-transparency toys are in too. The option --shade will darken + the portion of the desktop "showing through" the Eterm window. Results + in a "smoked glass" effect. This option can also be used with the + --tint option to provide a colored glass effect. See the man page for + more information. Also be sure to check out the effect of the + --scrollbar-floating option with transparency. :) + - Fixed compilation without pixmap and/or menubar support. The options + --disable-menus and --without-imlib can, when passed to the configure + script, be used to automatically disable menubar and pixmap support, + respectively. + - NEW MAN PAGE!! At long last, the man page has been updated with the new + options. Many thanks to Shaleh for doing this. + - The values "yes" and "no" can now be used as boolean values in options + and config file entries, along with 0/1, true/false, and on/off. + - Eterm now changes the color of the scrollbar when losing focus. If no + unfocused scrollbar color is specified in the config file or on the + command line, you will not notice it. See the man page and the default + config files for more info. + +Changes in 0.8.7: +----------------- + + - The old libmej is now built as a shared library as well as a static one. + Also, everything but the main() function has been moved into a library, + libEterm. Since most people use lots of Eterms at once, creating a shared + library will reduce the text segment of each Eterm significantly, saving + quite a bit of memory per Eterm. + - Removed MIN_ANCHOR_SIZE and added -a (--min-anchor-size) option. It is 0 by + default so ppl won't complain about the scroll-up "bug". + - Lots of fixes to Esetroot + - CygWin32 support. May take a little bit of effort, but it works. + - Escape sequences to toggle transparency and shading, as well as set tint, + are in. Toggling transparency works. The others don't yet. + - Newer Linux versions required a hack to open the display. + - Cleaned up privileges toggling. + - Changed the --watch-bg option to --watch-pixmap, which will hopefully make it + less tempting for people to think it has something to do with transparency. + - Added the --watch-desktop option which causes a pseudo-transparent Eterm to + monitor the desktop pixmap for changes and update accordingly. + - Several various parser cleanups. + - Transparency can now be done via Imlib rather than Xlib. It is markedly slower + but offers more configureability, like shading by percentage (--shade-pct) and + tinting masks (--tint <24-bit mask>). + - Shading now works for 8bpp pseudo-color displays. This formerly generated an + error message about the X server not setting the visual info properly. It is + not fast by any means, but that's what you get for having an 8bpp video card. + - Fixed the menubar code so that the menus aren't clipped by the window or screen + edge. + - Changed the shell_expand() function in options.c so that \' within single quotes + would insert a single quote. This differs from the shell behavior, but I prefer + it. :) + - More *BSD utmp fixes. + - Added debugging features configureable at configure-time. Also added stack + tracing on crash. + - Fixed the bug with dragging a transparent Eterm across E's desktop dragbar. It + reparents to the root window for a bit, but once you drop the window, it changes + backdrops right on cue. Also works when moving Eterm windows between desktops. + Note that this requires the use of the -W (--watch-desktop) option. + - \e[9n prints the pixmap filename in the title bar. In transparency mode, prints + transparency info to the title bar. + - New --home-on-input option which split off part of --home-on-echo + +Changes in 0.8.8: +----------------- + + - Better, more detailed man page. Now if only people would read it.... + - Shading is now done by percentage, and tinting by hex mask. See the man page for + more info. + - Lots of new options: --menubar-move, --anim, --pause, --viewport-mode, + --xterm-select, and --select-line. See man page for details. + - FORCE_BACKSPACE and FORCE_DELETE have been fixed. + - KS_DELETE (the strings associated with pressing the Delete key) is now set to ^? + by default. If you don't like that, you can set it back, or use the keysym + attribute in the config file, or whatever. + - --with-cc=prog argument to ./configure to specify an alternative compiler. The + default looks for egcs, then pgcc, then gcc, etc. + - Eterm-specific escape sequences: + Syntax: ESC ] 6 ; ; BEL + + where is: 0 toggle transparency + 1 set shade percentage + 2 set tint mask + 3 forced update of pseudo-transparent background + 30 Do not use + 40 Do not use + and is an optional argument, depending + on the particular sequence being used. It + (along with its preceeding semicolon) may or + may not be needed. + - X errors are handled more gracefully and with more helpful information. + - The --disable-stack-trace option to ./configure, whose use is obvious. + - Added an icon and associated option/attribute. + - As always, lots of bug fixes. See the ChangeLog for details. + - The -center option for Esetroot. Centers the pixmap. + - Eterm is now FHS compliant, meaning that the theme and image directories are + now under ${prefix}/share/Eterm instead of ${prefix}/lib/Eterm. See the + move-themes script included in the distribution. + +Changes in 0.8.9: +----------------- + + - Support for scrolling with mouse wheels. + - New --version switch to display compile-time configuration. + - Tinting and shading have been sped up by about 30% thanks to Michael Pearson + . + - Scrollbar type and width is now customizeable at compile-time *and* run-time. + Support for NeXT-style scrollbars has also been added. + - Three *major* bugs have been fixed. Tiled desktop images no longer cause + crashes when tinting or shading. The resize crash bug has also been squished. + The secure system() call replacement which was accidentally removed has been + added back. + - Ctrl-Button1 now grabs input focus. Ctrl-Button2 toggles the scrollbar on and + off. Ctrl-Button3 toggles the menubar on and off. NOTE: If you used to + disable the menubar by commenting out the loading of the menubar file, or + loading a fake one (e.g., '-Mx' or '-M /dev/null'), don't. Simply add "off" to + the end of the menu line (e.g., 'menu Eterm.menu off'), or use the new boolean + command-line option --menubar (e.g., '--menubar off'). Then you can toggle the + menubar using Ctrl-Button3 like you would expect. + - Popup scrollbar support has been added. + - New -D (--desktop) option for choosing a desktop to start on. Your window + manager must be GNOME-compliant for this to work. See the documentation at + http://www.gnome.org/devel/gnomewm/ for info on the _WIN_WORKSPACE property. + - The Eterm Technical Reference has been completely rewritten. It is now an HTML + document located in the doc/ directory. + - Lots and lots and lots of new escape sequences. See the Technical Reference for + details on them. + - Oodles of small bug fixes, as always. :-) + - Debugging output is now runtime configurable. Use the --debug option and supply + a number. 0 (the default) gives no debugging output. 1-5 give increasingly + more output, up to 5 (which I don't recommend using) which synchronizes X events + (and slows things down bigtime). + - You can now save your current Eterm settings from the menu. + - New --app-keypad and --app-cursor options to set the startup mode for + application/normal mode for the keypad and cursor keys. + - Three new utilities in addition to Esetroot, all of which are located in the + utils/ directory. Etbg is a tool for manipulating Eterm's background image on + the fly. Etcolors.sh demonstrates all the different combinations of your + current color settings. Etmenu.sh lets you send menu commands to Eterm's + menubar subsystem without having to type the escape codes yourself. + - Borderless Eterms now attempt to use the Window Manager to become borderless + instead of bypassing it altogether. + diff --git a/doc/Makefile.am b/doc/Makefile.am index 45c4828..5e163ae 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -10,5 +10,5 @@ Eterm.1: $(top_srcdir)/doc/Eterm.1.in Eterm.1.html: Eterm.1 -nroff -man $< | man2html > $@ -EXTRA_DIST = Eterm.1.in Eterm_reference.html Eterm.tcap Eterm.ti FAQ.html Makefile.am Makefile.in +EXTRA_DIST = Eterm.1.in Eterm_reference.html Eterm.tcap Eterm.ti Makefile.am Makefile.in