1998-06-02  Raja R Harinath  <harinath@cs.umn.edu>

	* configure.in: Change all [ ... ] to test ....  Also `test -e' is
	not portable.  Use `test -f' instead.

-------------------------------------------------------------------------------

Wed May 13 21:03:23 EDT 1998
(Raster) 
Moved everything to autoconf/automake.
Have done piles of the basic work on E 0.14
Now things get serious with keeping a ChangeLog and stuff.

-------------------------------------------------------------------------------

Thu May 14 21:43:41 EDT 1998
(Raster) 
Fixed some raising/lowering bugs for desktops (if 3 desktops were up the top
one would dissapear behind the others when you moved a window that was on
that desktop).
Now E handles multi-depth servers fully - instead of not setting a root pixmap
at all now it inits Imlib especialy for the root visual if the root visual
doesn't match Imlib's chosen visual, and thus can set the bg on the root
window even if it's a different visual to what E normally uses.
Alo created a few more backgrounds for desktops to look cleaner and show off
a bit more.

-------------------------------------------------------------------------------

Thu May 14 23:44:31 EDT 1998
(Raster)
Added STICK action to make windows stick/normal again (toggle it) and made
sticky windows work (ie stick ABOVE every desktop) and not have anything
overlap them.. except other sticky windows. :) Changed internal bindings to
alt-left and alt-right arrow. Added a "slide back in place" action for
sliding the current active desktop back shut - bound this to alt-down arrow.

-------------------------------------------------------------------------------

Fri May 15 11:20:47 EDT 1998
(Raster)
Cleaned up some desktop backgrounds.

-------------------------------------------------------------------------------

Sat May 16 12:05:53 EDT 1998
(Raster)
Added button dragging. Now you can drag buttons around your desktop at will,
with a drage threshold/resistance which E uses to decide if its a drag or a
click. There is a global action for all buttons that defines whihc mosue
butotns/combos are used to init a button drag. This now means a user can
customise his interface "on-the-fly" as needed. I am hoping that on exit E
will be able to save the settings of all buttons to the user config so they
come up in the same spot again on the next login.

-------------------------------------------------------------------------------

Sat May 16 23:00:51 EDT 1998
(Raster)
Okay I've gone stark raving mad. I just added some sound support into E.
Also fixed on mapping/stacking bug too. Changed keybindings for exit to be
alt-End too :)

-------------------------------------------------------------------------------

Sun May 17 17:02:41 EDT 1998
(Raster)
Added #ifdefs for ESD support - if esd isn't installed sound won't be
compiled in at all.
Fixed the ActionExec to check if the progrma can be executed at all first,
(ie the user has exec permission ot the exe and it exists in the explicit
full path or in the users shell path) - if it doesn't tell the user so.

-------------------------------------------------------------------------------

