LOGIN / SIGN UP

/ ChangeLog.aewm++

2 Commit: 40f502e9815fc0586b7cbec502e9fbcf3e3ca8b1
Author: Claes Nästén
Date: Wed Feb 22 21:32:35 +0100 2006
Subject: Reorganize subversion archive
No file history, only one commit
ChangeLog.aewm++
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
1.0.16 (6 Feb)

* Remove key grab for escape key when we weren't using it.
* Small focus issue change.
* Fixed a function in windowmanager.cc which wasn't deallocating memory after it was used.

1.0.16-RC3 (2 Feb 2002)

* Fixed problem with reverting focus under sloppy focus.
* Merged in a patch from David Lawrence Ramsey which contains the manual page
formatting fix, the new icon and rcfile change for appbar, the typo fix for
setrootimage. Also added more support for NET_WM hints in fspanel, aewm++
has also been updated to add support for this. This changed involved hints
for virtual desktops. Also in this patch is a minor change to
windowmanager.cc where I accidentally left some code over when NET_WM hints
were configurable.
* Added a disclaimer to the README of fspanel so that it states that it is
not the official version but an updated version with changes by me and
others involved with this project.

1.0.16-RC2 (28 Jan 2002)

* Fixed a focus problem when reverting to a previously focused client (ie.
when you close a client it reverts focus to the next client in the stacking
order).
* Made a small change in appearance of unfocused windows. The line which
separates the small box in the right corner is not painted. Its only painted
on a focused window now.
* Changed back the code which initially maps a window. I though withdrawn
windows shouldn't be mapped. I think I am confused =) Withdrawn windows
will now be mapped initially.
* Changed default focus model to sloppy.
* Got rid of -arch=686 in appbar's and setrootimages Makefiles.

1.0.16-RC1 (26 Jan 2002)

* Added in David Lawrence Ramsey's hyperbolic gradient patch. This is added
to appbar and to setrootimage.

1.0.16-pre11 (20 Jan 2002)

* Changed the fork function in misc.cc to check the length of the
command to execute if its zero length then obviously don't fork
anything.
* Hopefully squashed the bug which would cause aewm++ to lock up.
* Badly needed updates to the manpage.
* There are only 2 command line options to execute commands via button clicks
they are -new1 and -new2 which coorespond to the left and right mouse buttons
respectively. This is the best compromise I can come up with and still have
the middle button pop up the icon menu.
* Fixed -fn option. The user select font was not being used for unfocused
windows.

1.0.16-pre10 (18 Jan 2002)

* Fixes to LinkedListIterator
* Iconifying clients with transients will correctly iconify all transients
and vice versa.
* Minor updates to appbar so that it disables always on top hint and strut
when hidden.

1.0.16-pre9 (15 Jan 2002)

* Merged in David Lawrence Ramsey's patch which fixes typos in the man page,
Changelog and in windowmanager.cc.
* Code cleanup, got rid of DEBUG code. It was hardly ever used anyway.
* Clean up in client move code.
* Window manager keeps track of the command line which started the window manager
upon restart the same command line is used.

1.0.16-pre8 (13 Jan 2002)

* More work on focus issues. Should be just about right now!
* -fm click|sloppy|follow are the commandline options for focus model.

1.0.16-pre7 (12 Jan 2002)

* Updated the commandline option -usage.
* More clean ups in windowmanager.cc.

1.0.16-pre6 (12 Jan 2002)

* Merged in David Lawrence Ramsey's focus policy patch. Seems pretty
close to the code in pre5 however we will go with his.
* Fixed problem with focus when switching desktops with the key combos.

1.0.16-pre5 (3 Jan 2002)

* Initial support for sloppy focus and click to focus and configurable
from the command line.

1.0.16-pre4 (31 Dec 2001)

* Initial configuration handlers for sloppy focus, click to focus and
focus follows mouse added but commented out.
* Added LOOKING_FOR_HELP file which describes that this project is
in need of help it provides contact information.

1.0.16-pre3 (29 Dec 2001)

* Added a patch which changes the fspanel to have buttons for virtual
desktops instead of arrows. I can't remember who sent me this patch. If
it was you email me so I can give you credit.

1.0.16-pre2 (29 Dec 2001)

* Updates to setrootimage in goodies subdirectory. It now takes advantage
of all of the style options provided by the blackbox image code.

1.0.16-pre1 (29 Dec 2001)

