File: CHANGELOG

package info (click to toggle)
windowlab 1.40-2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 388 kB
  • ctags: 488
  • sloc: ansic: 4,359; makefile: 124; sh: 53
file content (528 lines) | stat: -rw-r--r-- 21,122 bytes parent folder | download | duplicates (3)
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
1.40 (2010-04-04)

* integrated a change from Simon Engelsman (thanks!):
	* XNextEvent() was replaced by interruptible_XNextEvent() function in do_event_loop()


1.39 (2009-12-27)

* integrated more changes from Mats Erik Andersson:
	* menu file handling made more lenient


1.38 (2009-11-14)

* integrated more changes from Mats Erik Andersson:
	* makefile made more flexible
	* signal handler for SIGHUP now just sets a semaphore, and reloading of menu resources happens in the event loop
	* fixed problems found by auditing the code with Flawfinder


1.37 (2009-10-04)

* integrated a change from Campbell Barton (thanks!):
	* fixed a bug which was freeing clients' names twice


1.36 (2009-10-01)

* rewrote the inherited licences part of the readme file to take into account 9wm's switch to the MIT licence
* updated the menu options
* integrated more changes from Mats Erik Andersson:
	* added a simple mechanism which updates the menu in the running instance of WindowLab


1.35 (2009-09-20)

* integrated changes from Mats Erik Andersson (thanks!):
	* fixed a bug that could cause processes to become zombified
	* fixed a bug that made some windows unviewable


1.34 (2006-11-12)

* if no window has focus, focus is given to new windows
* if the focused window is closed and no previous window has ever had focus, focus is given to the first client
* integrated changes from Jeffrey Drake (thanks!):
	* fonts now closed properly on exit
* integrated more changes from Antti Nyknen:
	* fixed a compiler warning
* integrated more changes from David Lawrence Ramsey:
	* fixed a compiler warning
	* changes to the Makefile
	* many other misc changes!


1.33 (2005-10-16)

* integrated changes from Dushkin (thanks!):
	* scrolling the mouse wheel in the taskbar now task switches
* integrated changes from Antti Nyknen (thanks!):
	* fixed a crash that occurred on the BSDs (and presumably on other systems without /proc/self/exe)
* integrated changes from Gregor Imboden (thanks!):
	* fixed a crash that ocurrred when there are no focused windows and alt + F12 is pressed was fixed
* events are always replayed rather than sometimes being eaten
* new windows are no longer given focus
* added TODO file


1.32 (2005-07-20)

* the executable has been made relocatable
* double clicking on a windows titlebar toggles its depth (based on code from Roland Haas)
* integrated changes from Mike M. Volokhov (thanks!):
	* a segfault when using realloc() with menu items was fixed
* integrated more changes from Roland Haas:
	* fixed bug with applications that start in iconic mode
	* -display option added
	* the initial position and size hints in WM_HINTS are now ignored since they are flagged as obsolete in the manpage of SetWMHints


1.31 (2005-06-21)

* more resizing bugs were fixed
* integrated changes from Roland Haas (thanks!):
	* window borders are now taken into account properly when resizing
	* bugs with XFT fonts when resizing were fixed


1.30 (2005-05-23)

* a bug that prevented windows from being made smaller from a side that was at the edge of the screen was fixed
* a bug that caused the first clients taskbar button to disappear when all clients were hidden was fixed


1.29 (2005-05-18)

* integrated more changes from David Lawrence Ramsey:
	* a segfault that occurred when removing clients was fixed
	* some cosmetic code changes were made


1.28 (2005-05-15)

* when the focused window is closed or hidden, focus is returned to the previous window
* fixed serious problem with using a modifier key for resizing that occurred on some systems
* changed resizing to use alt instead of the Windows key
* fixed bug when using alt-tab/alt-q to switch focus to a hidden window
* changed default fontname to work with Xorg


1.27 (2005-04-16)

* hidden windows are now shown and re-hidden when their taskbar button is dragged over


1.26 (2005-02-23)

* integrated more changes from David Lawrence Ramsey:
	* various improvements to the makefile were made
	* a bug with vertically resizing windows that use size increments was fixed
	* a few cosmetic cleanups to various sections of code were made


1.25 (2004-12-23)

* integrated changes from Matt Borkowski (thanks!):
	* some Z ordering bugs were fixed