Sun May 17 23:46:55 EDT 1998
(Raster)
Added regex.c for regular expression matching (to be used to match client
names/titlebars using only the "*" wildcard (that is all it supports). I
coudl use full regex - I may do that in future, but for now I have rolled my
own.

-------------------------------------------------------------------------------

Mon May 18 23:09:30 EDT 1998
(Raster)
Added functiosn to create BorderMatch objects in the List and to match
window attributes with a BorderMatch Object and cose a window border style
on this basis. Should *in theory* work - need at least a second border style
to test this out on...
Also added more asnity checks int he configure.in to save idiots form
themselves if they have multiple libraries installed.

-------------------------------------------------------------------------------

Wed May 20 19:40:08 EDT 1998
(Raster)
Added more extended hints for clients to be able to report back to E their
status so E can display icons etc. as will as to if the client is runing,
idle, has an error etc.

-------------------------------------------------------------------------------

Fri May 22 14:33:28 EDT 1998
(Raster)
Screwed aroudn with the extended hints again... moulding them right now...
they need work. Also last night and today completely moved ALL of E's source
to use the interenal debugger system (with debug levels 0-9), that requires
usi macros to start a functiona nd return from it always for internal
accounting. A full release will just define these to be nothing and simple
returns when needed, but for now they will be debugging features for
optimisation purposes and weeding out bugs.

-------------------------------------------------------------------------------

Sun May 24 22:58:55 EDT 1998
(Raster)
fixed some rasing/lowering bewteen client windows bugs after having been
mapped but not moved yet.

-------------------------------------------------------------------------------

Sun May 24 23:21:32 EDT 1998
(Raster)
added timers.c for a timer/interrupt handlign system to be started on. (ie
call a function "In X milliseconds execute this function" and E will safely
exex that function in X milliseconds (or as close to that as it can) - this
needs a global timer queue to be set up, an inserter that will insert a new
timer action into the queue at the right spot modifying the surrounding
members, modifying the current itimer interrupt if needed. Also when an
interrupt happens E should open a second display connection, and then send e
a "fake" event (just a spurious ClientMessage will do or something just to
make E stop sleeping on xNextEvent if it is), so it will go do its events
and after the events are honored will enter the "check timer queu" function
- see if the first member is ready to execute yet, and if it is, remove it
fromt eh head of the queue, execute it, then setup an itimer interrupt for
the next queue member if there is one. That is in a nutshell what I have in
mind that will avoid Xlib sync lost errors (caused by an Xlib call being
interrupted by an itimer fucntion that also calls Xlib calls, confusing the
X server and Xlib itself). This should allow e to set arbitary numbers of
events to happen in X time from now and it should all work. VERY handy for
stuff like acounting (desktop accounting is currently done whenever you
click the mouse - i really should do it every few seconds (lets say 10)),
and autoraise - even animation is possible this way.

-------------------------------------------------------------------------------

Tue May 26 10:03:45 EDT 1998
(Raster)
Finally fixed my stacking problems. I wasn't creating/using/addingto/removing
from the window stack for the desktop properly - makeing the windows go
under the dragbar and buttons with "ontop=-1" (ie onbottom).

-------------------------------------------------------------------------------

Tue Jun  2 17:04:57 EDT 1998
(Raster)
I've been slack keeping up the changelog over Linxu Expo and stuff. Okay.
Just fixed up some wrapper stuff (I didn't have all my memory
allocation/freeing code properly wrapped, now it is and ebgugign is turned
on - it will inform me if i free already freed or non alloced ram, or
similar stuff with realloc).

-------------------------------------------------------------------------------

Tue Jun 2 22:22:00 EDT 1998
(Mandrake)
Okay, damnit.  So now we have a finished (I think) config.c.  Only things left
before release now are to add the default strings file, add it to the install
routine, convert test.c into main.c, and then write the default theme.  Gee,
not asking for much, am I?  *grin*  Well, time to send this puppy into cvs
before the wrath of god strikes me down.

-------------------------------------------------------------------------------

Wed Jun 3 00:03:00 EDT 1998
(Mandrake)
Ahoy, matey!  -Wall -pedantic to the rescue.  I've stripped out test.c to turn
into main.c, I'm going to be adding that file with this update, too.  config.c
should be pretty much done, but I'm not sure if the 
GrabActionKey(ac->list[0])
in Config_Keybind is going to work or not.  raster was a little busy, so maybe
I have to wait until tomorrow morning to find out.  Got to remember to add in
the sound action, too.  I mangled a bunch of code to cease warnings, should
make things a little happier (fixed a lot of signed / unsigned stuff, too --
should make life easier when I decide to try to get this thing to compile on
my alpha.  This thing had better work.  Well, I have GOT to get some sleep.
You know, that work thing.

-------------------------------------------------------------------------------

Wed Jun  3 02:04:04 EDT 1998
(Raster)
Fixed ALL the Warnings (except for the spurious warning from a system header
- bugger if I know why that happens). Added themes and config dirs to cvs -
empty though, and added them to the Makefile.am to start work on them. At
least the directories will be created now. I need to work out how to create
my own cusotm install procedure that wipes $(prefix)/enlightenment if it's
there and also symlinks (ln -sf) $(prefix)/bin/enlightenment to point to
$(prefix)/enlightenment/bin/enlightenment. Sofar the Automake docs don't
help much.

-------------------------------------------------------------------------------

Wed Jun  3 10:20:33 EDT 1998
(Raster)
Added more checks to configure.in to check for an old install of E and
install in the same place if the user didn't select --prefix=something. Also
added symlibk fomr $(prefix)/bin/enlightement to
$(prefix)/enlightenment/bin/enlightenment.

-------------------------------------------------------------------------------

Wed Jun  3 12:35:38 EDT 1998
(Raster)
Did some more configure.in cleanups, moved environment var settign to setup.c
Turned memory debugging off.. this really slows stuff down

-------------------------------------------------------------------------------

Wed Jun  3 17:18:36 EDT 1998
(Mandrake)
*huff huff huff*
Okay.  so now I have added the config dir and the initial definitions file.
That file will have to have a bunch more string definitions added to it, as
I run across them in the config.c loading that I'm going to be undergoing
in a little bit.  But this should be enough for people to start actually
noticing what is supposed to happen with this.  (if only switch was more
mandrake-friendly we wouldn't have this problem...)  I may want to go back
and macro out the switch statements with the ReturnStringReference thingie...
That might make it look a little cleaner, at least.  Still need to
add EDBUG and ERETURN all throughout the config.c file

-------------------------------------------------------------------------------

Thu Jun  4 19:44:06 EDT 1998
(Raster)
Optimised shape changing to only reset the windows shape mask if the
shape_chnages flag in Border is set (or on resize or client shape changes).
Bundles of joy with more speed.

-------------------------------------------------------------------------------

Thu Jun  4 19:55:07 EDT 1998
(Mandrake)
Okay.  Theme loading working its way into the default build.  when main.c is
replaced with test.c now it loads the default definitions file from 
ENLIGHTENMENT_ROOT/definitions (probably should use the config subdir or
something for that...  NOTE TO SELF: should probably change this later)
LoadEConfig now happens off of main.c, as well, passing a configdir string
into it, which is set to 0 now, so it should try loading a MAIN file out
of your .enlightenment directory next.  Which is what I am shooting for now.
the next step is going to be an actual compile and runtime debugging of
loading this default theme that I am brewing up as I write this.  the
default theme (in theory) should come with my next commit.  Scary stuff,
this is.

-------------------------------------------------------------------------------

Thu Jun  4 21:10:15 EDT 1998
(Mandrake)
Hello.  it's me again.  So I've added the stub of a MAIN file in the
e/src/config directory.  I'm also adding liberally to the definitions file.
I'm getting nervous as more of this starts coming together.  I'm trying to
put some comments into the MAIN file as appropriate, too.  I also realized
that I need to do something about setting up local user configs (something
I keep talking about but never actually put int) as well as local user
definitions files that might need to go with the user configurations.  Also
I need to add a CONFIG_LOAD_FILE type to the config loader.  I want peopele
to be able to break this into multiple files again.  maybe have like their
"control" section and a bunch of LOAD commands in the primary file.  So many
things that I'm thinking of at the last minute...
Hey, BTW...  is LIST_TYPE_COUNT supposed to be set to the number of LIST_TYPE
thingies there are?  I upped the value to 13.  (it was 11)

-------------------------------------------------------------------------------

Fri Jun  5 00:37:46 EDT 1998
(Raster)
Added ACTION_PLAYSOUNDCLASS action :)

-------------------------------------------------------------------------------

Sat Jun  6 21:14:34 EDT 1998
(Mandrake)

ARGH!  I can't believe you ran INDENT on my files that I was working on.
no wonder my freakin' macros weren't working right.  I didn't even notice
until I had already mangled large portions of code in config.c.  
*mandrake beams raster over the head with a large fish*
for future reference, my indent command is
indent -kr -ts4 -l80 -cli4
Anyways.  Added proper mask detection into the sucker.  Now the keybinds should
load properly  I mapped Mod1Mask to Alt in the defintions file.  What do 2-5
do?

-------------------------------------------------------------------------------

Sat Jun  6 21:52:34 EDT 1998
(Mandrake)

Okay.  fixed some config.c stuff, added more definitions (they just keep GOING
and GOING and GOING) and added a bit more actionclasses to the MAIN file
in configs.  I keep running into stuff I forgot to take into account, so I'm
going back and attempting to repair various bits as they strike me.

-------------------------------------------------------------------------------

Sat Jun  6 22:44:45 EDT 1998
(Mandrake)

Put up the final to do list.  (see Things.Left.etc)
fixed up some more minor problems in config.c.  Geez, I just keep running
into oversight after oversight.  You would think after working at it for
so long it wouldn't have these little bugs in it, eh?  More definitions
(I think there are more definitions every time I do a commit now, though)
Added the "next" subset as it will apply to action classes.  I can't
believe I didn't realize that the first time I went through.  you need
to be able to bind multiple actionlists.  *DUH*

-------------------------------------------------------------------------------

Sun Jun  7 01:21:07 EDT 1998
(Mandrake)

Yet more config.c changes.  Now I've got some of the borders loading off
of the default config file, too.  All the actionclasses from test.c are
defined properly, too.  the first of the imageclasses should be in
the MAIN file, too.  Somehow, I also forgot to link in Config_ImageClass from
the default config loader.  D'OH!  fixed that.  much better now.  
Also realized that ReadLRTB was not necessary for all imageclasses.
Now it keeps a pointer to the last used and LRTB became a small subshell.
Also, BORDERLESS type is in MAIN, and DEFAULT has been started.  (needed
to check something in now that I have this much modified since the last
one) text classes are in the MAIN file now, too.  Maybe I'll finish this 
some day in the very near future.  More definitions for using fnlib, 
too.  Decided to make MODE_VERBATIM the default mode for fonts, too
(overrideable, of course)

-------------------------------------------------------------------------------

Sun Jun  7 02:14:03 EDT 1998
(Mandrake)

More MAIN additions.  Also, set FLAG_BUTTON as the default borderpart
type.  (that's the one I have been typing so damned much...)
Also, I think I am going to make some of this wmin/wmax,hmin/hmax
stuff oneliners so I can do like w 2 2 and define the wmin/max at the 
same time.  same for the p/a combos like bxp/bxa and byp/bya and txp/tx, 
etc...  I think it might make more sense that way.  also, ontop defaults to
yes now.  I'm tired of typing that, too *grin*  Also, wmax is now automatically
set to wmin's value if you don't set it (same with hmin/max).  Also had a 
typo in config.c (thanks to frb)  Anything I'm typing too much in the
MAIN file is suddenly becoming default configuration options for stuff
*grin*  Wonder why that is?  

-------------------------------------------------------------------------------

Sun Jun  7 11:35:06 EDT 1998
(Mandrake)

Still working on the default theme.  Completed the DEFAULT borderclass.

-------------------------------------------------------------------------------

Sun Jun  7 11:51:25 EDT 1998
(Mandrake)

Still working on the default theme.  Completed the SHAPED borderclass.

-------------------------------------------------------------------------------

Sun Jun  7 12:45:16 EDT 1998
(Mandrake)

Still working on the default theme.  Completed sound initializations.  

-------------------------------------------------------------------------------

Sun Jun  7 13:06:38 EDT 1998
(Mandrake)

Still working on the default theme.  Completed desktop initializations
Also, icl defaults for backgrounds now set to 0 for r,g,b (didn't realize
I didn't do that already)  Buttons, here i come!

-------------------------------------------------------------------------------

Sun Jun  7 13:45:47 EDT 1998
(Mandrake)

Damnit I think the default theme is actually finished now.  *sigh*
Now it's time to debug the loader fully, eh?  I set wmin=1, wmax=99999,
hmin=1,hmax=99999 to buttons by default, too (because that seemed logical)

-------------------------------------------------------------------------------

Sun Jun  7 18:38:28 EDT 1998
(Mandrake)

Okay.  fixed up some warnings in compiling main.c.  My local Makefile is
now also modified to link main.o in instead of test.o.  Loaded the default
configuration finally, DAMNIT!  HAHAHAHAHA it works!  Well, kind of.  Lots of
bugs to work out, still, but this is a serious improvement.  Only a few
hours of hacking to get that to work.

-------------------------------------------------------------------------------

Sun Jun  7 21:53:30 EDT 1998
(Mandrake)

Okay.  Now I'm actually running off this config loading version.  Only a couple
of bugs left in the loader (besides the fact that it's still hardcoded to
pull this bastard out of my home directory).  Desktop buttons don't work right,
and neither do Desktop settings loading.  But for the most part it looks
pretty good.  There is prolly an updated definitions and MAIN file with this
patch.

-------------------------------------------------------------------------------

Sun Jun  7 23:04:08 EDT 1998
(Mandrake)

Damn this button loading piece of crap.  This is seriously annoying now.  fixed
a few bugs in the loader but it's still giving me grief.  lots of debug
textual output in the loader still, but I got rid of most of it.

-------------------------------------------------------------------------------

Sun Jun  7 23:15:10 EDT 1998
(Raster)
At last! I found the "spurious segfault" bug in E... thanks all to a fast
machine and gimp... :) It wasa  amatter of windows being destroyed by the
clients before E finished mapping them. I've now apparently fixed that... :)

-------------------------------------------------------------------------------

Mon Jun  8 00:49:37 EDT 1998
(Raster)
Wheee fixed button loaidng bug.. moved LoadEConfig After MapUnmap(0); after
ages of hunting this bastard down - also optimised initial butotn mapping
and button changing (SimpleShowButton added). Also fixed config files...

-------------------------------------------------------------------------------

Mon Jun  8 01:11:52 EDT 1998
(Mandrake)

Damn it's good to have that bug fixed.  now the MAIN file is loaded from the 
configs subdir of wherever you are.  Much happier.


-------------------------------------------------------------------------------

Mon Jun  8 23:30:06 EDT 1998
(Mandrake)

Well, apparently it wasn't a config loading bug.  the buttons worked just
fine, I just forgot some stuff in the config file.  fixed that.

-------------------------------------------------------------------------------

Tue Jun  9 22:27:34 EDT 1998
(Mandrake)

Added local user configs, also changed the loader to look in the right
paths...

-------------------------------------------------------------------------------

Wed Jun 10 00:32:03 EDT 1998
(Raster)

Finally - cleaned up code, fixed stacking problem, made make install work..
for now, new border theme, it's getting there....

-------------------------------------------------------------------------------

Wed Jun 10 01:33:48 EDT 1998
(Mandrake)

Okay...  now we have a local.cfg file to copy around.  the MAIN file has
had it's pieces hacked out of it into a new file.  Now users can happily
hack what various pieces of their configuration do (and add extra stuff)
without affecting the theme that they're using.  happy happy.

-------------------------------------------------------------------------------

Wed Jun 10 02:12:52 EDT 1998
(Mandrake)

fixed a couple of alert box thingies in the config loader which
SOMEONE (who will remain nameless) commented out.  that's gone.
NOTE: imlib 1.6 is now required for this snapshot to run properly.
someone make a new font, too, for the titlebar.  it's beginning
to hurt my eyes.  too clashing.  Also updated checklist

-------------------------------------------------------------------------------

Wed Jun 10 09:33:44 EDT 1998
(Raster)
Did a security AUDIT on E.... OOOOOOOOH CONFIG LOADER had mountians of
exploits! (the writer of such code shall remain nameless). #if'd out an
annoying alret box whne there isnt a local.cfg for the user, and only MAIN's
-E should silently continu as this isn't a bad thing.

Also added extra redundancy for whne Imageclasses defined for buttons cannot
be found - instead an internal fallback (that is now created) is used.
Also added a fallback border incase a DEFUALT border isn't defined. Also
added fallback Imageclass setting for any border. It mightn't look pretty
(okay it's not bad) but at least things work. Cleaned up 2 nasty wrnings in
x.c

-------------------------------------------------------------------------------

Wed Jun 10 13:43:46 EDT 1998
(Mandrake)

Damnit that alert is useful.  I _WANT_ to keep those defs in a seperate file
and force them there.  your MAIN file should not contain defs for the
actionclasses, so you can hotswap themes at will, and keep local config options
gotta enforce that one.

-------------------------------------------------------------------------------

Fri Jun 12 14:39:37 EDT 1998
(Mandrake)

Added some stuff to the imageclass loader so it now does the sticky and
sticky_active portions, also fixed a bug in the sound on/off loader.
Well, I thought I fixed it, anyways.  Apparently it doesn't really
affect trying to do sounds.  i'm going to try fixing that.

-------------------------------------------------------------------------------

Fri Jun 12 18:04:06 EDT 1998
(Mandrake)

Got annoyed at not having a simple way to do ACTION_GOTO_DESK so
fixed that.  :)  also added in bindings into default local.cfg file.

-------------------------------------------------------------------------------

Sat Jun 13 12:21:09 EDT 1998
(Mandrake)

Apparently raster did some stuff without making notes in the changelog.
have no idea, 'cept that now things are alert'ing again where they
weren't supposed to.  Oh well.  fixed that.  also fixed the alt-f1 ->
alt-f8 stuff to do desktops 0-7 instead of 1-8 (forgot about the
numbering from 0 thing)

-------------------------------------------------------------------------------

Sat Jun 13 12:21:09 EDT 1998
(Raster)

last night and today... I fixed all the snprintf's to be wrapped by Esnprintf
and we have our own snprintf incase the system doesn't have one. I added
MODe_DESKRAY and deskray stuf to put "tags" where the dragbar of each
desktop is in deskray mode ontop of all desktops to be able to drag a
desktop slid underneath others out when in this mode. -also added images for
this.. it all works perfectly.,. added a ListIdemTypeID to list items by
type ANd id (i now use i'ds to class buttons 0 is nromal "user buttons) 1 is
dragbar, 2 is deskray .. etc..all internal use only). I also added images
for verticla dragbar (looks much nicer now), made button dragging mroe
efficient... fixed mandraked gotodesk action... :)

-------------------------------------------------------------------------------

Sat Jun 13 14:04:30 EDT 1998
(Mandrake)

added a little bit of a wrapper in ELoadImage() in draw.c to check
a few path locations to find the image that we're going to try to load.
now you shouldn't have to change subdirs for the images.  Next to do
the same thing for the sounds.  then happy happy that'll be done.

-------------------------------------------------------------------------------

Sat Jun 13 14:25:04 EDT 1998
(Mandrake)

Excellent.  now sound loading has a wrapper around it, too.  Things are
looking to be shaping up.  Now you don't have to do any special setup
to run the default configuration, it should install nicely and run everything
out of the default theme.  next to actually parse the commandline and
get the themepath.  :)

-------------------------------------------------------------------------------

Sat Jun 13 15:55:47 EDT 1998
(Raster)
Fixed file.c's pathtoexec and pathtofile fucntiosn to handle absolute paths.

-------------------------------------------------------------------------------

Sat Jun 13 16:43:01 EDT 1998
(Mandrake)

Made sure that the LoadWav and ELoadImage accept absolute paths (if
they exist)

-------------------------------------------------------------------------------

Sat Jun 13 17:02:15 EDT 1998
(Mandrake)

Now we take a -theme argument on the commandline to set themepath.

-------------------------------------------------------------------------------

Sat Jun 13 17:37:22 EDT 1998
(Mandrake)

added some more settings to the control section of the config file.

-------------------------------------------------------------------------------

Sat Jun 13 20:37:20 EDT 1998
(Mandrake)

Now you can source files using the "file <filename>" operative but only
in the primary loader...  (there is a reason for this that I would
like to solve so you can source at any point, but for now this will do)
Also, I changed out some of the StringCount stuff that I had done earlier as a
temporary hack that I forgot to remove (1 less global variable that should be
gone anyways after the loader is done with its business...)

-------------------------------------------------------------------------------

Sat Jun 13 21:00:37 EDT 1998
(Mandrake)

Um...  well the global variable hack is back.  doesn't work yet without
it.  I _DO_ intend to fix that, however.  

-------------------------------------------------------------------------------

Sat Jun 13 21:12:20 EDT 1998
(Mandrake)

Oh yeah... fixed a bug in launching actions, too.  I had been meaning to
do that.

-------------------------------------------------------------------------------

Sun Jun 14 12:11:43 EDT 1998
(Mandrake)

*sigh*  finally tracked down a bug in the -theme parameter passing.  It 
should actually work correctly now.  Also removed some of my debugging
comments.

-------------------------------------------------------------------------------

Sun Jun 14 13:24:02 EDT 1998
(Mandrake)

ARGH!  more -theme problems.  fixed them.  also, Chutt provided me
with a patch that should lower the RSS in the sound.c department.
put that in, too.  (the -theme problem REQUIRED you give a -theme 
argument.  that's taken care of now)

-------------------------------------------------------------------------------

Sun Jun 14 13:34:04 EDT 1998
(Mandrake)

Also, turned off debug mode.  fixed a bug in EDBUG() if DEBUG isn't
defined.  debug mode is much slower for certain things.

-------------------------------------------------------------------------------

Sun Jun 14 14:28:16 EDT 1998
(Raster)

Added new font to theme - added stuff to config.c to add config dir
./enlightenment and the themedir to fnlib'c search path so fonts can be
included in themes (much nicer) - have a new font tin-e it's small as balls
but readable - as long as you're not driving your monitor beyond what it can
do.

-------------------------------------------------------------------------------

Sun Jun 14 14:48:10 EDT 1998
(Mandrake)

Found and fixed a memory leak on changing drag directions.
Might have noticed another memory leak, still investigating.

-------------------------------------------------------------------------------

Sun Jun 14 16:47:05 EDT 1998
(Raster)

Added detaild memory debug output to aid in hunting down leaks.. hit left
mouse and E will display (printf) a debug output

-------------------------------------------------------------------------------

Sun Jun 14 16:55:54 EDT 1998
(Mandrake)

Changed a few things in the local.cfg file.

-------------------------------------------------------------------------------

Sun Jun 14 17:24:48 EDT 1998
(Mandrake)

-DDBUG_MEM and -DDEBUG should be done at compiletime, not in the source.

-------------------------------------------------------------------------------

Sun Jun 14 17:46:56 EDT 1998
(Mandrake)

added BorderMatch loader.

-------------------------------------------------------------------------------

Sun Jun 14 19:25:15 EDT 1998
(Raster)

Finished Colormodifer creation and applying in iclass.c - shoudl work in
theory.. now we need a config loader section for this..... :) then i can try
it out! :)

-------------------------------------------------------------------------------

Sun Jun 14 20:39:22 EDT 1998
(Mandrake)

*sigh*  this ecvs app thing is being a pain in the ass.  removed some of it
on my part.  Blech.  Fixed the BorderMatch loader to do something useful.
(added definitions, changed config.c, conf.h)

-------------------------------------------------------------------------------

Sun Jun 14 22:15:02 EDT 1998
(Mandrake)

Um, did you even bother attempting to compile cmclass.c?  didn't think
so.  fixed compilation problems, also added into Makefile.am so
now it should actually compile in (need to run autogen.sh again)
Also fixed a bug in my last commit.  I'm getting slow in
my old age.

-------------------------------------------------------------------------------

Sun Jun 14 23:51:37 EDT 1998
(Mandrake)

Fixed another bug in the damned bordermatch loader.

-------------------------------------------------------------------------------

Tue Jun 16 13:16:53 EDT 1998
(Mandrake)

SoundInit() was before LoadEConfig.  DOH!  fixed that.

-------------------------------------------------------------------------------

Tue Jun 16 19:18:04 EDT 1998
(Mandrake)

themes can now be put in ENLIGHTENMENT_ROOT/theme/ now, as well
(absolute path is still checked first)

-------------------------------------------------------------------------------

Tue Jun 16 20:04:51 EDT 1998
(Mandrake)

Fleshed out the ColorModifier loader.  unfortunately, since I don't know
really what it's supposed to do, that makes testing a wee bit difficult.

-------------------------------------------------------------------------------

Fri Jun 19 01:42:02 EDT 1998
(Mandrake)

these are some notes from over the past few days...
Been working on ImageClass stuff, realized that I didn't allow users
to load disabled images for imageclasses.  fixed that bug.  also
worked on class inheritance for the config loader, and allowing
imageclasses to have their own overlays.

-------------------------------------------------------------------------------

Sat Jun 20 17:54:10 EDT 1998
(Raster)

Fixed ColorModifierClasses to work with bakcgorunds and everything.. they
work.. I just need mandrakes loaidng code to work and we're done there...
changed the tin-e font to be cleanerm neater and easier to read. :)

