0.0.81:
	"maximise" schould be "maximize", replaced it everywhere
	fixed Makefile: has propper depends now, compile objects separately, etc - with thanks to segin
	makeheader generaties c89 compliant comments now
	removed tmp.h - wth was it doing there anyway
	SIGHUP makes matwm reload all configuration files
	propperly free font structures, colors and ignore modifiers
	added exec_onload command to run things from configuration file whenever it is loaded (exec commands will only be executed when matwm starts)
	updated manual about new functions and added some details about configuration behaviour
	reversed order of ChangeLog, and fixed typo in 0.0.52 entry

0.0.80:
	don't try to expand to directions already expanded to
	removed obsolete variable undermouse in client.c

0.0.79:
	removed obsolete selecting of EnterNotify on root window
	don't listen to EnterNotify events from client window to it's frame
	edited Makefile and README slightly to be more clear
	added argument for expand to make it calculate vertical space first instead of horizontal space and default keybinding for it, updated manual about this too

0.0.78:
	fixed client_focus_first() on desktop change
	fixed client_save() wich broke recently due to last changes in client_move()

0.0.77:
	only spaces in default config, no tabs (they fuck up if tabstop is different then mine)
	same for Makefile (where apropriate), 1 tab instead of 2 for intendation
	moveresize client window in client_update(), this fixes maximising/expanding/fullscreening openoffice.org and perhaps some other applications

0.0.76:
	configurenotify() uses functions from info.c to send data now - it used the client structure directly wich made it send faulty values
	client_move() and client_resize() also use the right functions to check if something has really changed
	client_clear_state() now sets x, y, width and height members of client structure as it schould and no more using current client instead of the one passed

0.0.75:
	allocate the right amount of memory in read_file() (was 1 byte too short)
	check if not trying to free a NULL pointer in key_bind()

0.0.74:
	set _NET_WM_ALLOWED_ACTIONS more correctly
	focus newly created windows option (a click can refocus the window under the mouse)
	updated BUGS about click to focus desktop thing in last releaste
	added more details on the focus model into the man page
	if the current window dissapears focus the window that was focussed before that if there is one else the topmost one
	keep taskbar always on top optionally and lots of work to make this not interfere with fullscreen mode
	layer member of client structure is no longer acessed directly by most functions, new client_layer() function is used instead

0.0.73:
	introduces CLICK_FOCUS and DESKTOP_LOCKED flags for better handling of special EWMH window types
	client_focus_first() stuff on EnterNotify, schould also work when click_focus is set

0.0.72:
	introduced client_focus_first() to focus the topmost visible window (called on enterevent for root window or window with DONT_FOCUS flag if no current window is there (in case the current window dissapeared), and on desktop change)
	client_clear_state() now used instead of twice the same code
	client_move() and client_resize() no longer return integer, was used nowhere as far as i know
	title_width renamed to client_title_width()
	introduced client_visible() function to replace a load of assertions
	removed seemingly obsolete or non-necessary initialisation of modifier masks in input.c (default configuration schould always be sane anyway - not makeing this foolproof as users can fuck it up badly anyway)
	added warning about default initialisation of things in default config being important for matwm to work in README

0.0.71:
	fixed overriding stuff by "none" key action and	made keybinder use memory a little more efficient - do not allocate memory for keys that are later overridden

0.0.70:
	fuck support for 0xFFFFFFFE desktops, it messed up support for 32bit platform
	NET_WM_WINDOW_TYPE things override other ewmh hints
	small correction to manual page

0.0.69:
	ignore whitespace at end of config file lines
	avoid a few assertions in eat() that aren't necesarry at all
	str_key return NoSymbol if no key could be found instead of 0
	if a key action doesn't make sence, don't grab the key
	don't grab mouse buttons if there is no mousemodmask
	grab buttons also for mousemodmask|nosnapmodmask if nosnapmodmask is there