* Got rid of compile time option NET, the extended hints are compiled
in automatically. There is no reason not to have them as they don't
rely on any external libs or anything.
* Some clean up in client.cc.
* Clean ups in man page.

1.0.15 (28 Dec 2001)

* Changing code which deals with window positioning and size. Trying to fix
the bugs I introduced in earlier versions.
* Fixed setting of the NET_WM_STATE property.
* Clients now look for NET_WM_STATE when they are created and will set
states appropriately.

1.0.15-pre2 (23 Dec 2001)

* Changes to configure event handler and unmap handler and also
strut positioning.

1.0.15-pre1 (22 Dec 2001)

* MJ Ray's patches.

1.0.14 (8 Dec 2001)

* Changes in configure event handler of client.cc fixing up a few
issues dealing with width and position.
* More changes to init_position in client.cc, trying to make
it more aware of apps that set struts when windows are initially
positioned.
* Added key combo ctrl-alt-end to exit the window manager.
* Added key combo ctrl-alt-delete to restart.
* Set appbars position and size (XSizeHints).
* Looks like I fixed the scan_wins problem. (time will tell)
* Made transients not able to use the window menu.
* Added an xsession directory to goodies, put xsession.c in it and added
a README file explaining its usage and how to compile it and install it.
* Update INSTALL file.
* Added GenericMenu class, its purpose is to provide common functionality
used in both the iconmenu and the windowmenu.
* Changes to Makefile.
* Fixed bug which caused some windows to stick around when closing
aewm++ and starting another window manager.
* Tweaked the struts for goodies/fspanel.
* Added xsession.c from aewm/goodies to the goodies directory.
* Code clean up in client.hh and client.cc.
* Don't allow reparented transients to iconify themselves from the titlebar.
I was disallowing this from the iconify function which was wrong because
we still want to be able to iconify transients sometimes for instance if
xmms is iconified we want its playlist or equalizer to iconify with it.
* Added support for clients checking what desktop they want to start on.
Thanks to Jeremy Naylor.
* Changed invert_gc back to use GXinvert instead of GXxor, seems this
wouldn't work on some versions of X but worked with 4.1. Go figure!
* Small fix so that frame doesn't propagate some masks.
* Put the titlebar in its own window, now aterm's transparency works.
Probably other apps which use transparency work as well? Time will tell.
* Fixed a couple header problems with goodies/appbar and goodies/setrootimage
* Clean up in BaseMenu
* Moved iconify to button press code instead of button release in client.cc
* Fixed the buggy icon menu that I released yesterday (damn!).
* Small fix in linkedlist.cc, I was using the function exit() but
forgot to put #include <stdlib.h>. I am still wondering how gcc 2.95.3
fails to recognize this as an error.

1.0.13 (11 Nov 2001)

* man page updates
* README updates
* A little clean up in the makefile
* Added icon menu
* Fixed a bug which caused a crash when an app called worker was closed
* Fixed the KeyPressMask problem that globally grabbed the
page up and page down keys
* Fixed a few things which prevented it compiling cleanly with gcc 3.x
It has a more strict C++ standard than gcc 2.95.3 which I use

1.0.12 (6 Nov 2001)

* Code cleanup in basemenu
* Initial window placement is now strut concious
* Added appbar to goodies directory.
* Added my patched fspanel to goodies directory.
* Fix for slightly broken opaque move, window would jump slightly off on the
y axis when grabbed for the first time. This was due to a change in send_config.
* Fixed an annoyance which caused some windows to be movable, maximizable,etc
from anywhere on them clicking/double clicking.
* Fix a typo in aewm.hh and Makefile involving setenv.

1.0.11 (3 Nov 2001)