* integrated more changes from David Lawrence Ramsey:
	* click-to-focus was made to work on fullscreen windows that have lost focus
	* size changes are applied to the original non-fullscreen coordinates of fullscreen windows
	* all of the function prototypes were made consistent
	* windows that reconfigure themselves without changing positions no longer move
	* the shortcut keys behavior changed
	* some gcc 3.3.x warnings were fixed (ported from aewm)
	* the switch statement in handle_property_change() is no longer missing a break (ported from aewm)
	* send_xmessage() now uses an XClientMessageEvent instead of a generic XEvent (ported from aewm)


1.24 (2004-05-29)

* holding down the Windows key on it's own now brings the current window to the front, after which dragging against the window's edge with any mouse button depressed resizes it
* integrated more changes from David Lawrence Ramsey:
	* a few prototypes/declarations were fixed


1.23 (2004-03-12)

* resizing now optionally uses a modifier key
* a very serious bug in the resizing system was fixed
* the button graphics were altered
* the task switching keys were changed to alt-tab/alt-q
* it's no longer possible to resize a fullscreen window
* integrated more changes from David Lawrence Ramsey:
	* a bug where resized windows lost focus was fixed
	* a debugging statement was added
	* a compiler warning was fixed
	* an unnecessary get_mouse_position() call was removed


1.22 (2004-02-22)

* the middle mouse button is now used to resize the active window
* the resize button has become a hide button
* a bug when making windows smaller was fixed
* alt-F9/F10 now raises the window as well as changing focus


1.21 (2004-01-17)

* the 8 style of window reshaping was dropped in favour of a completely new mechanism that allows users to change one or many different edges of the window independantly in one action
* small bug fix in window titlebar drawing
* integrated changes from Guido Schimmels (thanks!):
	* a bitmap font is no longer referenced if an XFT font is used
* integrated more changes from David Lawrence Ramsey:
	* the code was changed to use NULL explicitely
	* draw_redraw_button() was renamed as draw_resize_button()
	* warnings fixed when compiling using gccs -pedantic option


1.20 (2003-12-31)

* altered the button graphics and changed the default active window colour
* removed the borderwidth command line option
* integrated more changes from David Lawrence Ramsey:
	* made fullscreen mode respect window size increment hints as well as maximum size hints
	* clicking the right mouse button between between clicking the resize button and starting the window drag cancels resize mode


1.19 (2003-11-14)

* users can now click and drag the mouse pointer over the taskbar to quickly find different windows
* fixed bug where a menu item would not be lauched unless the cursor was moved
* corrected amount that taskbar items text are indented to match that of windows titlebars


1.18 (2003-11-03)

* small bug fix in window titlebar drawing


1.17 (2003-11-01)

* images added to windows titlebar buttons
* quit option added to the sample menu file


1.16 (2003-10-04)

* integrated more changes from David Lawrence Ramsey:
	* ConfigureRequest handler modified so that refix_position() is called before gravity ids reapplied (this allows refix_position() to be much simpler)
	* resize increments of zero are now handled properly
	* some changes to the minimum size #defines


1.15 (2003-08-17)

* integrated more changes from David Lawrence Ramsey:
	* it now compiles with Xft support (it previously referenced detail_col instead of text_col in main.c)
	* extra logic added to refix_position() to keep windows from overlapping the taskbar


1.14 (2003-08-17)

* fullscreen mode now reserves space at the top of the screen for the taskbar/menubar which is only displayed when the mouse is over it (for users who want to watch fullscreen video without the wm showing)
* created a new colour to cover the screen when a window in fullscreen mode is too small to fill the screen and reintroduced a separate colour for the text
* rewrote refix_postion() to use fix_position()
* reduced the height of the taskbar - it was previously BORDERWIDTH taller than the windows titlebars
* WindowLab now reallocs memory unused by the menu options


1.13 (2003-08-09)

* depressed button colour is now derived from the active titlebar colour
* removed redundant command line arguments and made the rest less cryptic
* clients that cannot be made as big as the screen are now centred when put into fullscreen mode
* Makefile now prompts the user before overwriting an existing menurc file
* integrated more changes from David Lawrence Ramsey:
	* fullscreen_client now set to NULL in send_wm_delete()
	* made a few minor cleanups


1.12 (2003-07-20)