0.0.68:
	client_to_border() also raises the window
	don't try to map window list items at iconify, when not necessary
	don't focus desktops or taskbars
	previous claim was bs, only 0xFFFFFFFE desktops can be done as 0xFFFFFFFF would be the sticky desktop, do error checking for it
	leave previous value intact if errorous value set for border_width of desktops
	added modifier mask to disable snapping
	updated manual page about snapping also being for screen edges

0.0.67:
	a few updates to the man page and readme file
	don't include anything from evn.c if DEBUG_EVENTS not defined
	made use of shape extention optional
	ICONIC windows no longer have their own desktop, but their own bit flag - to fix sticky
	added cast for current desktop value at XFree() in ewmh_initialize()
	fixed sticky windows (ICONIC is a bit flag again, no desktop), they will stay sticky after iconifying and restoring, dragging over the desktop edge and restarting the window manager
	don't go to sticky desktop if EWMH hint activates a sticky window
	update ewmh desktop of icons restored to another desktop
	if no windows are hidden for it still exit showing desktop mode
	get_ewmh_hints() renamed to ewmh_get_hints()
	added error checking for desktop count and border width in config files
	dc now is an unsigned integer, so up to 0xFFFFFFFF desktops are now supported

0.0.66:
	prevent focus stealing - EWMH can still set other winows active then the one under the pointer, if this happens a click will fix that
	support for click-to-focus and click-raise
	minor changes and additions to the man page concerning the behaviour of the window list
	when leaving window list, first focus warp the mouse to the new window, then umap the window list - avoiding eventual enter event etc for the window under the window list
	fixed checking for modifiers keys left after key release in window list event handler
	introduced README file
	from now on MIT licence will be used
	support for EWMH NET_SHOWING_DESKTOP mode, and modified iconify_all to do the same thing
	moved sentence about iconifying windows to iconify part, it was wrongly placed with iconify_all description
	if there is a current desktop defined by an EWMH hint, go there (greater then the number of desktops will be threated as the last desktop)
	also clients that were on a desktop further then the last desktop will be put on the last one
	found and fixed serious bug that would cause matwm to forget about restoring windows from the first desktop if quitting while on another
	added info about how to exit matwm, and how it will restore windows at exit in the manual page
	restored old (0.0.5 - 0.0.48) changelog from e-mails

0.0.65:
	updated TODO and BUGS concerning the introduction of the man page etc
	fixed deinstall target of Makefile a bit (man page schould be propperly deleted now)
	client_to_corner() also warps the mouse
	added a bit of info about virtual desktops in the manual page
	added raise and lower key action, added info about button and key actions for raising and lowering in man
	added information about the window list shown when next or prev key action is invoked in man
	resize drag tries to keep window corner under mouse cursor
	added checking for CAN_MOVE bit in client_to_border
	~ in man page replaced by $HOME
	more detailed description of window list behaviour in man page
	replaced break statements in hande_event() with return
	DONT_LIST flag will also be respected for EWMH client list
	listen to NET_WM_STRUT if no NET_WM_STRUT_PARTIAL is there

0.0.64:
	ewmh state only set to maximized if maximised to both directions
	replaced t and b arguments for maximise and expand with u and d (up and down)
	added my e-mail adress in the LICENCE file
	wrote a man page
	topleft, topright, bottomleft and bottomright key actions were replaced by new to_corner

0.0.63:
	obey global configuration file /etc/matwmrc
	separate bits for horizontal and vertical maximalisation
	replaced client_maximise() and client_fullscreen() by client_toggle_state()
	ewmh maximise message can now do separate horizontal and vertical maximalisation
	added default key bindings for hoizontal and vertical maximise (using new h/v argument to maximise key action)
	intendation now done with tabs instead of spaces
	all horizontal/vertical stuff now also works for expand, and for both now l, r, t and b argument can be used to apply these actions in one of these directions

0.0.62:
	update window list when clients iconified/restored/restacked