* made it so transients can't be iconified.
* fixed up _NET_WORKAREA to take into account _NET_WM_STRUT that have
been set by clients.
* made it so that transient windows can't be maximized. I haven't
encountered a time yet when I needed to maximize one. =)
* code clean up in client.hh and client.cc
* fixed a bug in switching desktops which wouldn't take into account
if a window was iconified and it set its state to Withdrawn.
* added _NET_WM_STRUT support.
* added a setenv() function for those Unix systems that don't have one.
thanks to Jeremy Naylor for this patch! This is a compile time option.
Edit the Makefile and uncomment #NEED_SETENV in the DEFINES line.
* Fixed bug which involved Gimp starting and looking like it had
the focus when it really didn't.
* Tweaked click to raise window.
* Tweaked the setFocus function.
* Fixed motion handler to make sure button1 is the only button
which can drag a window.
* Small fix on _NET_ACTIVE_WINDOW, it wasn't actually setting the focus.
* Added support for _NET_NUMBER_OF_DESKTOPS client messages.
* Added support for _NET_CURRENT_DESKTOP client messages.
* Added support for _NET_CLOSE_WINDOW client messages.
* Added support for _NET_WM_DESKTOP client messages.
* Clean ups in aewm.hh
* added -es option for edge snapping. Used -es [true|false].
default is true.
* Updates to the man page
* Started adding support for net wm spec.
* Reworked client move code. Added opaque move.
* Added -wm (wire move) option for commandline.
* Linked List clean ups.
* Added check to maximize function so that clients don't get maximized
past their max size if they set this property.
* Added edge snapping, if a window is within 10 pixels of the edge it
is snapped to the edge.
* Tweaked client raise on click.

1.0.11-pre9 (2 Nov 2001)

* made it so transients can't be iconified.
* fixed up _NET_WORKAREA to take into account _NET_WM_STRUT that have
been set by clients.

1.0.11-pre8 (1 Nov 2001)

* made it so that transient windows can't be maximized. I haven't
encountered a time yet when I needed to maximize one. =)
* code clean up in client.hh and client.cc

1.0.11-pre7 (31 Oct 2001)

* fixed a bug in switching desktops which wouldn't take into account
if a window was iconified and it set its state to Withdrawn.

1.0.11-pre6 (30 Oct 2001)

* added _NET_WM_STRUT support.
* added a setenv() function for those Unix systems that don't have one.
thanks to Jeremy Naylor for this patch! This is a compile time option.
Edit the Makefile and uncomment #NEED_SETENV in the DEFINES line.

1.0.11-pre5 (28 Oct 2001)

* Fixed bug which involved Gimp starting and looking like it had
the focus when it really didn't.
* Tweaked click to raise window.
* Tweaked the setFocus function.

1.0.11-pre4 (23 Oct 2001)

* Fixed motion handler to make sure button1 is the only button
which can drag a window.
* Small fix on _NET_ACTIVE_WINDOW, it wasn't actually setting the focus.

1.0.11-pre3 (22 Oct 2001)

* Added support for _NET_NUMBER_OF_DESKTOPS client messages.
* Added support for _NET_CURRENT_DESKTOP client messages.
* Added support for _NET_CLOSE_WINDOW client messages.
* Added support for _NET_WM_DESKTOP client messages.

1.0.11-pre2 (21 Oct 2001)

* Clean ups in aewm.hh
* added -es option for edge snapping. Used -es [true|false].
default is true.
* Updates to the man page

1.0.11-pre1 (14 Oct 2001 - 20 Oct 2001)

* Started adding support for net wm spec.
* Reworked client move code. Added opaque move.
* Added -wm (wire move) option for commandline.
* Linked List clean ups.
* Added check to maximize function so that clients don't get maximized
past their max size if they set this property.
* Added edge snapping, if a window is within 10 pixels of the edge it
is snapped to the edge.
* Tweaked client raise on click.

1.0.10 (Oct 13, 2001)

* ICCCM fixes for setting focus on a client.
* Code clean up in client.hh and client.cc
* Got rid of compile time option of Motif hints. There was no real reason
to have this as an option because it doesn't involve any external libs,
and is simply checking Atoms on the X Server.
* Fixed self inflicted bug which ignored windows which were already mapped
when aewm++ started, this would cause servere problems and make the wm
hang.

1.0.9: (Oct 11, 2001)

* Small change in quit function in windowmanager.cc involving clearing
of the client list.
* Fixes in window state and mapping functionality.
* Added a new goodies directory. Added a small app which lets you
set your root background to a nice gradient.

1.0.8: (Oct 9, 2001)

* updates to the README file.
* Implemented always on top windows via the GNOME hint WIN_HINTS_DO_NOT_COVER.
* The previous bug fix for the xpdf bug wasn't the correct fix. It wasn't
getting the correct width and height so I had to call XGetGeometry to fix
this.
* Small bug in windowmanager.cc in the configure request handler. It
didn't cause any errors that I saw but there was a small error in the code.

1.0.7: (Oct 7, 2001)