-------------------------------------------------------------------------------

Sun Jun 21 16:07:02 EDT 1998
(Mandrake)

Well, the colormodifier loader should work now okay.  and yes, this font is
much easier to read.  I suppose I'm going to have to write a colormodifier
configuration to read and muck with it now to make sure it works okay.

-------------------------------------------------------------------------------

Sun Jun 21 16:20:46 EDT 1998
(Mandrake)

Hmm... forgot to let you apply colormodifier's to individual images in
the imageclass.  fixed that.  now it'll apply to the whole class if you
haven't defined a portion yet. :)

-------------------------------------------------------------------------------

Sun Jun 21 19:02:51 EDT 1998
(Mandrake)

Now colormodifier curves take x/y coordinate pairs, and they can take
a (theoretically) infinite set per.  Much better.
I.E.
red 0,25 1,60 50,100
I like that lots better than the other way I had.

-------------------------------------------------------------------------------

Sun Jun 21 19:32:06 EDT 1998
(Raster)

fixed a typo in the actions defines that made it look ugly, fixed up the
soudn class stuff to dynamically on demand load samples, and to fre samples
form ram AND esd when soudn is turned off and reload them when turned on
again on demand, on/off sound works properly now, with an icon/button to
toggle it. Will be working on buttons mroe more stuff in E next...