0.0.61:
	renamed end() to quit(), schould now compile and run on dragonflybsd too
	set value of _NET_WM_ACTIVE_WINDOW to None if current == NULL, as specified by EWMH
	also check if window still exists in button_handle_event and drag_handle_event
	do not try to unfocus removed clients
	always show window id in debugging messages

0.0.60:
	drag modes defined in enum statement
	set input focus to PointerRoot on exit, not root
	GrabModeAsync for keyboard, on mouse grabbing
	cleaned up the mess in events.c a bit
	prevent losing focus better, client_focus(NULL) now possible
	on hiding/removing client, focus is restored to topmost window instead of lowest one
	fixed redrawing of sticky windows when focussed/defocussed

0.0.59:
	added key actions for always on top and stay below, also made them listen the apropiate ewmh hints
	get_ewmh_hints() now looks on wich desktop windows schould be
	several changes/additions here and there to make the above two possible
	ewmh_update_desktop() uses long for storing the data, as i think this is more correct

0.0.58:
	topleft, topright, bottomleft and bottomright key bindings now also contrain to the ewmh workspace
	removed things from todo list that were already done in previous releases
	introduced key action to make windows sticky
	_NET_WM_DESKTOP messages to root window understood, so pager can move windows to other desktops etc
	removed more dumb things from TODO
	XFreePixmap() in client_remove() now right under freeing name, for clarity
	clients_alloc() no longer fails on linusk if there are no clients left
	on exit clients are now reparented in better order (current desktop and sticky windows on top, under it all desktops from left to right order, then iconic windows)
	set input focus to root window on exit - this prevents some problems with clients that steal focus i hope

0.0.57:
	virtual desktops
	_NET_REQUEST_FRAME_EXTENTS and _NET_FRAME_EXTENTS, hopefully handled and set in the right way

0.0.56:
	set wlist_with to initial value from wlist_update() instead of wlist_start (this makes way more sence i think)
	weird

0.0.55:
	fixed bug that made clients with the title "" have fucked up titlebars
	fixed bug in updating the size of titles (buttons_update() was done after call to title_width(), had to be before it)
	only update ewmh state when nececarry @ move/resize
	same for client list
	taskbar and desktop no longer show up in task list, thanks to the new DONT_LIST flag
	fullscreen bit now set for desktop
	fullscreen windows resized on resolution change
	repairered ewmh strutting thing (confused top and right)
	_NET_DESKTOP_GEOMETRY now updated on root window resize

0.0.54:
	handling configurerequests no longer uses client_move() and client_resize(), but sets the cordinates and calls client_update() - so it does not reset state etc, the first 2 functions named are to be called if the user initiated the movement
	removed iconify on _NET_WM_SET_ACTIVE for current window - it is stupid and taskbar knows better apearantly
	removed focus on map, turns out to be annoying
	client_deparents puts windows where the new client_x() and client_y() functions say it is
	free title pixmap on client_remove() - how could i forget that

0.0.53:
	fixed the very annoying bug in mouse warping introduced with previous version
	removed now obsolete references to client_draw_border()
	introduced functions for calculating the internal size of clients, wich makes stuff a little easyer with the border being around the window insit of in it now
	fixed window snapping - it did not yet use client_x() and client_y() to get window positions, wich obviously fucked up with expanded/maximised/fullscreened windows etc
	maximise, expand and fullscreen only work if CAN_MOVE and CAN_RESIZE are set for the client, like they schould (used to work as long as one of them was set)
	CAN_RESIZE will be removed from flags if maximum size and minimum size are equal

0.0.52:
	button_current initialized as None (how could i forget that)
	focus new windows on creation - expirimental, maybe schould be done only if none is focussed yet or click to focus is implemented
	focussing of topmost window after client dissapear fixed - look in stacking, not clients
	title is drawn to a pixmap that is the background for the title window, as this seems to redrawed way faster
	let X draw the border now, as this also redraws faster
	because of changes makeing motif hints property notify response be broken, it was removed - i doubt any application uses it anyway so it is not worth the effort for now