* Added text justify option to commandline -tj pass it left, center or right
to justify the window title in the titlebar.
* Fixed window stacking order preservation when switching virtual desktops.
* Did some code clean up in client.cc
* The goodies which were part of aewm have been removed. If you want them
download aewm.
* Fixed the xpdf bug which caused it to not get reparented.
* Makefile updates.
* Tweaks to the mouse button handling.
* Small bug in edge detection for menu's which caused the menu to
be displayed with a (y) position which would put it out of range
of being viewed. This manifested if you have a window low on the screen
and tried to view its window menu.
* A Window Menu has been added to allow for switching clients to different
desktops. Also you can maximize/restore, shade/unshade, lower or close.

(ISSUES: fspanel doesn't know when a window has changed desktops,
I had to patch it to make it update the task list. I'll make that
available soon.)

1.0.6: (July 28, 2001)

* Fixed bug that made Xnest cause a BadAccess when trying to load it.
* Added partial support for GNOME hints. Enough to get it working with
fspanel.
* Some code cleanups for virtual desktops.
* Windows get raised after they are unshaded.
* Fixed unmap bug which creeped up again. MJR's solution was indeed correct.
this wasn't immediately obvious. You could see the bug if you used fspanel.
some windows were being unmapped however they didn't need to be managed anymore
and should have been deleted. This would manifest as extra tasks on the fspanel.
* Clients with transients like xmms will unmap there transients when unmapped. (needs more testing)
* You can click anywhere on a client to raise it.

1.0.5: (July 27, 2001)

* Virtual Desktops
* Focus highlight color - Window with focus has a different color from unfocused.
* Added -md (max desktops) option to command line.
* Added maximize and unmaximize functionality to clients by double clicking
on titlebar.
* Added shade and unshade functionality to clients by middle clicking on
titlebar.

1.0.4: (July 22, 2001)

* unmap bug fix.
* a few small minor changes.

1.0.3: (C++ version by Frank Hale)

* Converted aewm-1.0.3 to C++. All regular functionality is still
the same as the C version.

-- aewm (C version Changelog below) --

1.0.3:

* Backport new init_position, -version option, new man pages, and
panel-misc.c crasher/overflow fixes.

1.0.2:

* Backport -lXt fix and new documentation.

1.0.1:

* Fix remove_client so that it compiles with -DDEBUG turned on.

1.0.0:

* All right, I think we're stable now. New stuff will go into 1.1.x.
* Changed init_position so that it doesn't cut off very large
windows. This was merely annoying for regular windows, but it was
downright buggy for incsized ones.
* Fixed compilation bug when shape support was disabled.

0.9.19:

* OK, I broke command line parsing again. Yes, I'm an idiot.
* Fixed problem with exec()-ing a non-existent program.

0.9.18:

* Fixed bug in init_position; we can safely use PPosition now. If
windows start popping up in bad places, check their size hints
before yelling at me.
* Use fork/exec instead of system(3) to run programs. Fixed signal
handlers to reflect this (we need POSIX sigaction(2)).
* Cleaned up MWM hints/WM_SIZE hints code (they sort of match now),
and only request the MWM atom at startup instead of for each call.
* Started yet another goodies reorganization, and ended up reverting
a lot of it. However what's changed should go a little ways towards
cleaning things up.
* Fix a build error where some goodies files that needed to be
compiled against X were compiled without -I/use/X11R6/lib, failing
on systems without a symlink from /usr/include/X11.
* Tossed out historical 'iheight' junk in border calculation.

0.9.17:

* Use ln -f to ignore overwriting previously installed manpage links.
* If MWM hints are enabled, no-border windows will no longer
get a border upon exiting.
* The order of buttons in *-palette is no longer changed by title
updates or unhiding windows.
* xaw-palette was fixed to work with proper versions of Xaw (shame on
me for testing with Xaw3d!), including the one in XF4. The new
internals have ported over to gtk-palette.

0.9.16:

* Fixed a shaping bug (which actually existed before changes made in
0.9.15) where a window that used to be shaped, but then became
unshaped, wasn't updated properly.
* MWM hints support can now be compiled in with -DMWM_HINTS, thanks
to help from Adam Sampson <azz@gnu.org>.
* Set the input focus upon entering a window frame, instead of on
entering the child window.

0.9.15:

* Display a titlebar for shaped windows. This also makes the bug
where shaped windows were getting gravitated as if they had a
titlebar irrelevant.
* Tiny cleanups for the Debian package, including:
* Man page for the goodies.
* Typo in makefile fixed (tried to strip manpage, ah-reer-reer-reer).
* Polished the main man page a bit.