-------------------------------------------------------------------------------

Sun Jun 21 20:53:22 EDT 1998
(Mandrake)

Now GetNextLine (text parser) will substitute in environment variables
during config parsing with $VARIABLE substitution.

-------------------------------------------------------------------------------

Sun Jun 21 21:34:17 EDT 1998
(Raster)

Added several border styles to the list of borders and bordermatches for
them (SHAPED, TRANSIENT and non-resizable (FIXEDSIZE) windows) - and fixed
the shaped window detection routines...

-------------------------------------------------------------------------------

Sun Jun 21 22:02:23 EDT 1998
(Raster)

made "borderless" windows that are borderless  becuase the app requested
being borderless via MWM hints arent slid onto sreen but mapped directly...

-------------------------------------------------------------------------------

Sun Jun 21 22:50:16 EDT 1998
(Raster)

made the arrangement algorithm avoid buttons when arranign windows on
startup and cleanup... :)

-------------------------------------------------------------------------------

Mon Jun 22 11:10:23 EDT 1998
(Raster)

Added change focusmode button and images - didcovered now that
click-to-focus over time has become completely fetn and am working on a fix...
I HATE click-to-focus... its always the first thing to break.... DAMN DAMN 

-------------------------------------------------------------------------------

Mon Jun 22 22:01:08 EDT 1998
(Raster)

Finally fixed click to focus.... WHEEEEEEEEEEEEEEEe! oh what funt hat was!

-------------------------------------------------------------------------------

Tue Jun 23 00:13:45 EDT 1998
(Raster)

fixed missing #ifdef in sound.c - updated things.to.do.....

-------------------------------------------------------------------------------

Tue Jun 23 14:53:30 EDT 1998
(Raster)

fixed pointer focus and tried a fix for click to focus to stop mandrake form
whining....

-------------------------------------------------------------------------------

Tue Jun 23 15:23:08 EDT 1998
(Raster)

added button to change resizemode

-------------------------------------------------------------------------------

Wed Jun 24 01:33:15 EDT 1998
(Raster)

Added buttons for toggling mapslide and deskslide....

-------------------------------------------------------------------------------

Fri Jun 26 00:30:39 EDT 1998
(Raster)

Added buttons for cleanupslide, slidemode, dragdir and dragbarorder and
created buttons for them to config them on the fly, and fixed a minor bug in
the definitons file.. misc typo...

-------------------------------------------------------------------------------

Fri Jun 26 10:16:49 EDT 1998
(Raster)

Added options to the exit function for restart restart_theme and restart_wm
(to restart another wm). :) also added more env vars set by E.

-------------------------------------------------------------------------------

Sat Jun 27 15:20:09 EDT 1998
(Raster)

Lots of things:
removed crappy (possibly copyrighted) bgs form the pix dir. Fixed 
backgroudns to use one of 3 defined.
fixed desktp bg loader to re-use defined bgs
fixed desktop loader and desktop bg refresher to work 100% properly on multi
depth displays (eg 24+8) - foucn accelX has a bug in 24+8 whereby it "loses"
the framebuffer bits for some windows.. will have to ship this off to xig.
fixed desktop refresher to not accidentally load an extra background when
flipping desktops.
fixed dragbars for bottm and right configs to not accidentaly drag too far
to the bottom and right
fixed resizing of window for sizing to the left or up so it remains
stationary, doesnt jump, and doesnt go sldiin away is i resize too clsoe to
0 in those dirs.
truned of dynamic border chaning caus enetscape does ugly things on tis
transients when they close. not sure exactly why right now, but turning it
off makes things ok again.
added more icons for things like dragbar ordering dragdir chaningng and
others...

-------------------------------------------------------------------------------

Sat Jun 27 18:09:32 EDT 1998
(Raster)

Added auto-save on exit funtion - changed config fielnames to be more human
redable and make mroe sense
added theme_pre.cfg file to read
added the user_autosave.cfg at the end

added signal handlers for every signals under the sun. (segfaqult, sigbus,
sigfpe, usr1, usr2, hup etc....)

-------------------------------------------------------------------------------

Sun Jun 28 12:50:14 EDT 1998
(Raster)

modified button loader to look for previous button defs of that name first
and if they exit the new entry modifies the old one rather than creating a
new one... :) now i can go add button gemoetry saving to the saver too.

-------------------------------------------------------------------------------

Sun Jun 28 13:43:50 EDT 1998
(Raster)

Wheeeeeeeeee! now E saves the position of all butotn son edit and whne u
restart theyr'e just where oyu left them (and if you change rsolutions  ie
use the same configs on yer laptop) it will auto adjust for it :)
neat eh?

-------------------------------------------------------------------------------

Sun Jun 28 21:18:40 EDT 1998
(Raster)

Okay added lots of icons for programs and button defs for tham.

-------------------------------------------------------------------------------

Mon Jun 29 00:28:40 EDT 1998
(Raster)

Added autosave toggle butotn - moved defautl butotn locations around, fixed
variable completion bug in config.c

-------------------------------------------------------------------------------

Mon Jun 29 12:26:25 EDT 1998
(Raster)

fixed box resize and move nto to accidentally leave trails.

-------------------------------------------------------------------------------

Mon Jun 29 21:35:36 EDT 1998
(Raster)

Changed clock-to-focuse to raise on click too, fixed minor bug when moving
and resizign widnows ANd chanign desktops....

-------------------------------------------------------------------------------

Mon Jun 29 22:56:31 EDT 1998
(Raster)

Woho! fixed lots and lots of fd leaks in sound... :) ooops

-------------------------------------------------------------------------------

Wed Jul  1 20:18:52 EDT 1998
(Raster)

fixed some other minor nigglies in drawing code.

-------------------------------------------------------------------------------

Thu Jul  2 20:39:00 EDT 1998
(Raster)

Added 2 more buttons for the desktop config and played wiht dox to make it
slicker.. :)

-------------------------------------------------------------------------------

Fri Jul  3 03:19:14 EDT 1998
(Raster)

Made -theme work properly.
added file seracher function and use that now for loading images and sounds.
added theme finder function
added .tar .tar.gz and dirtecotry theme handlign transparently.
added code to clenaup .tar znd .tar.gz themes hwne done.
made the move on desktops other than root not clicker untilt he window is
dragged out of the bounds of that desktop - still flicker then but it's the
best I can do.

*** need to reorganise default theme stuff ot be nice and friendly to users
AND theme makers alike.

-------------------------------------------------------------------------------

1998-07-05  Yo Ric Dude  <ericmit@ix.netcom.com>

	* sound.c (SoundPlay): added necessary changes for esound-0.2.4 api 
	change.  All esd_open_sound() calls now require a string parameter if 
	a remote esd server is to be used, NULL for defaults. Also adds a 
	string parameter to the esd_sample_cache call, to identify the sample 
	by name.  All samples currently have the name "E".  TODO: make the 
	name an event type or sound filename. Also included fix to run sample
 	caching and playing off the same esd socket. A #if 0/1 block switches 
	between esound-0.2.3 workarounds and the new improved esound-0.2.4 api

