1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
|
Release notes for Eterm Development Release 0.6
-----------------------------------------------
Standard Disclaimer
-------------------
The authors don't take any responsibility for any damage this program
may do. We are doing this in our spare time. If you don't like this
program, don't use it.
Eterm is based on rxvt 2.21. This development release of Eterm
has been hacked together by Tuomo Venalainen (vendu@cc.hut.fi)
and Michael Jennings (mej@tcserv.com). Thanks to Rasterman
(aka Carsten Haitzler) and Michael Kellen, as well as to all the
other people who have provided patches. Thanks to all regulars
from the #E IRC channel for helping us test Eterm.
The development of Eterm will be continued. The sources need to be
converted into human-readable format ;-). More features will be added
as well. We'll continue cleaning up and patching the sources to make
Eterm more robust, secure and portable.
NOTE: Support for libXpm was dropped off in DR 0.3. Imlib does a much
better job at loading and scaling the background pixmaps. And hey,
it's Eterm, ya know :-)
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. <g> ;
- 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*
- 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 <steve@rage.org> 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
<casey@netcomi.com> 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/)
Plans for DR-0.8:
-----------------
- Pixmap offset support for simulation of transparent Eterm windows
- Pixmapping of individual scrollbar elements
- Support for "active tags" - see http://dingus.mit.edu/
- Bug fixes, as always....
Notes
-----
- In case you need utmp support, you'll have to run Eterm "setuid root"
As root, do: "chmod 4755 Eterm" Make SURE the Eterm binary is owned by
user=root, group=root (on BSD, i think it should be group=wheel):
1. chown root.root Eterm
2. (BSD) chown root.wheel Eterm
Note that in this version, utmp support will be turned on automagically
only on Linux and FreeBSD. If you want to try it on other platforms,
add -DUTMP_SUPPORT to your compilation flags. An example:
make "CFLAGS=-O -DUTMP_SUPPORT"
- The only fonts I know that will display ANSI art correctly are Raster's
nexus and vga;
- If you want to use colorful ANSI prompts (at least bash can show them),
make sure to make them end with a new line character ('\n')>
- The man page for DR-0.6 is not yet complete. Please use the -h/--help
option (or see doc/Eterm.help) for usage information. Consult
doc/MAIN.dist for help on making your own config file.
Building instructions and notes
-------------------------------
- Edit feature.h to "#define USE_IMLIB". You won't have to do this
unless you have changed feature.h yourself.
./configure
cd src
make clean
make
make install
ATTENTION! Recommended replacements for the "make" (the 4th line) above:
- On x86 systems:
o Version 2.7.2.1 or newer of GCC: make "CFLAGS=-O2 -m486"
o Older GCC: make "CFLAGS=-O2 -m486 -fno-strength-reduce"
- On other systems, leave out the "-m486". Suggestions for good
optimization flags are welcome.
- On HP-UX, define _HPUX_SOURCE
- On FreeBSD, use "make FreeBSD" instead of "make".
Development Notes
-----------------
- The sources don't compile with the GCC profiling flag (-gp) yet;
- The sources don't seem to compile without the support for background
pixmaps (#define PIXMAP_BACKGROUND);
Troubleshooting
---------------
- See feature.h;
- In case you have problems, try commenting out #define NDEBUG in feature.h:
/* #define NDEBUG */
E-n-Joy! ;-) -- vendu & mej
|