0.0.51:
	updated changelog @ 0.0.49 to state changelog was introduced then, and @ 0.0.50 the forgotten button grab stuff was added
	renamed CHANGELOG to ChangeLog to comply with what is appearantly tradition
	now maximise function takes ewmh_strut into account
	xo and yo members now save the offset of the window when it's mapped, so it can be (hopefully) restored propperly later on
	maximise and expand now check for CAN_MOVE and CAN_RESIZE bit
	implemented a bit more EWMH things
	maximise raises client given to it, not current
	all macros are replaced by functions to give the window's size and position wich are now rather dynamically calculated then stored
	changes in client size or position are now applied by calling client_update(), client_update_pos(), client_update_size() and client_update_title() functions
	added fullscreen state
	moved code around a bit creating a little more order
	removed comment that didn't make sence anymore
	no more warp to spawned windows, this fucks up some apps (xine)
	further EWMH implementation
	changed drag function to work with EWMH stuffs, also made it restore the client if it iconic
	fixed iconify_all function that broke when stacking and clients variables were separated

0.0.50:
	fixed bug that would sometimes draw a little square in the topleft corner of the root window
	added support for motif move hint and motif resize hint schould be fixed too
	attempted to make enum statements in matwm.h more readable
	stacking now keeps the stacking order of clients, clients keeps them from oldest to newest - and client_number() lets you specify one of those to dig trough
	introduced "layer" member in client structure, wich defines the layer of the window (always on top, always on bottom etc)
	partial EWMH implementation
	if the CAN_MOVE or CAN_RESIZE bits are not set for a client, accordingly the buttons for that will no longer be grabbed

0.0.49:
	introduced changelog
	new windows map under window list or window currently being dragged
	button_current now uses a value of "None" instead of the root window to define there is no current button
	client_focus checks if window is really viewable before setting input focus
	window list puts off screen windows on screen if they are chosen - with new client_save() function
	renamed handle_button_event() to button_handle_event()
	fixed bug in get_mwm_hints() that made it possible in weird conditions a call to XFree would be apropriate but not done, and it now passes mwmhints variable directly to XGetWindowProperty()
	on exit clients are deparented in reverse order, as this has some advantages over the old method
	removed useless get_wm_transient_for()
	fixed wlist_end() segfaulting if current == NULL

0.0.48: last entry that came from an email
	added "iconify_all" key action (defaults to mod4-a and control-mod1-a)
	dont stop looking for arguments after -display argument - have i been drunk?
	graphics contexts initialization now smaller - half of it didn't really make sence (setting values to the default value, set a value and then set it again before use), maybe copied those lines from yeahwm

0.0.47:
	faulty printf() call in xerrorhandler that caused segfaulting fixed
	more checking if windows still exist and has_client() has been replaced by has_child() in x11.c (wich allows to do checking on any set of parent & child as opposed to a client structure)
	don't warp to new windows when dragging or if window list open

0.0.46:
	move() foolish configurenotify sending of old coordinates fixed
	default configuration has bindings for people with a windoze key now
	adding a key to matwmrc leaves default key bindings intact now, they can be reset with the "resetkeys" command
	also if a new key binding is added the last one set will be used instead of the first one now
	moved a lot of functions from client to the new actions.c, including all content of icons.c to make stuff a little more organised, and isunmap() predicate placed in x11.c

0.0.45:
	client_focus() makes more sence - introduced client_set_bg() so it doesn't have the same stuff twice
	fixed input focus stupidity with wlist_end() (introduced in .44 i think)
	extra debugging stuff and other details
	mwm hints fixed up once again, i broke it some time ago

0.0.44:
	fixed major bug in remove_client, that could induce segmentation faults (the loop to pull a client out of the array went one client too far)
	fixed input focus not always updated when restoring iconified clients bug
	check if client still has a window on most events exept destroynotify
	made redrawing of buttons, and title more efficient
	buttons dissapear if they dont fit on the titlebar anymore
	makeheader is a shell script now (wich depends on sed)
	dont need to unmap buttons when no titlebar on a window, so we don't do this anymore
	cleaned up code a bit (better naming of functions etc)