-------------------------------------------------------------------------------

Mon Jul  6 10:32:26 EDT 1998
(Mandrake)

Ric forgot to actually make the stuff for 0.2.3 work with 0.2.3.
fixed that.

-------------------------------------------------------------------------------

Wed Jul  8 00:08:21 EDT 1998
(Raster)

did lots of minor fixes - fixed theme extraction and file finders, changed
alert messaged to be more helpful, fixed stuff to look smoother when
flipping bakc to desktop 0, and whilst mappign buttons.......

-------------------------------------------------------------------------------

1998-07-05  Yo Ric Dude  <ericmit@ix.netcom.com>

	* sound.c: corrected parameter to esd_open_sound(). fixed 0.2.4
	compatibility section.  cvs versions of each should be in synch.
	The calls to esd_open_sound(NULL) may break under esoundd-0.2.3.

-------------------------------------------------------------------------------

Wed Jul  8 20:59:29 EDT 1998
(Mandrake)

Due to incessant complaints via email, the default esd used in compiles is
0.2.3 once again until 0.2.4 comes out.  (change the #if 0/1 place to
flipflop)  Also, I think I added multi-key modifiers correctly.  not
fully tested, will probably do that a little later.  Back to work on
ConfigEdit...

-------------------------------------------------------------------------------

Wed Jul  8 22:23:53 EDT 1998
(Raster)

Due to lack of incessant complaints via email, the default esd used in 
compiles is 0.2.4 once again.  (change the #if 0/1 place to
flipflop) I also added hide and showing of buttons with actions (with lots
of options) so u can clean out unused buttons as needed - even using regular
expressions for butotn name matching... also fixed sticky window move bug
and a mem leak int he doCleanup() function.

-------------------------------------------------------------------------------

Thu Jul  9 01:28:40 EDT 1998
(Raster)

Fixed sticky window drawing bug.
Fixed bug in config loader for ctrl+lat and ctrl+shit+alt etc.. to work.
did a bit of cleaning in the config files and chnaged all the keybindings to
new ones, now things are much mroe sane...

-------------------------------------------------------------------------------

Sun Jul 12 13:40:02 EDT 1998
(Mandrake)

still updating stuff with configedit.  

-------------------------------------------------------------------------------

Sun Jul 12 23:23:39 EDT 1998
(Raster)

fixed minor rpoblem with initiating other actions whilst another one is in
prograss (ie basically move and resize actions) - excluded these other
actions form being able to happen whilst these "continuing" actions are still
going.

-------------------------------------------------------------------------------

Tue Jul 21 22:08:33 EDT 1998
(Mandrake)

Added Stalyn's xevent patch in.  Hopefully his first of many contributions.
It'll be nice if someone else joins the dev team.  Anyways this patch should
theoretically speed up pretty much all of normal operations, since it's the
primary activity in the primary event loop.  As soon as stayln gets cvs access
I'll let him ramble about his change.

-------------------------------------------------------------------------------

Thu Jul 23 14:25:43 EDT 1998
(Mandrake)

Thanks to Ashley Clark for pointing out a fix for the problems that
various people were having with EROOT not being set correctly (has to do
with unexpected behaviours of putenv vs. setenv -- let's hope this one
will work correctly)

-------------------------------------------------------------------------------

Tue Jul 28 21:16:26 EDT 1998
(Mandrake)

Muahahahaha.  StringList compiled into the primary source tree now :)
I'll try to state this whole thing with one commit (I hope this works enough)
A lot of the more fundamental functionality of enl's file system structure
has been moved into StringList (e/eStringList) as well as the StringList
stuff itself, the debugging macros, et cetera.  e/src/file.c is no more,
also (fully a part of StringList lib).  also, the Alertbox stuff (which
will end up being generically useful for both console and X applications)
was taken and put into StringList.  expect a good deal more to go into
the StringList library over the course of the week.

-------------------------------------------------------------------------------

Fri Jul 31 23:09:14 EDT 1998
(Mandrake)

Changed some stuff in main.c to use the new StringList generic alert box
initialization stuff.  Still have a bunch of work to do there, but it's
coming along okay.

-------------------------------------------------------------------------------

Sat Aug  1 15:19:17 EDT 1998
(Mandrake)

Changed EExit() to return an int and take a (void *) as an argument in order
to comply with the stuff that StringList wants.  all files using EExit
were affected.

-------------------------------------------------------------------------------

Sat Aug  1 16:19:06 EDT 1998
(Mandrake)

Changed the configure.in file to use imlib-config for stuff instead of checking
for various libs (it's a better idea to let users selectively remove support
from imlib if they feel like it, IMNSHO).

-------------------------------------------------------------------------------

Sun Aug  2 11:29:07 EDT 1998
(Mandrake)

Added a patch from Sung-Hyun Nam <namsh@lgic.co.kr> to support X fonts in
text classes, as well as Fnlib fonts.  Especially important for non-standard
language fonts (like kanji, etc).  

-------------------------------------------------------------------------------

Wed Aug  5 21:04:36 EDT 1998
(Mandrake)

Added in a patch from Kimball Thurston <kimball@sgrail.com> to attempt a little
more cross-platform support.  This should help things considerably.
this includes alloca problems, as well as a setenv macro, and a #define for
choosing the shell (IRIX apparently uses restricted mode ksh for its /bin/sh -
evil!)

-------------------------------------------------------------------------------

Sat Aug  8 20:07:21 EDT 1998
(Raster)

Added minor change to CTF event passing code - added anti-aliased truetype
font support.. :)

-------------------------------------------------------------------------------

Sun Aug  9 15:07:34 EDT 1998
(Mandrake)

Good lord.  Removed ewin->state.  Now THAT was a bit tricky.  Everything looks 
okay.  although after mucking with that I think that maybe I should have
gone the other way :)  a little of the iconification stuff in this check-in
(lists.c changes specifically not going in due to severe breakage which happens
at that point)

-------------------------------------------------------------------------------

Sun Aug  9 22:33:12 EDT 1998
(Mandrake)

More General Insanity.  Progress on the iconification front.  fixed the
stuff I mangled in lists.c (put it back the old way, did a simple thing this
time instead of the copmlicated window listing stuff)  ACTION_ICONIFY is
still iffy at best - but it does something now :)

-------------------------------------------------------------------------------

Tue Aug 11 12:15:23 EDT 1998
(Mandrake)

More Iconification stuff.  almost works

-------------------------------------------------------------------------------

Wed Aug 12 13:05:48 EDT 1998
(Mandrake)

Iconification works.  Well, at least kinda.  Actionclasses are left over
as a slight memory leak until I fix that.  also they all look like the
ACTION_EXIT button.  they also all appear in the same location.  well, to
be honest there's a lot left to do, but at least this is the model that will
work :)

-------------------------------------------------------------------------------

Wed Aug 12 19:38:41 EDT 1998
(Raster)

Added program specified position hint support - new default theme. fun.

-------------------------------------------------------------------------------

Thu Aug 13 16:29:39 EDT 1998
(Stalyn)

Well, i added basic support for dock apps. You can use your old and new 
WindowMaker dock apps. There is still lots to be done but this is pretty 
usable. You can change your dock icon in theme_pre.cfg, the one i included 
is just one i found on my hd.  Hopefully raster will make a better looking 
one later.

-------------------------------------------------------------------------------

Fri Aug 14 13:28:51 EDT 1998
(Raster)

Fixed doc support - it actually now works - events are captured on "dock
buttons" so you can drag them around - the events are also passed onto the
dock client window, now random apps aren't docked anymore (fixed ICCCM stuff
for that). Bascially it's working now - maybe not pretty.

-------------------------------------------------------------------------------

Fri Aug 14 17:04:27 EDT 1998
(Raster)

Added code to do slideouts - missingh config reading code for them though.
need to write this in order to test.... :)

-------------------------------------------------------------------------------

Fri Aug 14 19:36:40 EDT 1998
(Mandrake)

Created the actual action class destructors.  well, you don't really
want to run a destructor of an actionclass from within itself.  that was bad.
(we sat staring at gdb for a while on that one *grin*)

-------------------------------------------------------------------------------

Sat Aug 15 16:52:27 EDT 1998
(Mandrake)

Fixed a leak in dockable apps where a useless actionclass was created on the
button the apps dock themselves in.  Should be much cleaner now :)

-------------------------------------------------------------------------------

Sat Aug 15 20:04:18 EDT 1998
(Mandrake)

Changed things to use DEFAULT_DOCK_BUTTON and DEFAULT_ICON_BUTTON
also adddd the icon button def into theme_pre.cfg

-------------------------------------------------------------------------------

Sun Aug 16 01:34:57 EDT 1998
(Mandrake)

Added some config code for the slideout  menus, but they don't actually
work so don't bother.

-------------------------------------------------------------------------------

Sun Aug 16 02:56:26 EDT 1998
(Raster)

Slideouts now.. um.. work.. WHEEEEEEEEEEEEEEE What more ned I say.. need to
actually assing sane actions to the slideout and maybe create some new
actions... but it's there and waiting - the onyl thing.. auto reverse
slideout direction if it can't fit on screen.