0.9.14:

* Free cursors and GCs in quit_nicely.
* Switch order of objects and libraries in Makefile to placate
Solaris cc.
* Rename raise to raise_win -- raise is in signal.h of course (duh!)
* Added copyright notice to all goodies and Makefiles due to someone
ignoring my license (this has been worked out).
* Bail out on lack of default font. You *should* be reading aewm.h
first of course ;-)

0.9.13:

* Fix really stupid thing I did while refactoring make_new_client,
where a window that started as Withdrawn would stay that way
instead of getting mapped.
* Deal with withdrawing clients properly in *-palette, by watching
for the WM_STATE property to be changed instead of looking at
UnmapNotify events.

0.9.12:

* Clean up clients on receipt of a DestroyNotify. This is needed when
a client is already unmapped (i.e, the user iconified it) and it
exits.
* Preserve window stacking order on exit and restart.
* Mucked about with the make_new_client logic; tell me if this breaks
something.
* Added gtk-*-menu clients contributed by Adam Sampson <azz@gnu.org>.

0.9.11:

* Got rid of unneeded PropertyChangeMask on root window. Silly me.
* Removed the ugly array/linked-list hack from xaw-palette, so that
the internal workings of both palette clients are now basically
identical.
* static'd everything that should have been static.
* Updated email, documentation, etc.
* Got rid of handle_reparent_event, as a client call to
XReparentWindow is taken care of by handle_unmap_event.
* Backed out the 0.9.9 change to option-parsing macros, which
were causing all options to fail miserably (argh).

0.9.10:

* Handle withdrawing windows properly in xaw-palette. Both palette
clients are a little saner now.
* Updated goodies docs.
* ungravitate when printing geometry for move/resize.
* Moved more code from individual goodies to common-run.c.
* Got rid of unhide() as we never use it.
* Replaced GenericWidget typedef silliness with global variables.
sometimes you just have to pick the lesser of two evils...

0.9.9:

* Finally de-insanified handle_xerror. Instead of going through
contortions in remove_client to avoid raising errors, we turn the
error handler off during the server grab.
* Both palette goodies now track iconification of clients and WM_NAME
changes.
* gtk-palette is now oriented horizontally, and includes a menu,
providing lots more space for client buttons.
* Made the parse_option macros reusable (thanks to the comp.lang.c
folks for the reminder).
* make sure get_wm_name in the goodies doesn't crash for windows that
have no name.
* Minor typo corrections and stuff.

0.9.8:

* Brown paper bag: take debugging stupidity out of gtk-palette.
* Overhaul the goodies' build system yet again.
* Gtk-palette now gets the screen size correctly.
* All switch/palette goodies now cut off long titles, use WM_NAME
instead of WM_ICON_NAME, and place iconified titles in parenthesis.
* No changes to aewm itself in this release.

0.9.7:

* Added lots of comments.
* General code cleanups, tweaks, reformats all over.
* Fixed iconic state problem.
* Plugged a memory leak in send_wm_delete.
* Added -new3.
* Fixed -new[123] allocation bug.
* Made debug code considerably saner.
* Print "80x25" and such when resizing xterms.
* Replaced sprintf with snprintf.
* Got rid of -display. set DISPLAY in your environment instead, so
that it propagates to child processes.
* Messed around with the goodies' build system.
* Fixed gtk-palette; events are now filtered properly at the GDK
level.
* Replaced variable length arrays with malloc/free.
* Added xsession, since I've been using it forever.

0.9.6:

* Fix for handling inital window geometry.
* A few memory leaks plugged.
* Wrote a man page
* More consistent borders for transient windows.

0.9.5:

* Print window geometry while moving/resizing.
* Added some WM_NORMAL_HINTS sanity checks
* Set the keyboard focus on window enter (for rxvt, etc).

0.9.4:

* Root menu replaced by another client.
* Added -bw option.
* Border-drawing fixes (only visible if you have very wide borders).
* Got rid of mouse button exit.

0.9.3:

* Put the root menu code back in.
* Added more goodies and reorganized them.

0.9.2:

* Minor ICCCM compliance fix regarding WM_STATE.

0.9.1:

* A small fix to make the palette complain if no rc file exists.

0.9:

* Initial public release. Before this, aewm was called 'swim' and was
used by me as a school project. It was also rather unstable.