* cycle_previous() and cycle_next() greatly simplified
* unhide() function added
* hidden windows are now listed in the taskbar, and clicking their buttons will unhide them
* RATIONALE file added to explain the reasoning behind some of WindowLabs features
* integrated more changes from David Lawrence Ramsey:
	* code added to keep windows (eg Mozilla and Mozilla Firebird) from raising themselves
	* modified refix_position() to handle maximized (decorless) windows properly
	* fixed a bug in the manpage where the description of the keybindings is all fused into one paragraph
	* made a few minor cleanups


1.11 (2003-07-05)

* fixed fullscreenmode so that no border is shown on screen
* setsid() is now called in fork_exec() to prevent child processes from dying when WindowLab is killed or crashes
* support added for toggling window depth and cycling between next and previous windows using the keyboard


1.10 (2003-05-25)

* added code to toggle fullscreen mode on non transient windows when the user hits F11
* tidied up some more code


1.09 (2003-04-19)

* made new windows appear fully on screen instead of just their titlebar
* added code to destroy the constraint window if it can't be grabbed (found by Pierre-Paul Lavoie)
* removed unnecessary unmapping of windows before they were destroyed (found by Pierre-Paul Lavoie)
* integrated changes from Pierre-Paul Lavoie (thaks ppl!):
	* the menurc path is now specified by a -D option on the compile line in the makefile instead of being a #define in the code
* integrated more changes from David Lawrence Ramsey:
	* significant changes made to the ConfigureRequest event handler with the addition of refix_position()
	* crash in dump_clients() in DEBUG mode fixed


1.08 (2003-03-30)

* integrated more changes from David Lawrence Ramsey:
	* the makefile now uses pkg-config (which XFree86 4.3.0 should include an entry for) to get the library and include directory information needed to compile properly (ported from aewm)
	* menufile.c changed to use XftTextExtents8() to get the proper width of text when Xft is used


1.07 (2003-03-30)

* added title bar to the reshape window
* small improvements made to manage.c


1.06 (2003-03-15)

* added visual hint when a button is depressed
* integrated changes from David Lawrence Ramsey (thanks!):
	* some focussing problems fixed
	* GTK resizing bug handled
	* iconified windows now handled properly
	* misc small fixes


1.05 (2003-02-27)

* gave menu its own colours
* many changes and fixes, especially to sweep() and helper functions in manage.c


1.04 (2003-02-18)

* added menu system - this should be the last fundamental change to functionality


1.03 (2003-02-10)

* fixed crash caused if the taskbar is clicked and no clients are present (found by lanzz)
* changed resizing to use a window rather than inverting the background
* many misc bug fixes
* fixed a problem with xft/freetype (found by Michael Haller)


1.02 (2003-01-23)

* new client window positioning algorithm altered so that it's more obvious to the user
* small bug in find_client fixed


1.01 (2003-01-12)

* some refactoring in events.c
* added some missing event handling for the taskbar window (found by Pierre-Paul Lavoie)
* made taskbar window update when a client window changes its title


1.00 (2002-12-26)

* first public release


***************************
* ORIGINAL AEWM CHANGELOG *
***************************


1.1.2:

 * Rewrote init_position again. This fixes the problem with specifying a USPosition containing 0.
 * Added gtk-menu client contributed by Adam Sampson <azz@gnu.org>. I want to fold this stuff into the rest of the goodies eventually. For now, just keep in mind that the extensions to .paletterc may change.
 * Added a "-version" option for printing version information from the command line.
 * Added some proper headers to all the files in goodies/lib/.
 * Replaced strcpy/strcat in panel-misc.c with snprintf to prevent a possible buffer overflow.
 * Made some improvements to the .paletterc parser: squish a possible segfault, handle comments/blank lines, ignore menu directives.
 * Reformatted man pages.

1.1.1:

 * Fix typo in man page install location.
 * Use -lXt when compiling Xaw goodies (required to build on SunOS).
 * Added some more documentation (mostly about things that are likely to break.)

1.1.0:

 * Xft (freetype extension) support, thanks once again to help from Adam Sampson <azz@gnu.org>.
 * A few Makefile improvements: only link against required libraries, easier enabling/disabling of options, don't attempt to compile against headers in the binary destination tree.
 * Yet more init_position tweaks -- use x position hint even if y is out of range and vice versa, and take window gravity into account when positioning.
 * Some additions and improvements to the debug code (mainly printing names of constants instead of cryptic numbers).

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.