-------------------------------------------------------------------------------

Sun Aug 16 11:48:15 EDT 1998
(Mandrake)

pulled windowmatching stuff into it's own .c file

-------------------------------------------------------------------------------

Sun Aug 16 12:39:02 EDT 1998
(Raster)

Slideouts actually do just that now - slide out. use generic speed adjusting
slide function, You can't drag the buttons out of slidouts now either...

-------------------------------------------------------------------------------

Mon Aug 17 00:33:29 EDT 1998
(Mandrake)

Changed everything that said BorderMatch to WindowMatch.  CreateWindowMatch
will no longer take a Border as a parameter in a moment (you assign that
afterwards, as well as an Icon type, which the WindowMatch struct now also
contains a pointer for)

-------------------------------------------------------------------------------

Mon Aug 17 10:37:15 EDT 1998
(Raster)

Fixed autosaver to flag buttons as default_show no if they're not visible -
it wont autosave internal buttons now too. the button hider al;so wont go
around hiding buttons in slidouts now. :)

-------------------------------------------------------------------------------

Mon Aug 17 22:33:34 EDT 1998
(Stalyn)

Alright, i added some code so the docks wont overlap and allows the user
to define a starting dock position and the direction of the docks to be 
sorted. Mandrake will have to add config code for this to be usable.

-------------------------------------------------------------------------------

Tue Aug 18 00:40:40 EDT 1998
(Mandrake)

added configuration for mode.dockdirmode in control segment.  also made
up/down stuff accord with the other modes.  default direction is
right.  you can add a
dockdir right (left/up/down/right)
in the user_main.cfg in the control {} segment

-------------------------------------------------------------------------------

Tue Aug 18 13:14:51 EDT 1998
(Raster)

Now E passes -pedantic again... :)

-------------------------------------------------------------------------------

Wed Aug 19 00:08:48 EDT 1998
(Raster)

Now E passes -pedantic -ansi -Wall -W :)

-------------------------------------------------------------------------------

Wed Aug 19 13:17:07 EDT 1998
(Raster)

Modified E to work with Chutt's stringlist patches...
The EDBUG stuff is a mess in stringlib.. it was never meant to go into a 
library at all...

-------------------------------------------------------------------------------

Wed Aug 19 13:17:07 EDT 1998
(Raster)

Few minor things I did last night....

-------------------------------------------------------------------------------

Fri Aug 21 11:26:06 EDT 1998
(Mandrake)

Hose the iconified window whenever we get a HandleDestroy() request, if
the window is iconified.

-------------------------------------------------------------------------------

Fri Aug 21 12:01:08 EDT 1998
(Mandrake)

Forgot about the double-destroy (because of ewins) which is now fixed.
HandleDestroy() works again :)

-------------------------------------------------------------------------------

Sat Aug 22 17:21:20 EDT 1998
(Mandrake)

A little more work on windowmatches.  took out declaration with border, since
you no longer are required to have borders applied in a windowmatch.

-------------------------------------------------------------------------------

Sat Aug 22 18:32:54 EDT 1998
(Mandrake)

More windowmatch work.  cleaned up a bit of the border matching stuff. :)
this should work much better now :)

-------------------------------------------------------------------------------

Sat Aug 22 19:24:49 EDT 1998
(Raster)

E now keeps your windows on their correct desktops and in their positions on
restart.. :)

-------------------------------------------------------------------------------

Sat Aug 22 20:36:32 EDT 1998
(Raster)

ctrl + left/right/up/down now will scrol; the windows on the desktop about.

-------------------------------------------------------------------------------

Sun Aug 23 14:45:26 EDT 1998
(Mandrake)

added exec functionality to config files.  toplevel command.
you can now run:
exec Eterm -T /path/to/theme (etc)

-------------------------------------------------------------------------------

Sun Aug 23 20:43:06 EDT 1998
(Raster)

Several things....

added REAL icons for dock/icon images.
shading now is in and works.
optimised resize and shape handlers
optimised resizing to use gravity to make it look smoother
added imageclass, textclass and shape propagate queue handlers so E now
queues up draws/redraws/ shape propagations and applies until its idle and
isn't busy fending of expose/maprequest/destroy/user events etc... basically
it looks a bit like gtk's idle handler for draws... :) Basically E shoudl
nwo be bucketloads faster in draws/updates as it onyl does what it has to
and wont get lagged behind, and opaque and normal resizes should be
hellishly faster :)

-------------------------------------------------------------------------------

Sun Aug 23 21:26:16 EDT 1998
(Raster)

Damnit mandrake.. u didnt add a config option for borders for chnages_shape
:-P

-------------------------------------------------------------------------------

Sun Aug 23 23:44:59 EDT 1998
(Mandrake)

Found a bug in iconification.  damn that was rough.  also using memory leak
to my advantage if it occurs. :)

-------------------------------------------------------------------------------

Mon Aug 24 00:27:40 EDT 1998
(Raster)

the shape propagation does lag a litle on opaque resize cause E is busy
handling resizes and thus "lagging" so i changed it on resize to disable
queueing of draws... :) Also added new border style for terminal windows

-------------------------------------------------------------------------------

Mon Aug 24 01:11:25 EDT 1998
(Mandrake)

Icons shouldn't be on top.  d'oh.
Fixed that.

-------------------------------------------------------------------------------

Tue Aug 25 10:29:53 EDT 1998
(Raster)

1. runing programs that start iconified now works (before they just went off
into null space)
2. fixed the windows mapping off into outser space bug.
3. optimised some more to reduce server traffic.
4. fixed up possbile cause of random segfaults every now and again on rare
occarsions.
5. fixed up clients being removed form save set on iconify.. (bad).

-------------------------------------------------------------------------------

Tue Aug 25 14:57:56 EDT 1998
(Raster)

Wheee thanks to me I made E segfault when unmappign some windows.. I got
annoyed enuf to fix it.. also fixed the restart with the same theme (if u
arent using the default) bug whilst passing...

------------------------------------------------------------------------------

Tue Aug 25 17:32:04 EDT 1998
(Kimball)

1. Changed configure.in to define HAVE_STDARGS if stdarg.h is present (needed
   when snprintf isn't around)
2. Changed configure.in to check for big or little endianness, so things like
   sound know when to swap bytes when reading in sound files.
3. Changed Makefile.am and configure.in so that libraries are listed in the
   correct order for stupid compilers (ala SGI) that even tho they are ELF,
   are still order dependent.
4. Changed sound.c so that big endian machines are supported when reading wav
   files and so there aren't any data structure packing problems
5. Added my config to ecvs, converted to sh since bash doesn't work too well
   on the SGI

------------------------------------------------------------------------------

Tue Aug 25 18:27:09 EDT 1998
(Mandrake)

NEVER define HAVE_STDARGS in E.h.  took that out.  wrong wrong wrong.
configure should determine this.

------------------------------------------------------------------------------

Wed Aug 26 00:45:16 EDT 1998
(Raster)

Added max width, height, size toggles, send to next/previosu desktop for the
slideout and a dummy snapshot action - also fixed up race condition segfault
if sliding windows are on.. :)

------------------------------------------------------------------------------

Wed Aug 26 01:33:30 EDT 1998
(Raster)

added Michael's sound patch.. :)

------------------------------------------------------------------------------

Wed Aug 26 18:12:56 EDT 1998
(Raster)

okay reverted to pre-michael's patch.. somehting fucked up here..
also added memory paranoid flag :)

------------------------------------------------------------------------------

Wed Aug 26 22:02:21 EDT 1998
(Mandrake)

okay.  Finally fixed the iconify bug that's been annoying.  added a 
mode.destroy that (when set) will halt traversing down a window tree
inside of HandleMouseUp (frees itself at self-same location)

------------------------------------------------------------------------------

Thu Aug 27 18:16:52 EDT 1998
(Mandrake)

Beginning to put the actionclass destructor back together.
Also fixed a bug in mode.destroy in HandleMouseUp when destroying
buttons from outside the HandleMouseUp loop.

------------------------------------------------------------------------------

Thu Aug 27 23:43:22 EDT 1998
(Mandrake)

Now ActionClasses no longer leak in deiconification.
well, providing the ActionClass destructor actually works correctly, which
it may not quite yet.  

------------------------------------------------------------------------------

Fri Aug 28 00:23:00 EDT 1998
(Mandrake)

Okay.  No more leaky leaky.  This should be the final 
ActionClass/Action/ActionType destructor set.  If I missed something feel
free to fix it but I think this is it.

------------------------------------------------------------------------------

Mon Aug 31 22:02:27 EDT 1998
(Mandrake)

Made WindowMatch apply to icons for windows.
no demo yet (time to make the donuts)

------------------------------------------------------------------------------

Mon Aug 31 23:07:31 EDT 1998
(Raster)

Added gnome WM hint stuff and made it work.. working on it...

------------------------------------------------------------------------------

Wed Sep  2 11:03:17 EDT 1998
(Mandrake)

changed to StringList.h - stupid systems that had stringlist.h already
what were they thinking? :P

------------------------------------------------------------------------------