0.0.43:
	previous claim on x errors were a bit utopic, but remove_client() now does an XQueryTree to see if the window in it still exists and hopefully matwm doesnt try to mess around with destroyed windows that much anymore now
	window buttons schould now act a bit nicer visually, as in when the mouse is clicked and dragged off the button and back on it the square indicating it is selected not (re)apearing whilst releasing the button would do nothing at all

0.0.42:
	rc file doesnt use ':' as separator anymore (just whitespace now)
	"exec <command>" line in matwmrc file schould run <command> on startup
	select() loop now makes more sence, and won't get cought in XEvent() blocking it because it assume data == event
	any x errors occuring schould be history (new stupid ones introduced by buttons fixed, and also the old badwindow errors that happened because of mouse entering the parent window when a client window dissapeared triggered useless call to focus())

0.0.41:
	buttons are now only activated when the mouse has not left them before releasing after its clicked
	if -display used exec now puts DISPLAY evironment variable accordingly in spawn() function

0.0.40:
	minimise button can now change
	no more inactive foregroundground on active background, but squares around buttons

0.0.39:
	button parent window now acts like root window
	client structure members "state", "title", "border" and "resize" are now replace by the bit mask "flags"
	added "title" button action, wich toggles the title bar of a window on and off
	buttons schould now be unmapped if the window has no title
	fixed bit mask stupidity that made broke shaped windows totally & add_client now calls set_shape instead of doing the same as set_shape

0.0.38:
	window buttons implemented
	expand function now makes sure the window isn't maximised

0.0.37:
	fixed calculation of other windows their height in expand()

0.0.36:
	doesnt let window list become wider then the screen now
	added expand() function, and key action for it
	renamed cmpmod to cmpmodmask
	iconic, maximised, expanded and shaped members of client structure are now replaced by the bit mask in member called "state"

0.0.35:
	fixed read_file() - add final zero if no EOF read or something like that, was long ago
	fixed DestroyNotify handling - mapping a window and immediatly destroying it schould no longer bring trouble
	erm duno what else its been long confusing time

0.0.34:
	abandon stupid objects stuff in makefile and add header, install and deinstall targets
	fix pointer stupidity (@ config.c)
	made read_file() work fox linusk too and add fix for in case no eof is read
	add font boundary stuff for window list and set fixed as default font ("*" is no good at all)