Fri Sep  4 12:12:07 EDT 1998
(Mandrake)

Several things here:
* removed alloca - changed to Emalloc() and Efree()
* removed alloca.h from E.h as well
* changed HandleXError to EHandleXError (conflicting with imlib symbols)

------------------------------------------------------------------------------

Sat Sep  5 14:51:48 EDT 1998
(Mandrake)

couple of things:
* extracted window embedding code for buttons
* added icon window embedding (using rclock to test)
  (icon pixmaps should come soon)
  only applies if you're not using a windowmatch for the icon for now.
* cleaned up code in various places.

------------------------------------------------------------------------------

Sat Sep  5 18:37:44 EDT 1998
(Mandrake)

icon pixmaps & icon pixmap masks work properly now.  Now to go back to working
on button containers :)

------------------------------------------------------------------------------

Sat Sep  5 22:50:27 EDT 1998
(Mandrake)

DekstopAt -> DesktopAt

------------------------------------------------------------------------------

Mon Sep  7 00:02:02 EDT 1998
(Mandrake)

Upped icon size from 32x32 to 48x48

------------------------------------------------------------------------------

Mon Sep  7 00:44:57 EDT 1998
(Mandrake)

D'oh.  BLAH -> icon wasn't fully changed over.

------------------------------------------------------------------------------

Mon Sep  7 15:22:43 EDT 1998
(Raster)

Added tooltips.c - will work on it when i finalise my ideas for how they will
be displayed.. :)

------------------------------------------------------------------------------

Mon Sep  7 15:37:55 EDT 1998
(Mandrake)

beginnings of some arrange code for icons and dock.
Will work more on that now.
also added 
void **ListItemTypeName(int *num, int type, char *name)
which is very useful, too.  

------------------------------------------------------------------------------

Mon Sep  7 16:05:38 EDT 1998
(Mandrake)

a little more on the arranger.  works slightly better.

------------------------------------------------------------------------------

Mon Sep  7 17:56:05 EDT 1998
(Mandrake)

Save iconify and shaded states.  shaded still needs some work.

------------------------------------------------------------------------------

Mon Sep  7 18:12:26 EDT 1998
(Mandrake)

Shaded restarts work properly now.

------------------------------------------------------------------------------

Wed Sep  9 00:19:38 EDT 1998
(Mandrake)

Fixed a fairly serious bug where you crashed if you attempted to run the
cleanup function on an empty desktop.

------------------------------------------------------------------------------

Fri Sep 11 19:12:53 EDT 1998
(Mandrake)

Pulled out a bit of stuff from iconify.c and dock.c -> using generic
button arranger code now to place new buttons.  arranging north seems
to arrange east for some reason.  need to fix that.  also need to define
start locations for each in config files -> lots left to do there

------------------------------------------------------------------------------

Fri Sep 11 19:54:42 EDT 1998
(Mandrake)

a simple case of = instead of == and that problem is fixed.
still a little bit of oddity sorting up.

------------------------------------------------------------------------------

Sun Sep 13 16:43:42 EDT 1998
(Mandrake)

added a multibyte char patch, courtesy of Sung-Hyun Nam

------------------------------------------------------------------------------

Sun Sep 13 17:00:44 EDT 1998
(Raster)

fixed patch so no wranings happen and fixed offset for shadow draw to be
correct.

------------------------------------------------------------------------------

Mon Sep 14 01:53:53 GMT 1998
(namsh)

minor fix in tclass.c, strlen called twice for X fontset.                       
add X fontset example to user_main.cfg   

------------------------------------------------------------------------------

Mon Sep 14 13:13:48 EDT 1998
(Mandrake)

starting to clean up windowmatch code.  Added stubs for desktop starting.
Still have a bit to go before this works properly.

------------------------------------------------------------------------------

Wed Sep 16 14:25:14 EDT 1998
(Mandrake)

Added a containers.c to E, along with initial E.h mods.  

------------------------------------------------------------------------------

Wed Sep 16 19:06:39 EDT 1998
(Mandrake)

Decided to change directions with button containers.  deleted lots of code.
started some new stuff.

------------------------------------------------------------------------------

Sat Sep 19 13:23:51 EDT 1998
(Mandrake)

Moved locale settings to setup.c from tclass.c (first use would crash
before)

------------------------------------------------------------------------------

Sat Sep 19 16:16:22 EDT 1998
(Raster)

added text.c - much much much much much much cleaner text drawing and 
querying/loading/size examining abstraction - much cleaner.. much nicer.
Needed to be done for tooltips and much much much more.

------------------------------------------------------------------------------

Sun Sep 20 19:08:04 EDT 1998
(Raster)

tooltip display code is now done - simple interface to displaying tooltips -
it works and works well - now what is needed is 1. a config loader for the
tooltip bg setup and the tooltip data itself per action class. - currentyl 
click on the root window to get a hard-coded tooltip example.

------------------------------------------------------------------------------

Sun Sep 20 23:38:36 EDT 1998
(Mandrake)

Fun with Function Pointers. :)  Made the code a little cleaner.
I intend to clean up a few more things in windowmatch.c in a bit, too.
(need buttonmatches, too for the containers)

------------------------------------------------------------------------------

Mon Sep 21 20:02:24 EDT 1998
(Mandrake)

A little more work on containers - also windowmatches used -1 on chars,
so now I'm forcing a signed declaration in E.h -- otherwise on other platforms
there may be some problems.

------------------------------------------------------------------------------

Mon Sep 21 22:02:25 EDT 1998
(Raster)

Just merging and committing stuff I did on Sunday. I'm too zonked to do 
anything else.

------------------------------------------------------------------------------

Fri Sep 25 11:07:18 EDT 1998
(Mandrake)

Changed wait3() to use waitpid() (per request from Brandom S. Allbery)
in handlers.c
no more need for a wait3() check in configure.in, either.
also raster fixed the desktop window dragging stuff where it only flickers
if you move across desk boundries.  (lazy bum didn't have a changelog entry)

------------------------------------------------------------------------------

Sat Sep 26 11:30:02 EDT 1998
(Raster)

Timer queues now done and working.. nice stuff. dead-easy api to it. I now 
have rudamentary auto-generated tooltips coming off ainwods (also added 
actionclass finder to map window id -> actionclass, and a window id finder
for the window id under co-ordinatex x,y on screen - easy stuff)

the tooltip stuff is still evolving. now we really need a tooltip shell 
config loader and tooltip data segments for actionclasses (so infact the
action class dictates what text is to be displayed on the tooltip) and then
we have ready-to-go tooltips - oh one thing.. timeout is 3.0 seconds
currently - hardcoded I know but it will be fixed. :)

------------------------------------------------------------------------------

Sat Sep 26 19:04:29 EDT 1998
(Mandrake)

The first pass at one part of tooltip config loading is done.
still more to come.

------------------------------------------------------------------------------

Sun Sep 27 12:26:52 EDT 1998
(Mandrake)

Now you can specify a dockstartposition inside of a control segment.
it'll look something like this:
dockstartposition 100 200
where those are the absolute x and y coords you want it to show up at.
look for a relative placement system shortly.

------------------------------------------------------------------------------

Tue Sep 29 00:01:06 EDT 1998
(Mandrake)

New Toggle Action for tooltips.
ACTION_TOOLTIP_SET

------------------------------------------------------------------------------

Tue Sep 29 10:02:21 EDT 1998
(Raster)

Fixed Click To Focus - works fully again now - also fixed de-iconify bug 
where de-iconified windows dotn get raised, alos over last few days - 
optimised desktop restackign when flipping, added more gnome hint support,
fixed select event handler to keep[ form stalling on some event systems via 
using XPending to run thru the entire input buffer before selecting again.

------------------------------------------------------------------------------

Tue Sep 29 10:44:04 EDT 1998
(Raster)

Cleaned up non opaque draw code - ready for a cleanup to add more non opaque 
move/resize draw modes

------------------------------------------------------------------------------

Tue Sep 29 14:24:23 EDT 1998
(Mandrake)

Patch for MAX definition - only defines now if not previously defined.
(Fix for AIX)

------------------------------------------------------------------------------

Tue Sep 29 15:55:36 EDT 1998
(Mandrake)

Fixed bug in internationalization support.  Also took out some debug messages.

------------------------------------------------------------------------------

Tue Sep 29 18:12:27 PDT 1998 
(Manish Singh) <yosh@gimp.org>

Redid the Makefiles to be less kludgy

------------------------------------------------------------------------------

Wed Sep 30 20:04:34 EDT 1998
(Raster)

Fixed yosh's Changelog entry to conform... :)
Fixed one last window "flash" when using box move on desktops other than
desktop 0. Looking good now :)

-------------------------------------------------------------------------------

Fri Oct  2 10:10:01 CDT 1998
(mej) <mej@mw.3com.com>

Fixed actions.c so that restarts and execs don't leave lots of useless /bin/sh
-c processes lying around everywhere while still allowing for shell-based
parsing of command-line arguments.  Works for me and should be portable, even
for those using csh on IRIX.

-------------------------------------------------------------------------------

Fri Oct  2 12:16:43 EDT 1998
(Mandrake)

tooltips load out of config files.  see the help button for an example

-------------------------------------------------------------------------------

Mon Oct  5 22:52:42 EDT 1998
(Mandrake)

Added tooltips for most button thingies in the default theme :)
will do the rest of them later

-------------------------------------------------------------------------------

Wed Oct 14 11:55:58 EDT 1998
(Mandrake)

fixed exec operative.  should use parameters now (d'oh)

-------------------------------------------------------------------------------

Sun Oct 18 23:32:20 EDT 1998
(Mandrake)

Desktop Background Properties now autosave and load properly.

-------------------------------------------------------------------------------

Mon Oct 19 01:33:57 EDT 1998
(Raster)

MENUS
MENUS
MENUS

Yes E now hasw MENUS

Ok - they're not completely done.. BUT they work... need to add a menu 
show/hide queue to prvent getting lagged behind, need to add option to turn
menu sliding out on/off (also should add menu sliding in on hide option and
code), need to add fill in the code to read menus from files too, need to 
add code to auto add action classes for executables found in dir building 
menu code to actually exec the dirs, need to add code to apply an arbitary
command to files in the directory if nto executable, and add heuristics
based on file type as to what to do wit the file if not executable. (eg
for imnages heuristics as to how to use the image as a backgroudn and to 
generate a menu thumbnail for that image). Need to non-hard-code any mouse
on root to pop up the menu - need to add lots of other code... BUT at least
menus display and navigation works... and it looks rather sexy if you ask me.
all menus are also "pinnable" or "sticky" and when pinned behave like normal
client windows (you can move them around, kill them, shade them, even iconify 
them, make them sticky, drag them to other desktops etc.)....

This should make a lot of people happy... well start making them happy :)

-------------------------------------------------------------------------------

Mon Oct 19 22:20:11 EDT 1998
(Raster)

There is now enough IPC to querey, get details about, set deaitls for and set 
desktops for all backgrounds. In other words my gui E config program is now
fully capable of setting e's backgrounds itself and getting E's settings.

Also fixed menu reparenting problem... and now the default E menu tries to 
find the installed list of gnome apps to build a menu heirachy out of...
simle bit of code.. but the roto menu now is a gnome apps menu...

-------------------------------------------------------------------------------

Wed Nov  4 11:03:48 EST 1998
(Raster)

Ok.. after a bit if a hiatus....

1. fixed initial stacking of windows.. correct now.
2. added otpion of displayiing of icons at all
3. added option for transients  staying ont he desktop of their group leader 
   if they have one
4. added otpion for if E is to jump to the desktop of the newly mapped 
   transient (above)
5. fixed minor initial porperties setting bug.
6. cleaned up some warnings around the place.
7. fixed timer timeout handler so if a timer queue entry is first put on it 
   isnt instantly timed out if the last idle time was > that the timeout.

-------------------------------------------------------------------------------

Sat Nov  7 10:57:36 EST 1998
(Mandrake)

Yes, same...

1. fixed ecvs.
2. updated everything to use stringlist 0.3.0
3. added tooltips to show the icon_name field for minimized apps.
4. began parser.c -- look for everything in comms.c, setup.c, and config.c
	to merge into here in the VERY near future.  things internally are
	taking a big change here.

-------------------------------------------------------------------------------

Sat Nov  7 17:16:05 EST 1998
(Mandrake)

Initial bit of work in parser.c -- see TestConfigSet for example of where this
might be going, plus the bit of prototype in E.h for ConfigType data structure.

-------------------------------------------------------------------------------

Sun Nov  8 10:38:51 KST 1998
(namsh)

icon_name of the multibyte language. Now, tooltips displayed correctly for
the icon_name.


-------------------------------------------------------------------------------

Mon Nov  9 02:50:21 EST 1998
(Raster)

OOOOOOOOOOH Joy... 1 fix.. CTF works again and 2 alt-tab focus switching...
:)

-------------------------------------------------------------------------------

Sat Nov 14 23:28:46 EST 1998
(Raster)

Recent changes:
added double click event
added virtual desktop support (as in 1 large desktop) - the back end shoudl
all be there... waiting for config changes to go throught to finish it off.

-------------------------------------------------------------------------------

Sun Nov 15 11:30:14 EST 1998
(Raster)

should have fixed the alt-tab focus flips (do a few events before actually
setting the focus to the window since the enter window events etc. that the
raise causes can move the focus away again in sloppy or pointer). areas.c now 
has all the edbug stuff, and has prototypes... may the fun go on :)

-------------------------------------------------------------------------------

Sun Nov 15 19:09:47 EST 1998
(Raster)

Added edge resistance and window snapping.. basically windwos can resist being 
moved over other windows. Yes this is all configurable - but I'm waiting on 
mandrake to finish his config iverhaul so you can actually configure this.. 
for now you get the hard coded settings (turned on, 8 pixels resistance for
other windows and 32 pixles for the edget of the screen). This should make
some people happy :)

-------------------------------------------------------------------------------

Wed Nov 18 16:54:06 EST 1998
(Raster)

Added semi-transparent move mode. - its hard coded as the default tmeporarily.
give ti a go - try it out and have fun :)

-------------------------------------------------------------------------------

Thu Nov 19 10:33:50 EST 1998
(Raster)

commetted a little fix to semi-transparent moves, commited autoraise patch and
then titlebar sizes to title patch.

-------------------------------------------------------------------------------

Thu Nov 19 21:05:21 EST 1998
(Raster)

added session.c. E now does Session management - X11R6 style - If you run a 
session manager (xsm for example) E will register with it and you can let your
session manager now restart E when you log back in for you. This is about
as good as it gets for now. I now need to make E store all client information
when you exit in a session specific file so it can restore that session and
all clients to their desktops/geometry/states.

This will need a little work elsewhere.. but then E will do full 100% session
management from a WM's perspective..

-------------------------------------------------------------------------------

Fri Nov 27 22:24:41 KST 1998
(namsh)

multibyte: remove some buggy code though it seemed work for me and also remove
the unnecessary old commented-out code.

-------------------------------------------------------------------------------

Sat Nov 28 03:22:51 EST 1998
(Raster)

added progress.c - quick progressbar display for when E is actually busy doing 
lots of things. Need to finish it - see FIXME in progress.c

added new menu mode. click on the root window and E will build menus of images 
too for backgrounds - basically E has become an image brouwser :) see
menus.c - in addmenu(); you'll see it pointing E to "/home/raster/pix" to build
a menu tree from that - change that code to point to whatever you like and E 
will build a tree from there. This is also temporary as is much of the menu 
stuff until Mandrake finishes his configuration stuff. Mandrake - I'm STILL
waiting. :o)

-------------------------------------------------------------------------------

Wed Dec  2 12:20:29 EST 1998
(Mandrake)

This doesn't work.  this is a partial commit anyways.

DO NOT TRY TO RUN THIS.  LoadConfigFile just went bye-bye because it was
broked.  should compile but do very little.

-------------------------------------------------------------------------------

Wed Dec  2 16:02:34 EST 1998
(Mandrake)

more config changes.  there is still one more commit to come right after this
one.

-------------------------------------------------------------------------------

Wed Dec  2 18:47:43 EST 1998
(Mandrake + Raster)

lots of work in config.c and parser.c getting stuff working right.
also some changes to session.c that I'll let raster talk about in a bit.

-------------------------------------------------------------------------------

Thu Dec  3 11:18:04 EST 1998
(Mandrake)

First bit of code for cpp in the OLD config loader.  reverted


-------------------------------------------------------------------------------

Thu Dec  3 15:24:10 EST 1998
(Mandrake)

more config bits and the same session.c fix from last night.

-------------------------------------------------------------------------------

Thu Dec  3 16:01:52 EST 1998
(Mandrake)

some more config fixes.

-------------------------------------------------------------------------------

Fri Dec  4 12:03:40 EST 1998
(Mandrake)

attempting to find some places where NULL pointers are getting freed.
fixed a memory leak, as well.

-------------------------------------------------------------------------------

Sun Dec  6 15:09:51 EST 1998
(Mandrake)

ported everything that used the internal lists to using the calls out of
lists.c  - now to break up lists into an array of lists.

-------------------------------------------------------------------------------

Sun Dec  6 18:04:04 EST 1998
(Mandrake)

okay - now each list type has its own list.  type ANY doesn't work right now
but that's okay, nothing uses it right now, so I'll come back and fix that a
bit later.  This should cause a significant speed increase in several areas.

-------------------------------------------------------------------------------

Sun Dec  6 20:15:09 EST 1998
(Mandrake)

Changed to where you will only execute a config file as a script producing
output if it is owned by yourself or uid 0 (root)

-------------------------------------------------------------------------------

Sun Dec  6 20:30:20 EST 1998
(Mandrake)

took out redundant type checks in lists.c - since we already know what type a
list member is now before we start browsing.

-------------------------------------------------------------------------------

Mon Dec  7 21:09:27 CST 1998
(KainX)

sed 's/RasterManglish/English/g'
:-)

-------------------------------------------------------------------------------

Wed Dec  9 12:48:30 CST 1998
(KainX)

Typos everywhere, but this time much more dire.  Typos in the definitions file
seem to cause lots of fun problems....

Also removed a couple cases of $(STRINGLIST_LIBS) in the Makefile.am's.