0.0.33:
	new makefile - including clean target
	fixed bugs introduced with pointer stuff @ maprequest and configurerequest handling - they sometimes acted faulty
	misterious badwindow errors gone somehow
	if current client is iconified, focus first client
	if there are only iconic clients dont set offset for them
	split off a deparent_client function from remove_client funtion, to make stuff less dirty (confusing fc argument, unnecesary if()'s)
	understands -display and -defaults arguments now (first one is obvious, other one prints default configuration to stdout and exits)
	perhaps bugfixes i forgot

0.0.32:
	cleaned up some code
	fixed some bugs
	added ignore_modifier option

0.0.31:
	new configuration thing (and erm can launch programs now)
	maybe several bugfixes
	prolly several bugs

0.0.30:
	all clients are now pointers
	windows are now sorted, and icons are separated in the window list
	windows with no name are given a title
	etc

0.0.28 & 0.0.29: one mail was about these two versions, yet included none
	.28 -> latest version i had with taskbar, prolly includes bugfix but dont know exactly what
	latest version now officialy has window list instead of taskbar, but maybe i revert this if it turns out to have problems too
	also cleaned up the code a little, and button actions are now no longer strings
	note that configuration stuff has changed a little since taskbar removal - the mouse buttons stuff

0.0.27:
	fixed stupid thing i forgot when adding the new icon stuff
	prolly forgot stuff i did too

	as this release seems to be pretty stable next thing to to is rewrite the configuration stuff to break it again i gues

0.0.26:
	fixed stupid bug with redrawing icons
	changing resolution/size of root window doesnt fuck up anymore

0.0.25:
	forget to mention at .24 a licence was included and "snap 0" schould be "snap: 0"
	added window snapping to the resize windows
	doesnt re-use parent windows as icons anymore after all, this gives problems when matwm gets brutally murdered or would it segfault or anything concerning the placement of windows

0.0.24:
	now uses total_width and total_height macros for a little cleaner code
	window snapping is added (put "snap 0" in .matwmrc to disable)

0.0.23:
	signal handling function rewritten to work with xorg 7.4 - maybe other little things too
	configuration stuff for modifier keys improved a little
	updated default key bindings to be a little sane
	fixed bug concerning the maximalisation of windows without title bar

0.0.22:
	compiles on linusk now (no more strlcat cpy etc but strncat)
	linusk also needed a header for uint32_t etc but they are no longer used as turns out motif wm hints are returned as long integers not 32 bit pieces as many code and manual for XGetWindowProperty suggest
	speaking of wich, mwm hints got fixed up a little more - somehow xmms, xine and mplayer did fine before but how it are miracle
	anyways i verified this by comparing the values matwm reads to xprop output and its behaviour to mwm's
	this was not yet tested on 32bit platforms tho - but i am quite sure it will work there
	but ftw @ fvwm's decorations.c using 'int' datatype for all values in mwmhints structure - evilwm and yeahwm use uint32_t i think, schould check that out

0.0.21:
	fixed mwm hints once more hopefully mplayer and xine now behave better

0.0.20:
	shape thing fixed, transient windows recognised etc - xmms and xine schould now really work

0.0.19:
	major bugfix - no more dissapearing windows (cause identified but not understood - unmapnotifies when there is nothing unmapped, x are crazy?)
	on destroynotify no longer trying to do stuff with window that is gone - still some misterious and less misterious badwindow errors possible but this is supposedly harmless tho i want it fixed (what if a new window with same id appears suddenly)
	mwm hints fixed up mostly i hope

0.0.18:
	focus behaviour fixed: enterwindow events on client window are now also handled
	handles motif wm hints now, but work is to be done on that
	shape extension things work now

0.0.17:
	xrm_getint() now works so border width etc can be set from configure file
	gravity now works

0.0.16:
	removed some plain stupidity - me tired head forgot somewhere in the past that several strings from default config (mouse button actions) compared with strcmp were NULL

0.0.15:
	fixed bug in binding keys (now handles mappingnotify)

0.0.14:
	fixed shift lock bug (keybinds did not work if it on)
	made config thing little cleaner
	etc

0.0.13: mail was empty

0.0.12:
	fully configureable now

0.0.10:
	handles window state stuff better now
	unmaps client window for iconifying and re-uses parent window as icon
	bugfixes

0.0.9:
	major redesign - moved code around a lot hoping it would make more sence then
	xerror handler now searches for client to wich resourceid belongs
	fixed some bugs (including stupid mistake @ minimise thing)
	maybe introduced new bugs because maties @ almost 40hrs of uptime

0.0.8:
	added taskbar / iconify thing
	introduced new bugs
	removed focus previous window on remove_client because it were crap
	event loop modified
	atoms now have xa_ prefix and wm_hints is used for other purpose
	etc etc

0.0.7:
	reduced flicker considerably - draw_client() after each resize
	move() and resize() dont act if client already has the requested size and drag only calls them for last motionnotify in que now
	next() and prev() now have argument to set wether to move pointer towards newly focussed window

0.0.6:
	hopefully less foolish and agressive response to unmaprequests
	changed focus behaviour -> if there are windows there shall be one focussed

0.0.5: changelog was part of e-mail i sent to myself at each release from this one on to 0.0.49 when real changelog was introduced, recovered changelog from all those mails at version 0.0.66
	done some bugfixes and cleaned code up a little
	made draw_client() (formerly client_draw()) draw border to window frames

