udpate comment to match new basedir shit
[mikachu/openbox.git] / ChangeLog
1 2003-09-22  Ben Jansens  <xor@zed.orodu.net>
2
3         * data/menu.xml.in, data/menu.xsd, data/rc.xml.in, data/rc.xsd:
4         fix capitalization
5
6         * data/rc.xsd: add focusLast and raiseOnFocus
7
8         * configure.ac: beta4
9
10         * ChangeLog: recent changes
11
12         * data/rc.xml.in: add focusLast and raiseOnFocus
13
14         * openbox/place.c: visible is in the frame struct
15
16         * openbox/place.c: ignore non-visible windows too
17
18         * openbox/config.c: simplify the default bindings
19
20         * openbox/client_list_menu.c: s/Activate/Go there/
21
22         * openbox/screen.c: whitespace
23
24         * openbox/client_list_menu.c: gettextize the empty desktop string
25
26         * openbox/client_list_menu.c: change Switch To... to Activate...
27
28         * openbox/grab.c:
29         dont need to swallow enter events on ungrab cuz we just ignore them all now
30
31         * openbox/event.c, openbox/event.h:
32         provide a means to properly ignore enter events for focus changes
33
34         * openbox/config.c, openbox/config.h, openbox/focus.c:
35         add back focusLast
36
37         * openbox/screen.c:
38         eat enter events on desktop switch so that our own policy can be applied
39
40         * openbox/client.c, openbox/openbox.c:
41         we always want to start with something focused, moving this to openbox.c
42
43         * openbox/action.c: add comment
44
45         * openbox/mainloop.c: indenting
46
47 2003-09-21  Ben Jansens  <xor@zed.orodu.net>
48
49         * openbox/action.c, openbox/event.c, openbox/event.h:
50         when ending actions which can move windows, and we were using the mouse, instead of doing a focus fallback, which instantly focuses, and doesn't raise, we do an event_enter_client which simulates the act of entering the window with the pointer
51
52         * openbox/client.c, openbox/client.h, openbox/focus.c:
53         move the code to find the window under the pointer out of focus.c to client.c
54
55         * openbox/place.c:
56         place so to avoid windows in layers above the window being placed!
57
58         * openbox/event.h: add glib.h include
59
60         * openbox/config.c, openbox/config.h: add raiseOnFocus option
61
62         * openbox/event.c: fix race condition in focus delay
63
64         * openbox/event.c: ignore ungrab enter notifies for focus
65
66         * openbox/mouse.c: pass the context to action_run_mouse
67
68         * openbox/action.c, openbox/action.h:
69         grab the pointer before doing client actions more intelligently, i.e. only when using sloppy focus.
70         fallback focus after the action if the action was fired via a mouse binding, otherwise do not. this makes keyboard bindings not fuck with sloppy focus.
71
72         * openbox/config.c, openbox/config.h, openbox/dock.c:
73         rename dock/himeTimeout to dock/hideDelay in the config file
74
75         * openbox/client.c:
76         dont assert, just ignore client_unfocus() when the client isnt already focused
77
78         * openbox/dock.c:
79         dont save the appearance when reconfiguring!! that was a crash waiting to happen!!
80         also reset the border stuff on reconfigure
81
82         * openbox/event.c, openbox/event.h:
83         allow a number of enter events to be ignored. Don't just skip any enter/leave events as these are used for highlighting hover buttons and ignoring these makes the hover state out of sync sometimes
84
85         * openbox/grab.c:
86         count the EnterNotify events and tell openbox to ignore them when ungrabbing the pointer
87
88         * openbox/action.c: if the keyboard is grabbed then dont ungrab it!
89
90         * openbox/grab.c, openbox/grab.h:
91         export if the keyboard and pointer are currently grabbed or not
92
93         * openbox/keyboard.c, openbox/keyboard.h: remove that shti
94
95         * openbox/action.h: whitespace
96
97         * openbox/keyboard.c, openbox/keyboard.h:
98         export if an interactive grab is in progress
99
100         * openbox/focus.c:
101         dont drop out of dirfocus when there is no new target to be found
102
103         * openbox/client_list_menu.c: use the new action_run symantics
104
105         * tests/icons.c: declare variables at the top of the blocks
106
107         * openbox/menu.c: dont add null actions to the list
108
109 2003-09-20  Ben Jansens  <xor@zed.orodu.net>
110
111         * Makefile.am: use DESTDIR in install-data-hook
112
113 2003-09-19  Ben Jansens  <xor@zed.orodu.net>
114
115         * data/.cvsignore: add the generated xml files
116
117         * openbox/place.c: smart xinerama placement for groups
118
119         * openbox/place.c:
120         smart placement has a fallback for just groups now too
121
122         * Makefile.am: install the menu.xsd
123
124         * Makefile.am, data/menu.xml, data/menu.xml.in, data/menu.xsd, data/rc.xml, data/rc.xml.in, data/rc.xsd:
125         add the schemas to the distribution
126
127         * configure.ac: look for sed
128
129         * openbox/mouse.c: comment
130
131         * openbox/keyboard.c, openbox/menuframe.c, openbox/mouse.c:
132         use the new action ru system which always runs lists of actions instead of individual ones
133
134         * openbox/config.c: const
135
136         * openbox/action.c, openbox/action.h:
137         only allow running lists of actions at a time, policy is to always allow multiple action bindings, so this enforces it, and at the same time, UngrabKeyboard() before firing actions if there are no interactive ones. This is needed for some execute's, namely gnome-panel-control --main-menu.
138
139         * openbox/client.c:
140         properly send resize events for when the app has requested the resize
141
142         * openbox/config.c: dont allow 0 desktops
143
144 2003-09-18  Ben Jansens  <xor@zed.orodu.net>
145
146         * openbox/client.c:
147         dont split client requested resizes into 2 events, thanks to manmower for this idea
148
149         * openbox/session.c: make a warning into a debug message
150
151         * Makefile.am, tools/gnome-panel-control/.cvsignore, tools/gnome-panel-control/gnome-panel-control.c:
152         rename gnomepanelproxy to gnome-panel-control
153
154         * Makefile.am, tools/gnome-panel-control/.cvsignore, tools/gnome-panel-control/Makefile, tools/gnome-panel-control/gnome-panel-control.c:
155         add gnomepanelproxy
156
157         * openbox/client_list_menu.c:
158         add a 'Switch to...' entry to empty desktops in the client-list-menu
159
160         * openbox/event.c:
161         while doing a moveresize, the client actions act on will be the client being moveresized
162
163         * openbox/resist.c: off by one error
164
165 2003-09-17  Ben Jansens  <xor@zed.orodu.net>
166
167         * openbox/config.c:
168         provide some default bindings, not a complete list from the rc.xml.. yet.
169
170         * openbox/keyboard.c, openbox/keyboard.h, openbox/mouse.c, openbox/mouse.h:
171         provide a way to remove all bindings
172
173         * openbox/frame.c, openbox/frame.h, openbox/translate.c, openbox/translate.h, openbox/action.h, openbox/action.c:
174         const
175
176         * gettext.h, openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/client_list_menu.c, openbox/client_list_menu.h, openbox/client_menu.c, openbox/client_menu.h, openbox/config.c, openbox/config.h, openbox/debug.c, openbox/debug.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/event.h, openbox/extensions.c, openbox/extensions.h, openbox/focus.c, openbox/focus.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/framerender.h, openbox/geom.h, openbox/grab.c, openbox/grab.h, openbox/group.c, openbox/group.h, openbox/keyboard.c, openbox/keyboard.h, openbox/keytree.c, openbox/keytree.h, openbox/mainloop.c, openbox/mainloop.h, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h, openbox/misc.h, openbox/mouse.c, openbox/mouse.h, openbox/moveresize.c, openbox/moveresize.h, openbox/mwm.h, openbox/openbox.c, openbox/openbox.h, openbox/place.c, openbox/place.h, openbox/popup.c, openbox/popup.h, openbox/prop.c, openbox/prop.h, openbox/resist.c, openbox/resist.h, openbox/screen.c, openbox/screen.h, openbox/session.c, openbox/session.h, openbox/stacking.c, openbox/stacking.h, openbox/startupnotify.c, openbox/startupnotify.h, openbox/translate.c, openbox/translate.h, openbox/window.c, openbox/window.h, openbox/xerror.c, openbox/xerror.h, parser/parse.c, parser/parse.h, render/color.c, render/color.h, render/font.c, render/font.h, render/geom.h, render/gradient.c, render/gradient.h, render/icon.h, render/image.c, render/image.h, render/instance.c, render/instance.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h, tests/aspect.c, tests/fullscreen.c, tests/grav.c, tests/icons.c, tests/modal.c, tests/modal2.c, tests/modal3.c, tests/noresize.c, tests/override.c, tests/urgent.c, tools/kdetrayproxy/kdetrayproxy.c:
177         no tabs
178
179         * gettext.h, openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/client_list_menu.c, openbox/client_list_menu.h, openbox/client_menu.c, openbox/client_menu.h, openbox/config.c, openbox/config.h, openbox/debug.c, openbox/debug.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/event.h, openbox/extensions.c, openbox/extensions.h, openbox/focus.c, openbox/focus.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/framerender.h, openbox/geom.h, openbox/grab.c, openbox/grab.h, openbox/group.c, openbox/group.h, openbox/keyboard.c, openbox/keyboard.h, openbox/keytree.c, openbox/keytree.h, openbox/mainloop.c, openbox/mainloop.h, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h, openbox/misc.h, openbox/mouse.c, openbox/mouse.h, openbox/moveresize.c, openbox/moveresize.h, openbox/mwm.h, openbox/openbox.c, openbox/openbox.h, openbox/place.c, openbox/place.h, openbox/popup.c, openbox/popup.h, openbox/prop.c, openbox/prop.h, openbox/resist.c, openbox/resist.h, openbox/screen.c, openbox/screen.h, openbox/session.c, openbox/session.h, openbox/stacking.c, openbox/stacking.h, openbox/startupnotify.c, openbox/startupnotify.h, openbox/translate.c, openbox/translate.h, openbox/window.c, openbox/window.h, openbox/xerror.c, openbox/xerror.h, parser/parse.c, parser/parse.h, render/color.c, render/color.h, render/font.c, render/font.h, render/geom.h, render/gradient.c, render/gradient.h, render/icon.h, render/image.c, render/image.h, render/instance.c, render/instance.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h, tests/aspect.c, tests/fullscreen.c, tests/grav.c, tests/icons.c, tests/modal.c, tests/modal2.c, tests/modal3.c, tests/noresize.c, tests/override.c, tests/urgent.c, tools/kdetrayproxy/kdetrayproxy.c, tools/themeupdate/themeupdate.py:
180         add copyright headers, adjust --version output to include copyright, and --help output to not include version output.
181
182         * Makefile.am: make the installed themeupdate.py executable
183
184         * Makefile.am: install themupdate.py to share/openbox/
185
186         * data/rc.xml, openbox/frame.c, openbox/frame.h, openbox/mouse.c:
187         add the MoveResize context, which is used while doing a move/resize on a window. Actions bound in this context can be executed with the mouse during a move/resize on a window.
188
189         * openbox/menuframe.c, render/theme.c, render/theme.h:
190         api cleanups for render/theme.h
191
192         * openbox/menuframe.c: use the theme padding for the menu title's size
193
194         * openbox/action.c, openbox/event.c, openbox/openbox.c, openbox/openbox.h, openbox/session.c:
195         make ob_exit() take an error code. don't exit with 0 for signals other than TERM and INT.
196
197         * openbox/openbox.c:
198         move where grabs are init'd since they use the screen_support_win now
199
200         * openbox/menu.c: remoev unneeded include
201
202         * themes/Artwiz/openbox-3/themerc, themes/Blah41/openbox-3/themerc, themes/Om4Ob/openbox-3/themerc:
203         fix to be up-to-date with the theme spec
204
205         * openbox/translate.c:
206         allow the use of keycodes directly in key bindings
207
208 2003-09-16  Ben Jansens  <xor@zed.orodu.net>
209
210         * openbox/moveresize.c:
211         dont assert if a moveresize is started while one is in progress. apps could do this with client messages, or the user can easily do it with actions.
212
213         * openbox/grab.c:
214         grab the pointer on the screen_support_win, causing all mouse events during a grab to not be acted on as if they were on the root window/context
215
216         * Makefile.am: dont use -release for libtool
217
218         * openbox/screen.c:
219         fallback when nothing is focused and we switch desktops!
220
221         * openbox/event.c: ifdef DEBUG_FOCUS focus output
222
223         * data/rc.xml: default to "TheBear"
224
225         * Makefile.am: fix properly
226
227         * Makefile.am: make TheBear install poroerly in its openbox-3 dir
228
229         * Makefile.am, configure.ac:
230         install the libs with release and version info via libtool
231
232 2003-09-15  Ben Jansens  <xor@zed.orodu.net>
233
234         * render/theme.c: look in ~/.themes for themes also
235
236         * render/icon.h: new icon from merry, more clarity when small
237
238         * Makefile.am, configure.ac, openbox/action.c, openbox/config.c, openbox/menu.c, openbox/openbox.c, openbox/openbox.h, openbox/session.c, parser/parse.c, parser/parse.h, render/obrender-3.0.pc.in, render/theme.c:
239         make openbox base-dir spec compliant, and change the theme dir structure, so that themes go in $XDG_DATA_DIRS/themes/ with gtk/metacity/whateverelse themes
240
241         * openbox/client.c, openbox/event.c, openbox/focus.c, openbox/mainloop.c, openbox/mainloop.h, openbox/startupnotify.c:
242         revert my commit of d3th, it fucked up focus badly
243
244         * openbox/stacking.c: raise all the windows with the transient
245
246         * openbox/stacking.c: raise all parents with a transient
247
248         * openbox/client.c, openbox/event.c, openbox/focus.c, openbox/mainloop.c, openbox/mainloop.h, openbox/stacking.c, openbox/startupnotify.c:
249         break focus. or maybe make it better.
250         these changes make it work when you alt-tab off a fullscreen window, that it doesnt iconify, and that it is immediately restacked instead of waiting for a FocusIn event to arrive. The code now assumes that if the window says it can focus, that if we focus it, it is focused.
251         add the XDone handler to ObMainLoop, which is fired upon the occurance of there being no more X events to read.
252
253         * openbox/event.c:
254         dont leave non-submenu items selected when the mouse isnt over them
255
256         * ChangeLog: recent changes
257
258         * data/rc.xml, openbox/config.c, openbox/config.h, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/screen.c:
259         remove focusLast and focusLastOnDesktop
260
261         * openbox/focus.c: fix directional focus when nothing is focused
262
263         * ChangeLog: recent changes
264
265         * configure.ac: beta3
266
267         * openbox/session.c: use the sm_client_id in the client struct
268
269         * openbox/client.c, openbox/client.h:
270         save the sm_client_id just like saving other properties, dont query each time its needed
271
272         * openbox/event.c:
273         propogate property changes on the group leader to the whole group
274
275         * openbox/popup.c: remove debug prints
276
277         * openbox/startupnotify.c: remove debug print
278
279         * openbox/event.c: sloppy focus fixes, ignore a few more enter events
280
281         * openbox/focus.c:
282         fix crashing when doing a directional focus with no windows on the desktop
283
284         * openbox/place.c: best fit only one direction
285
286         * openbox/place.c: no center in the first smart-place
287
288         * openbox/place.c: sort smallest to largest area
289
290         * openbox/place.c: 2 passes at smart placement
291
292         * openbox/place.c:
293         smart placement only avoids the focused window, and centers in its area
294
295         * openbox/stacking.h: whitespace
296
297         * openbox/place.c: fallback to random when focus follows mouse is off
298
299         * openbox/place.c: fix comment
300
301         * openbox/place.c: oops backwarsd
302
303         * openbox/place.c: dont use continue
304
305         * openbox/place.c: remove blank line
306
307         * openbox/mainloop.c: allow more than one timer to work at a time
308
309         * openbox/mainloop.c: allow more than one timer to process at a time
310
311         * openbox/place.c:
312         apply gravity to the chosen coords, bound the undermouse placement
313
314         * openbox/place.c:
315         always use smart placement, add under-mouse placement for the fallback
316
317         * openbox/place.c: dont count !normal clients for placement
318
319         * openbox/place.c: added smart placement
320
321         * openbox/resist.c: use the new RECT_LEFT/RIGHT/TOP/BOTTOM for clarity
322
323         * openbox/geom.h:
324         add some interesection shit, and RECT_LEFT/RIGHT/TOP/BOTTOM
325
326 2003-09-14  Ben Jansens  <xor@zed.orodu.net>
327
328         * openbox/menuframe.c: kill the padding in the menu title
329
330         * openbox/stacking.c:
331         dont raise parents of transients when the transient is raised
332
333         * render/theme.c: fix 2 mem leaks
334
335         * Makefile.am: install the openbox.png pixmap icon
336
337         * openbox/openbox.c:
338         adjust the themes for the frames before everything else happens, cuz they store pointers to the freed theme, then redraw them at the end
339
340         * openbox/frame.c: dont redraw the frames when changing their theme
341
342         * openbox/startupnotify.c: remove the x event handler
343
344         * openbox/screen.c:
345         dont bother fucking everythign up when the desktops number hasnt changed
346
347         * openbox/popup.c: fix mem leak
348
349         * openbox/menuframe.c:
350         update the menus before putting them in the visible list
351
352         * openbox/menu.c:
353         fix a mem leak, and make suer the menus arent visible when they are modified
354
355         * openbox/event.c: fix mem leak, remove teh ice watch handler
356
357         * openbox/config.c, openbox/action.c: fix mem leak
358
359         * data/openbox.png: add the .png version of the icon.h
360
361         * openbox/client.c:
362         dont impose staying on-screen for non-normal windows like kicker
363
364         * render/icon.h: add a default icon made by merry.
365
366         * openbox/openbox.c:
367         move moveresize_startup/shutdown so its between its deps
368
369         * openbox/moveresize.c: only sopt moveresize when shutting down
370
371         * render/font.c: remove debug print
372
373         * openbox/moveresize.c: stop any moveresizes on shutdown
374
375         * configure.ac: dont need libtool doing dlopen capable libs
376
377         * render/theme.c: use the values passed to the function
378
379         * render/theme.h: code style
380
381         * render/render.c: free XImages
382
383         * render/font.c: destroy 'pat' always
384
385         * render/mask.c:
386         X allocs more bytes than i thought, new algo to pick the amount of memory for the bitmap data
387
388         * openbox/client.c: dont waste a strdup which is never freed
389
390         * openbox/mainloop.c:
391         fix a memory leak in the mainloop timers correctly
392
393         * openbox/mainloop.c: fix a memory leak in the mainloop timers
394
395 2003-09-12  Ben Jansens  <xor@zed.orodu.net>
396
397         * openbox/focus.c, openbox/moveresize.c, openbox/openbox.c, openbox/popup.c, openbox/popup.h, openbox/screen.c:
398         new popups with subclasses, added an ObIconPopup for popups with icons, and ObPagerPopup, for a popup with a pager on it.
399
400         better logic also for the desktop layout code figuring out how many rows and columns there are.
401
402         * render/theme.c, render/theme.h:
403         add app_(un)hilite_fg, which is never parentrelative
404
405         * render/font.c: wasted variable
406
407         * render/theme.c:
408         handle parentrel app labels, by using the title's texture instead
409
410         * render/theme.c: better more valid C
411
412         * openbox/popup.c: 80 cols
413
414         * openbox/openbox.c:
415         start the session shit, and grab the params before grabbing the rest of the parameters (and erroring on invalid ones)
416
417         * Makefile.am, openbox/client.c, render/theme.c, render/theme.h:
418         add support for a default icon, but no icon has been made yet.
419
420         * configure.ac: allow building of static libs
421
422 2003-09-10  Ben Jansens  <xor@zed.orodu.net>
423
424         * openbox/event.c, openbox/mouse.c, openbox/mouse.h:
425         frame context fallbacks when there is no binding on the context
426
427         * themes/Allegro/openbox-3/themerc: requested update from safarial
428
429         * openbox/event.c:
430         make menu hiding-on-release based on a timer rather than on where it is released (on the frame border)
431
432         * openbox/config.h: s/milli/micro/
433
434         * openbox/menu.c: hide menus before showing a new menu root
435
436         * openbox/menuframe.c:
437         keep menus taller than the screen from jittering. also keep the half of the menu you're in visible. more precision would be nicer but meh for now (ever) i guess.
438
439         * Makefile.am: distribute the .pc.in files
440
441         * openbox/focus.c: save the new glist!
442
443         * openbox/keyboard.c:
444         when the client for an interactive action is closed, kill the action
445
446         * openbox/moveresize.c:
447         use the current size not the start size for moving
448
449         * openbox/event.c:
450         use the focus client when the client is null for keyboard events
451
452         * openbox/action.c: oops, copypaste
453
454         * openbox/action.c: dont deref the client before checking for null
455
456         * openbox/frame.c: use theme.show_handle
457
458 2003-09-09  Ben Jansens  <xor@zed.orodu.net>
459
460         * ChangeLog: more changes
461
462         * openbox/event.c, openbox/keyboard.c, openbox/keyboard.h:
463         save teh client for interactive actions cuz after teh keyboard is grabbed there is no client
464
465         * configure.ac: beta2
466
467         * ChangeLog: recent changes
468
469         * openbox/action.c, openbox/action.h, openbox/event.c, openbox/keyboard.c, openbox/keyboard.h, openbox/mouse.c, openbox/mouse.h, openbox/screen.c:
470         no more interactive mouse actions, they are evil etc. actions now "feel" much more solid. if move/resizing a window while changing workspaces, it will follow.
471
472         * openbox/action.c: no mouse interactive actions. no bugs.
473
474 2003-09-08  Ben Jansens  <xor@zed.orodu.net>
475
476         * openbox/client.c: remove debug prints
477
478         * render/theme.c: allow a padding.width of 0
479
480         * tools/themeupdate/themeupdate.py: warn about the right shit
481
482         * openbox/focus.h: remove comment that isnt right anymore
483
484         * openbox/frame.c, openbox/framerender.c, openbox/popup.c, render/theme.c, render/theme.h, themes/Allegro/openbox-3/themerc, themes/Artwiz/openbox-3/themerc, themes/Blah41/openbox-3/themerc, themes/Om4Ob/openbox-3/themerc, themes/TheBear/openbox-3/themerc, tools/themeupdate/themeupdate.py:
485         bigtime theme changes. bigtime.
486
487         * openbox/focus.c, openbox/focus.h: expose focus_cycle_client
488
489         * openbox/event.c:
490         act on the visibly focused window when that differs from the actual focused window
491
492         * openbox/client.c: round 2 for this shit
493
494         * openbox/client.c: flush after resizing a client
495
496         * openbox/client.c:
497         if the client is growing, resize it before the frame. if its shrinking, then resize the frame first. reduces flicker lots.
498
499         * openbox/client.c:
500         watch for windows with titlecounts changing their title and getting an incorrect titlecount
501
502         * openbox/client.c: oops
503
504         * openbox/client.c: some simpler code
505
506         * openbox/action.c:
507         grab the pointer befoer shading a window to prevent focus moving in sloppy focus
508
509         * openbox/client.c:
510         dont reset all the states to FALSE in client_get_state, this made an initial IconicState get ignored
511
512         * data/rc.xml: oops missed a capitalization
513
514         * data/menu.xml: add obconf to the menu
515
516         * openbox/menuframe.c: flush after drawing each menu item
517
518         * openbox/config.h: timeouts are all in millisecond
519
520         * openbox/menu.c:
521         if the menu path starts with a /, then just load it, don't try the prefixes
522
523         * openbox/dock.c: fix autohiding
524
525         * openbox/dock.c: dont modify the time from the config parser
526
527         * openbox/config.c:
528         make both focusDelay and hideTimeout in milliseconds
529
530         * openbox/dock.c:
531         fix crash when reconfigure changes the stacking layer of the dock
532
533         * data/rc.xml: capitalize mouse actions
534
535         * openbox/screen.c:
536         move windows around before removing the focus order lists to prevent nasty segfault when it removes a window from an already freed list
537
538 2003-09-07  Ben Jansens  <xor@zed.orodu.net>
539
540         * parser/parse.c: dont use obsolete xmlChildrenNode
541
542         * po/Makevars: add my email address
543
544         * Makefile.am, configure.ac, parser/.cvsignore, parser/obparser-3.0.pc.in, render/.cvsignore, render/obrender-3.0.pc.in:
545         remove obconf from this tree.
546         add versioning for the libraries and pkgconfig files for them.
547
548         * openbox/config.c, openbox/menu.c, openbox/session.c:
549         dont use obsolete xmlChildrenNode
550
551         * openbox/framerender.c, openbox/menuframe.c: xflush after rendering
552
553         * data/rc.xml, openbox/action.c, openbox/action.h, openbox/client_list_menu.c, openbox/client_menu.c, openbox/config.c, openbox/event.c, openbox/keyboard.c, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h, openbox/misc.h, openbox/mouse.c, openbox/mouse.h:
554         little bit of an actions overhaul, added action_run* so that duplicated code can all be in the same place now woot.
555         allow actions to specify when they can be used (ShowMenu cant in the OB_USER_ACTION_MENU_SELECTION case)
556         remove KeyboardMove ad KeyboardResize. Instead, just use Move and Resize and determine if it should be a keyboard move/resize in the code
557
558 2003-09-06  Ben Jansens  <xor@zed.orodu.net>
559
560         * openbox/plugin.c, openbox/plugin.h:
561         these shoulda been removed long ago
562
563         * openbox/event.c: \n's at the end of strings passed to ob_debg
564
565         * openbox/client.c: Closes #799. i think im too high to say more.
566
567         * openbox/screen.c:
568         sync before removing all the enter events. this way it actually catches them
569
570         * render/theme.c:
571         add the margins to the label_height so that the text doesnt cover the bevel/border
572
573 2003-09-04  Ben Jansens  <xor@zed.orodu.net>
574
575         * openbox/menu.c: code style fix
576
577         * openbox/menu.c:
578         optimization. don't need a glist where a simple pointer will suffice.
579
580         * openbox/openbox.c: was adding an extra / in ob_expand_tilde
581
582         * openbox/menu.c, openbox/menu.h:
583         when a pipe menu is killed, kill all its submenus as well
584
585         * openbox/geom.h: fix RECT_CONTAINS, name clash
586
587         * render/image.h, render/render.c:
588         new scaling based on the Bresenham algorithm
589
590         * render/image.c: new scaling, based on the Bresenham algorithm
591
592         * openbox/moveresize.c:
593         off by one caused clients to be resized a little during a move
594
595         * openbox/menuframe.c: oops missed a !
596
597         * data/rc.xml, openbox/config.c: turn off focusDelay by default
598
599         * openbox/openbox.c, openbox/session.c, openbox/session.h, po/POTFILES.in:
600         move session code out of openbox.c all into session.c
601         remove --sm-save-file and --sm-client-id from argv so that they dont get reused when doing a restart.
602
603         * openbox/grab.h: match the declarations in the header
604
605         * openbox/keyboard.c: ungrab only as many times as we grabbed
606
607         * openbox/openbox.c: remove the reconfigure popup
608
609         * openbox/grab.c: match the func prototypes in the header
610
611 2003-09-03  Ben Jansens  <xor@zed.orodu.net>
612
613         * ChangeLog: recent changes
614
615         * openbox/startupnotify.c: fix for not using startup notification
616
617         * ChangeLog: recent changes
618
619         * configure.ac: beta1 time. fuck yah.
620
621         * openbox/openbox.c:
622         kill the window mapping.. its not doing anything anyways? whatever..
623
624         * openbox/mouse.c:
625         dont ungrab/grab all the mouse bindings every time a new one is added. just do it once on startup.
626
627         * openbox/openbox.c:
628         dont exit when a theme can't be loaded during reconfigure
629
630         * openbox/client.c:
631         handle the case where a transient is a child of a dockapp
632
633         * openbox/moveresize.c:
634         don't let move/resize occur on non-visible clients
635
636         * openbox/openbox.c:
637         display a popup and perform a smooth transition when reconfiguring
638
639         * openbox/keyboard.c: grab keys on the client windows themselves
640
641         * openbox/frame.c:
642         only remove one flash timer at a time, so all frames dont stop flashing just cuz a window closed
643
644         * openbox/client_list_menu.c: remove from desktop_menus when freed
645
646         * openbox/event.c:
647         use the ob_main_loop_timeout_remove_data to only remove one timer
648
649         * openbox/dock.c: dont set a strut when there are no apps in the dock
650
651         * openbox/client.c:
652         support getting the desktop from the startup notification protocol
653         pass on to the startup notification code that a window has mapped with a given wmclass
654
655         * openbox/client.h: add the startup_id
656
657         * openbox/openbox.c, openbox/openbox.h: add the NONE cursor.
658         remove startup notification code from openbox.c and openbox.h
659         call the new sn_startup/shutdown for startupnotification.c
660
661         * openbox/moveresize.c: use NONE cursor when not specifying one
662
663         * Makefile.am:
664         remove startup hacks and add startup notification in its own files
665
666         * openbox/event.c:
667         remove the startup notification code from event.c, it all lives in its own file now
668
669         * openbox/startupnotify.c, openbox/startupnotify.h:
670         add startup notification in its own .c/.h files
671
672         * openbox/menuframe.c: use the NONE cursor when not specifying one
673
674         * openbox/mainloop.c, openbox/mainloop.h:
675         add ob_main_loop_timeout_remove_data.
676         make the timeout remove functions remove *all* timeouts that match
677
678         * openbox/startup.c, openbox/startup.h:
679         remove teh startup state saving hacks since we can reconfigure now. no more restarting for the average user anymore.
680
681         * openbox/grab.c: use the NONE cursor when not specifying one
682
683         * openbox/screen.c, openbox/screen.h:
684         remove all the startup notification code from screen.c
685
686         * openbox/prop.c, openbox/prop.h: add the startup_id atom
687
688         * openbox/action.c, openbox/keyboard.c, openbox/mouse.c:
689         use the NONE cursor when not specifying a cursor
690
691         * openbox/misc.h: add a NONE cursor, to not change the cursor at all
692
693         * data/menu.xml: add reconfigure to the menu
694
695         * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/event.h, openbox/focus.c, openbox/focus.h, openbox/frame.c, openbox/frame.h, openbox/grab.h, openbox/group.c, openbox/group.h, openbox/keyboard.c, openbox/keyboard.h, openbox/menu.c, openbox/menu.h, openbox/mouse.c, openbox/mouse.h, openbox/moveresize.c, openbox/moveresize.h, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/screen.h, openbox/window.c, openbox/window.h:
696         add a reconfigure action, also reconfigure on SIGUSR2.
697         support reconfiguring throughout the entire codebase.
698
699         * themes/TheBear/openbox-3/themerc: updates for thebear from merry
700
701         * openbox/event.c:
702         make focusDelay check the destroying window properly before killing the timer
703
704         * data/rc.xml: add default A-space binding for the client menu
705
706         * AUTHORS: add teh focusDelay option for mikachu
707
708         * openbox/menuframe.c, openbox/menuframe.h:
709         track the maximum margin of menu items. use this to keep icons in the menus inside the bevel/borders of the menu items
710
711         * ChangeLog: recent changes
712
713         * configure.ac: alpha8
714
715         * data/rc.xml, openbox/config.c, openbox/config.h, openbox/event.c:
716         add the focusDelay option
717
718         * openbox/mouse.c:
719         dont grab frame context mouse bindings on desktop windows
720
721         * openbox/client.c, openbox/client.h, openbox/menu.c, openbox/moveresize.c:
722         make the client destructor a GDestroyNotify
723
724         * Makefile.am: add themeupdate.py to the distribution
725
726         * data/rc.xml: add focus the desktop on left click binding
727
728         * openbox/menuframe.c: rm empty line
729
730         * openbox/menuframe.c: limit menus' width to 400px
731
732         * data/rc.xml, openbox/config.c:
733         rename the theme name node from 'theme' to 'name'
734
735         * data/rc.xml: fix capitalization and empty tags. cleanup.
736
737         * data/rc.xml: remove obsolete placement/remember option
738
739         * openbox/moveresize.c:
740         only show resize popups for clients with size increments. no move popup at all. waste of screen space.
741
742         * openbox/popup.c: use the provided margins to layout the popup better
743
744         * render/render.c, render/render.h:
745         provide a function to give the margins for an appearance
746
747         * data/rc.xml, openbox/config.c:
748         make the default screen-edge resistance 20 (double what it is for windows)
749
750         * render/render.c:
751         we use the offsets we get from the server, we should use the byte order too..
752
753         * render/color.c: remove bad comment
754
755 2003-09-02  Ben Jansens  <xor@zed.orodu.net>
756
757         * openbox/moveresize.c:
758         more fixes to keep the pointer stuff aligned when doing keyboard move/resize
759
760         * openbox/moveresize.c:
761         fix flashing when using keyboard move against the edge of the screen
762
763         * render/gradient.c:
764         interlace is drawn first, so bevels n shit cover it
765
766         * openbox/client_menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h:
767         use new menu.bullet.selected.imageColor. use the text colors for the menu mask icons instead of teh bullet color, and set it based on selected/disabled/normal like the text.
768
769         * render/theme.c, render/theme.h: add menu.bullet.selected.imageColor
770
771         * openbox/action.c:
772         grab the mouse before any move/resizes in actions, preventing focus from moving when followMouse is on and the window moves/resizes out from under the pointer
773
774         * Makefile.am, data/menu, data/menu.xml, data/rc.xml, openbox/menu.c:
775         move the default menu to menu.xml
776
777         * openbox/session.c: remove debug prints
778
779         * render/render.c: remove debug print
780
781         * render/color.c: remove XXX comment, it was right, now its done :>
782
783         * render/color.c, render/color.h:
784         use the new color hash to cache RrColors
785
786         * render/instance.c, render/instance.h, render/render.h:
787         move some internal functions from render.h to instance.h
788         add a color hash table to the RrInstance
789
790         * openbox/resist.c: remove debug print
791
792         * openbox/mainloop.c: make the segfault swearing more clear
793
794         * openbox/moveresize.c:
795         add comment about the new code in moveresize for size increment windows
796
797         * openbox/client.c, openbox/moveresize.c:
798         stop doing stupid shit for the size increments in client_configure, it belongs in the moveresize code. add it there.
799
800         * openbox/resist.c, openbox/resist.h:
801         separate window and screen snapping so only one or the other can be used
802
803         * openbox/action.c: grow to edge is a move and a resize, oops
804
805 2003-09-01  Ben Jansens  <xor@zed.orodu.net>
806
807         * Makefile.am, data/rc.xml, data/rc3, parser/parse.c:
808         move rc3 to rc.xml
809
810         * Makefile.am: update for the new theme selections
811
812         * data/rc3: make thebear the default theme
813
814         * themes/TheBear/openbox-3/themerc:
815         add a menu overlap and smaller font size for the menu items
816
817         * themes/Allegro/openbox-3/bullet.xbm, themes/Allegro/openbox-3/themerc, themes/Artwiz/openbox-3/themerc, themes/Blah41/openbox-3/themerc, themes/Om4Ob/openbox-3/themerc, themes/TheBear/openbox-3/themerc:
818         add/fix themes for 3.0
819
820         * openbox/menuframe.c, openbox/popup.c, render/theme.c, render/theme.h:
821         rename back the app_selected appearances to app_hilite
822
823         * tools/themeupdate/themeupdate.py: some stuff is exact
824
825         * tools/themeupdate/themeupdate.py: remove menu.bullet from themes
826
827         * tools/themeupdate/themeupdate.py: show errors on stderr
828
829         * tools/themeupdate/themeupdate.py: nicer usage output
830
831         * openbox/moveresize.c: this move is not final
832
833         * openbox/openbox.c:
834         make ob_expand_tilde expand all tildes in the string
835
836         * tools/themeupdate/themeupdate.py: global valid
837
838         * tools/themeupdate/themeupdate.py: more checks, for pixelsize fonts
839
840         * tools/themeupdate/themeupdate.py:
841         add more checks, for fonts, and for missing stuff
842
843         * tools/themeupdate/themeupdate.py:
844         update oldschool .xft.font options from ob2
845
846         * tools/themeupdate/themeupdate.py: enable all the tests
847
848         * tools/themeupdate/themeupdate.py: check for oldschool fonts
849
850         * tools/themeupdate/themeupdate.py: check window.button.pressed
851
852         * tools/themeupdate/themeupdate.py:
853         themeupdate already fixes some recent changes
854
855         * openbox/popup.c: couple more xrdb theme format cleanups:
856         window.focus.font -> window.label.focus.font
857         window.unfocus.font -> window.label.unfocus.font
858         window.justify -> window.label.justify
859         menu.frame.* -> menu.items.*
860         menu.hilite.* -> menu.selected.*
861         *.picColor -> *.imageColor
862
863         * openbox/client_list_menu.c: remove an old plugin call
864
865         * openbox/menuframe.c, render/theme.c, render/theme.h:
866         couple more xrdb theme format cleanups:
867         window.focus.font -> window.label.focus.font
868         window.unfocus.font -> window.label.unfocus.font
869         window.justify -> window.label.justify
870         menu.frame.* -> menu.items.*
871         menu.hilite.* -> menu.selected.*
872         *.picColor -> *.imageColor
873
874         * data/rc3: remove the urgent options
875
876         * openbox/frame.c:
877         dont crash when flashing a window when it goes away, remove the timer when dying
878
879         * openbox/client.c: flash when urgent
880
881         * openbox/action.c, openbox/action.h: remove vibrate and flash actions
882
883         * openbox/frame.c, openbox/frame.h:
884         improved frame flashing code, can start and stop it on command
885
886         * openbox/config.c, openbox/config.h: remove the urgent actions
887
888         * render/render.c: i rul.. at typos..
889
890         * render/render.c: copy/free the new interlaced color
891
892         * render/gradient.c, render/render.h, render/theme.c:
893         add interlaceColor, and support interlaced gradients
894
895         * data/rc3: add flashing urgent windows
896
897         * openbox/action.c, openbox/action.h: add flash action
898
899         * openbox/frame.c, openbox/frame.h: add code to flash the frame
900
901         * openbox/menuframe.c:
902         make separators span the width of the entire menu
903
904         * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/config.c, openbox/config.h, openbox/moveresize.c:
905         add urgent actions
906         add some macros for moving/resizing clients
907         add 'vibrate' action
908
909         * openbox/action.c: s/expand_tile/ob_expand_tilde/
910
911         * openbox/config.h: missing 'extern' for a bunch of vars
912
913         * openbox/action.c, openbox/config.c, openbox/menu.c, openbox/openbox.c, openbox/openbox.h:
914         move expand_tilde to ob_expand_tilde in openbox.c to make it global.
915         use it on the command read in the menu parsing for pipe menus.
916         use it on the command read for execute/restart actions.
917
918 2003-08-31  Ben Jansens  <xor@zed.orodu.net>
919
920         * openbox/menu.c: parse all the menu files specified
921
922         * openbox/mainloop.c: oops, now is in the loop :>
923
924         * openbox/mainloop.c: get the current time when adding timers
925
926         * configure.ac: i dont use sed for anything, no need to check for it
927
928         * Makefile.am: rm some plugin stuff that i missed
929
930         * configure.ac: alpha7
931
932         * ChangeLog: changes
933
934         * openbox/action.c, openbox/action.h, openbox/screen.c, openbox/screen.h:
935         add the DesktopLast action, props to marius nita for this one
936
937         * openbox/event.c: remove debug print
938
939         * openbox/client_list_menu.c:
940         add a separator in the client-list-menus above iconic windows
941
942         * openbox/menuframe.c:
943         dont lose the menu selection while puttin the mouse over a separator (properly)
944
945         * openbox/event.c: compress events properly
946
947         * openbox/menuframe.c:
948         only hide menus if theyre supposed to when executing
949
950         * openbox/action.c, openbox/action.h:
951         make directional focusing an interactive action
952
953         * data/rc3: the <interactive> tags are no longer needed
954
955         * openbox/screen.c:
956         make desktop cycling work properly when non-interactive
957
958         * openbox/keyboard.c, openbox/mouse.c:
959         when no modifiers are in a binding, then make it non-interactive
960
961         * openbox/focus.c, openbox/focus.h:
962         make focus cycling work when not interactive
963         add focus_directional_cycle
964
965         * AUTHORS: tore did some more actions :)
966
967         * openbox/keyboard.c:
968         ungrab keys before grabbnig keys at the next chain level
969
970         * openbox/grab.c:
971         grab the pointer Async for key grabs, lets key bindings like <execute>xkill</execute> work
972
973         * openbox/menuframe.c, openbox/menuframe.h: draw menu separators
974
975         * render/render.c, render/render.h: add RrColorGC
976         add a LineArt texture type for drawing a line, this is used for drawing the menu separators
977
978         * render/gradient.c, render/mask.c: use RrColorGC
979
980         * render/color.c: add RrColorGC
981
982         * openbox/stacking.c: kill a warning
983
984         * openbox/client.c:
985         move_onscreen was supposed to go away.. :) thanks mikachu
986
987 2003-08-30  woodblock  <woodblock@zed>
988
989         * AUTHORS: *** empty log message ***
990
991 2003-08-30  Ben Jansens  <xor@zed.orodu.net>
992
993         * openbox/client_menu.c:
994         add masks from the titlebar buttons to the client menu's options
995
996         * openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h:
997         add suppot for showing pixmap masks in menus where the rgba icons go too
998
999         * openbox/client.c: use the nwe theme's show_handle value
1000
1001         * render/theme.c, render/theme.h:
1002         allow handlewidth of 0, which sets show_handle to false
1003
1004         * openbox/event.c: compress motion events
1005
1006         * render/theme.c: bugz, wrong vars
1007
1008         * openbox/menuframe.c: add padding in the menu title too
1009
1010         * openbox/client.c, openbox/client.h, openbox/menu.c, openbox/moveresize.c:
1011         add destructor functions for clients that you acn subscribe with, and use these instead of hardcoding special cases in the unmanage code
1012
1013         * data/rc3, openbox/action.c, openbox/action.h, openbox/client_list_menu.c, openbox/config.c, openbox/config.h, openbox/focus.c, openbox/focus.h, openbox/keyboard.c, openbox/mouse.c, openbox/screen.c, openbox/screen.h:
1014         make interactive actions a type and not special cases.
1015         add the <interactive> option to them to turn off interactivity
1016
1017         * openbox/grab.c: remove debug print
1018
1019         * Makefile.am, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/event.h, openbox/grab.c, openbox/keyboard.c, openbox/mainloop.c, openbox/mainloop.h, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/timer.c, openbox/timer.h:
1020         using the ObMainLoop, which rulz the planet
1021
1022         * data/rc3: put debian menu file first
1023
1024         * openbox/menu.c, openbox/menu.h: add pipe-menus
1025
1026         * openbox/menuframe.c: fix grabbing and not releasing with menus
1027
1028 2003-08-29  Ben Jansens  <xor@zed.orodu.net>
1029
1030         * openbox/menuframe.c: dont ungrab twice when hiding menus
1031
1032         * openbox/event.c:
1033         properly select the first menu item in the child menu when using the 'right' keycode
1034
1035         * openbox/menuframe.c: dont keyboard nav onto disabled menu items
1036
1037         * openbox/event.c:
1038         missing break would be bad in future if added more cases
1039
1040         * Makefile.am, configure.ac: dont need gmodule anymore
1041
1042         * openbox/event.c, openbox/menu.c, openbox/menuframe.c, openbox/menuframe.h:
1043         ultra-keyboard-controlled-menus
1044
1045         * openbox/translate.c, openbox/client_list_menu.c, openbox/client_menu.c:
1046         fix includes
1047
1048         * po/POTFILES.in: update which files have translatable strings
1049
1050         * Makefile.am, configure.ac: the kernel/ dir has been moved to openbox/
1051
1052         * openbox/openbox.c: remove the plugin stuffs
1053
1054         * openbox/resist.c: remove a dispatch.h
1055
1056         * openbox/action.c, openbox/menu.c, openbox/menu.h:
1057         remove plugins from the menu parsing
1058
1059         * Makefile.am, data/menu, data/rc3, openbox/client_list_menu.c, openbox/client_list_menu.h, openbox/client_menu.c, openbox/client_menu.h:
1060         move the client and client-list menus into the 'kernel'
1061
1062         * Makefile.am, openbox/client.c, openbox/dispatch.c, openbox/dispatch.h, openbox/event.c, openbox/focus.c, openbox/moveresize.c, openbox/openbox.c, openbox/screen.c:
1063         remove the event dispatcher
1064
1065         * openbox/action.c:
1066         typo, reading from the wrong member of the actiondata union
1067
1068         * Makefile.am, openbox/place.c, openbox/place.h:
1069         add window placement routines to the kernel
1070
1071         * openbox/menuframe.c:
1072         place submenus with their borders over the parent's
1073
1074         * render/theme.c: nicer default bullets
1075
1076 2003-08-28  Ben Jansens  <xor@zed.orodu.net>
1077
1078         * render/theme.c:
1079         only left-justify menus, remove the menu.frame.justify option
1080
1081         * openbox/menu.c, openbox/menuframe.c, openbox/openbox.c, openbox/prop.c, openbox/screen.c, render/color.c, render/font.c, render/theme.c:
1082         fix a bunch of memleaks from valgrind and stuff
1083
1084         * render/render.c: free rgba texture caches
1085
1086         * openbox/menuframe.c: only execute enabled items
1087
1088         * data/rc3, openbox/config.h, openbox/event.c, openbox/event.h, openbox/menu.c, openbox/menu.h:
1089         new method for loading menu files etc
1090
1091         * openbox/config.c: fix crash bug is parsing menu section of the rc3
1092
1093         * openbox/menuframe.c: missed one thing, using invalid mem still
1094
1095         * openbox/menu.c, openbox/menu.h, openbox/menuframe.c:
1096         fix for using freed memory to exec stuff
1097
1098         * openbox/menuframe.c: free the menu entry frames
1099
1100         * openbox/action.c: rm double ;;
1101
1102         * openbox/menu.h, openbox/menuframe.c:
1103         add icons to the client-list-menu
1104
1105         * data/menu, data/rc3: load the plugins in the rc3 for the menus
1106
1107         * openbox/menu.c, openbox/menu.h, openbox/menuframe.c:
1108         make submenus not require the menu to exist when they are created, not until they are shown.
1109         crash fix in client_menu
1110
1111         * Makefile.am, data/menu, openbox/action.c, openbox/action.h, openbox/config.c, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h:
1112         make client-list-menu work too
1113         more menu cleanups
1114
1115         * data/menu, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/plugin.c, openbox/plugin.h, openbox/screen.c, openbox/session.c, parser/parse.c:
1116         load menu plugins automatically from whats in the menu file
1117         menu fixups
1118         move enabled into the 'normal menu item' specific data stuff
1119
1120         * Makefile.am, data/menu, openbox/client.c, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h, openbox/openbox.c, openbox/plugin.c, openbox/plugin.h:
1121         change the menu plugin interface, no need for the create/destroy functions any more.
1122         redo the client-menu plugin to work with the new menu api
1123
1124         * openbox/action.c, openbox/action.h:
1125         add follow option back for sendto actions
1126
1127         * data/menu: split the menus out so they aren't nested in the example
1128
1129         * Makefile.am, openbox/client.c, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/menuframe.c, openbox/menuframe.h, openbox/popup.c, openbox/window.c, openbox/window.h, render/font.c, render/theme.c, render/theme.h:
1130         half way through the changes to new menu code/design. hot shit. static menus work, on to plugins next.
1131
1132 2003-08-27  Ben Jansens  <xor@zed.orodu.net>
1133
1134         * openbox/geom.h: oooops RECT_SET_POINT was broken
1135
1136         * openbox/event.c: more typo :)
1137
1138         * openbox/event.c: typo :)
1139
1140         * openbox/client.c, openbox/event.c:
1141         dont be rude to non-normal windows with keeping them onscreen
1142
1143         * openbox/frame.c: fix border on shaded maximized windows
1144
1145         * openbox/event.c: double deref, props to 'mmj' for spotting this
1146
1147 2003-08-25  Ben Jansens  <xor@zed.orodu.net>
1148
1149         * openbox/client.c:
1150         remove the last of the cool stuff thanks to GTK fuck fuck. no more not focusing windows in groups that arent focused on map
1151
1152         * openbox/session.c: blef
1153
1154         * openbox/session.c: type change
1155
1156         * openbox/session.c: make --disable-session-management work i think
1157
1158         * openbox/focus.c: dont force fallbacks within groups
1159
1160         * openbox/client.c, openbox/frame.c, openbox/frame.h:
1161         better handling of maximizing, wrt changing decorations on the windows, and showing the correct decor for the max state especially for windows which dont change size (Xnest) when maximized cuz they are at their maximum size already
1162
1163         * openbox/geom.h: add STRUT_EQUAL
1164
1165         * openbox/frame.c:
1166         set the client decorations to match the frame's so that there is not thot to be changes later on whene there were actually none
1167
1168         * openbox/client.c, openbox/client.h:
1169         restore the stacking order of a saved session
1170
1171         * openbox/session.c, openbox/session.h:
1172         save the stacking order of the windows, and sort the saved session data based on stacking when it is loaded. make the list public.
1173
1174         * openbox/screen.c:
1175         dont put #define values into the supported atoms list
1176
1177         * openbox/stacking.h: clarify that stacking_below sucks
1178
1179         * openbox/stacking.c, openbox/stacking.h:
1180         add stacking_below which moves a window to immediately below another window. use with care it doesn't enforce transient shit etc..
1181
1182 2003-08-23  Ben Jansens  <xor@zed.orodu.net>
1183
1184         * openbox/keyboard.c: better handling of multiple niteractive actions
1185
1186         * m4/x11.m4: better ac macro usage
1187
1188         * configure.ac: alpha6
1189
1190         * ChangeLog: recent changes
1191
1192         * openbox/keyboard.c:
1193         end the other action when starting a new interactive action while one was in place
1194
1195         * render/render.c: formatting
1196
1197         * render/render.c: 80 cols
1198
1199         * render/render.c: stupid function name die
1200
1201 2003-08-22  Ben Jansens  <xor@zed.orodu.net>
1202
1203         * render/theme.c: nevermind
1204
1205         * render/theme.c:
1206         default font size one smaller to make default bitmaps fit better
1207
1208         * openbox/action.c:
1209         only use visible windows when calcing for raiselower
1210
1211         * openbox/action.c: maybe smarter
1212
1213         * openbox/action.c: make the raiselower action smarter
1214
1215         * render/theme.c, render/theme.h, themes/Om4Ob/openbox-3/themerc, themes/TheBear/openbox-3/themerc:
1216         make focus and unfocus fonts for window titles. change 'xftfont' to 'font' in the themes.
1217
1218 2003-08-20  Ben Jansens  <xor@zed.orodu.net>
1219
1220         * ChangeLog: recent changes
1221
1222         * openbox/keyboard.c:
1223         better handling of starting a new interactive grab while one is in progress
1224
1225         * data/rc3, openbox/frame.c, openbox/frame.h, openbox/mouse.c:
1226         rename the 'root' context to 'desktop'
1227
1228         * openbox/action.c, openbox/action.h:
1229         add the 'raiselower' action for raising obscured windows and lowering fully visible ones
1230
1231         * openbox/event.c, openbox/frame.c, openbox/frame.h:
1232         add an obscured flag that tracks if the frame is at all obscured
1233
1234         * openbox/mouse.c: use the result from XGetGeometry correctly
1235
1236         * openbox/mouse.c: handle the XGetGeomtry failing for button releases
1237
1238         * openbox/mouse.c:
1239         dont grab client context stuff on desktop windows. check that clint is non-null
1240
1241         * openbox/frame.c, openbox/mouse.c:
1242         grab root mouse bindings on desktop windows also, since they are conceptually the desktop.
1243
1244         * openbox/screen.c:
1245         reset first to TRUE properly when the desktop popup is off
1246
1247         * openbox/moveresize.c:
1248         move the pointer while doing a keyboard move/resize
1249
1250 2003-08-16  Ben Jansens  <xor@zed.orodu.net>
1251
1252         * openbox/keyboard.c: fix whitespace
1253
1254 2003-08-14  Ben Jansens  <xor@zed.orodu.net>
1255
1256         * render/theme.c:
1257         was reading the menu bullet color into the wrong place
1258
1259         * openbox/focus.c:
1260         skip windows in the alt-tabbing which have the SKIP_TASKBAR hint set on them
1261
1262         * README.CVS: add the gettext version
1263
1264         * ChangeLog: recent changes
1265
1266         * openbox/menu.c: fix the offsets used to keep the menus on screen
1267
1268         * openbox/menu_render.c:
1269         dont show titles on submenus. kill the extra 1px at the top of titleless menus
1270
1271         * openbox/menu.c:
1272         make putting plugin menus in a menu closer to working..
1273
1274         * data/menu: rename root to root-menu
1275
1276         * data/rc3: add the client-list-menu
1277
1278         * Makefile.am, openbox/plugin.c: add the client_list_menu plugin
1279
1280         * openbox/menu.c, openbox/menu.h: add a menu destructor callback.
1281         fix a possible crasher where a callback was called with a different menu.
1282
1283         * openbox/stacking.c: 80 cols
1284
1285         * openbox/openbox.c: shutdown the menus before the plugins are unloaded
1286
1287         * openbox/focus.c, openbox/event.c, openbox/client.c, openbox/client.h:
1288         make activate take a here parameter
1289
1290         * openbox/action.c: parse <here>true</here> for the activate action
1291
1292         * openbox/action.c, openbox/action.h:
1293         make the activate action have a 'here' parameter
1294
1295         * openbox/action.c, openbox/action.h: add an 'activate' action
1296
1297 2003-08-12  Ben Jansens  <xor@zed.orodu.net>
1298
1299         * Makefile.am, openbox/config.c, openbox/config.h, openbox/moveresize.c, openbox/plugin.c, openbox/resist.c, openbox/resist.h:
1300         move the resistance plugin into the kernel. dont resist when move/resizing with the keyboard, only when doing it with the mouse.
1301
1302         * openbox/client.c: oops i fucked up tore's patch. better.
1303
1304         * openbox/action.c, openbox/client.c:
1305         bug fixes for growtoedge from tore. props to tore for all the growtoedge and movetoedge code, and directional focus code also since i dont think i mentioned his name before in the changelogs woot.
1306
1307         * Makefile.am, data/menu, data/rc3, openbox/config.c, openbox/config.h, openbox/menu.c, openbox/menu.h, openbox/mouse.c, openbox/openbox.c, openbox/plugin.c, openbox/plugin.h:
1308         adjust for changes to the parsing api.
1309         split the menu into its own file.
1310
1311         * parser/parse.c, parser/parse.h:
1312         create ObParseInst structuer which can be then used to parse more than one file/memory thing at a time.
1313         add function to parse memory block.
1314
1315         * openbox/config.c, openbox/mouse.c, openbox/mouse.h:
1316         prefix/capitalize the mouse actions enum
1317
1318         * openbox/config.c:
1319         oops read the mouse cnofig vars into the right place
1320
1321         * data/rc3, openbox/config.c, openbox/config.h, openbox/keyboard.c:
1322         add the chainQuitKey option to teh <keyboard> section of the rc3
1323
1324         * render/font.h, render/render.h, render/test.c:
1325         add Xutil includes for these badboys on older X versions/solaris
1326
1327         * render/theme.c:
1328         make all the masks unsigned chars for consistancy woot
1329
1330         * render/theme.c: kill some warnings
1331
1332         * openbox/extensions.h: include Xutil for shape.h on old X versions
1333
1334         * openbox/menu_render.c, render/theme.c:
1335         rendering fixups for submenu bullets
1336
1337         * data/rc3: add the cyclingDialog option
1338
1339         * data/rc3:
1340         remove the scrolling on root without alt since that fucks up with the dialog since there are no modifiers
1341
1342         * openbox/config.c, openbox/config.h, openbox/mouse.c, openbox/screen.c:
1343         add an option for if the popup is used for desktop cycling. defaults on.
1344
1345         * openbox/client.c: dont move windows when starting
1346
1347         * ChangeLog: recent changes
1348
1349         * configure.ac: alpha5
1350
1351         * openbox/screen.c: when cancelling return the first desktop
1352
1353         * openbox/action.c, openbox/action.h:
1354         use the new client_directional_edge_search for the movetoedge actions.
1355         add new growtoedge actions.
1356
1357         * openbox/client.c, openbox/client.h:
1358         small bugfix to the directional focus code.
1359         add the client_directional_edge_search function.
1360
1361         * openbox/keyboard.c:
1362         only do shit with the grabbed_* when a grab is in place
1363
1364         * openbox/action.c, openbox/mouse.c, openbox/screen.c:
1365         remove debug printings
1366
1367         * ChangeLog, Makefile.am, openbox/.cvsignore, openbox/action.c, openbox/action.h, openbox/client.c, openbox/config.c, openbox/config.h, openbox/event.c, openbox/focus.c, openbox/keyboard.c, openbox/keyboard.h, openbox/keytree.c, openbox/keytree.h, openbox/menu.c, openbox/menu.h, openbox/mouse.c, openbox/mouse.h, openbox/openbox.c, openbox/plugin.c, openbox/screen.c, openbox/screen.h, openbox/translate.c, openbox/translate.h:
1368         move the keyboard and mouse plugins into the kernel for mucho sexiness.
1369         make workspace changing a grabbed/interactive process like focus cycling is, with the popup and all.
1370         this is some hot shit.
1371
1372         * openbox/event.c:
1373         keep event_lasttime at the last time an event has come in so far, don't regress when events come out of order. props to shrimpx for this patch.
1374
1375 2003-08-11  woodblock  <woodblock@zed>
1376
1377         * openbox/menu.c, openbox/menu.h, openbox/menu_render.c, render/theme.c, render/theme.h:
1378         Some fixes and new bugs. Someone else can do the menus because it is
1379         clear no one gives a fuck what I think and no one else wants a window
1380         manager that doesn't suck the same balls as every other window manager.
1381
1382 2003-08-10  Ben Jansens  <xor@zed.orodu.net>
1383
1384         * openbox/client.c:
1385         save the frame decorations in client_configure_full before causing the fake frame adjust, since that loses its old value.
1386
1387         * openbox/framerender.c:
1388         clear the window after setting the background color, this isnt implicit
1389
1390 2003-08-09  Ben Jansens  <xor@zed.orodu.net>
1391
1392         * openbox/focus.c, openbox/popup.c, openbox/popup.h, openbox/screen.c, openbox/timer.c, openbox/timer.h:
1393         changes to the timer api, pass the timer to the callback function.
1394         add a desktop-switch popup with the desktop's name
1395
1396 2003-08-08  Ben Jansens  <xor@zed.orodu.net>
1397
1398         * render/render.h: include Xlib.h for other platforms
1399
1400 2003-08-07  woodblock  <woodblock@zed>
1401
1402         * openbox/event.c:
1403         Fix lock up when not using a session manager and doing fd management.
1404
1405 2003-08-06  Ben Jansens  <xor@zed.orodu.net>
1406
1407         * data/rc3:
1408         remove the <windows> option from the resistance plugin since window and edge resistance have been separated, a 0 value will work now
1409
1410 2003-08-05  Ben Jansens  <xor@zed.orodu.net>
1411
1412         * openbox/screen.c: dont ignore topleft layouts
1413
1414         * openbox/frame.c:
1415         dont map the tl/tr invisible grips when the grip decors are turned off
1416
1417         * render/gradient.c: split the increment into a separate macro
1418
1419         * openbox/client.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c:
1420         a couple frame layout bugfixes hidden inside all this.. wee
1421         fixes for maximizing windows:
1422          - when you toggledecor, it will reconfigure once, but the new constraints from the decor changes would not be in effect when the window was resized to the contranits. fixed by calling frame_adjust_area first thing ni client_configure_fulll with fake=TRUE which will recalc all the frame geometry without resizing/redrawing anything in the frame. this way the decor can take effect in the geometries.
1423          - when maxed horizontally, make the client fill the screen, but dont do this by just making it wider than the screen, fit it to the screen and adjust the titlebar/handle as appropriate to keep it all on the screen.
1424          - when maxed horizontally and vertically, remove the handle from the decorations
1425
1426         * openbox/client.c:
1427         when setting up decor on a window, it needs to reconfigure twice if the decor changes, cuz the constraints need the new frame sizes to work right
1428
1429         * openbox/moveresize.c:
1430         make the position dislpayed in the moving popup offset by the top/left struts so that 0,0 is inside teh struts not neccessarily at the screen edge
1431
1432 2003-08-03  Ben Jansens  <xor@zed.orodu.net>
1433
1434         * ChangeLog: recent changes
1435
1436         * data/rc3, openbox/client.c, openbox/config.c, openbox/config.h, openbox/moveresize.c:
1437         kill non-opaque move/resize
1438         add an option for redrawing/resizing the client window while resizing, when disabled the client is not touched until the resize is complete.
1439
1440         * openbox/framerender.c:
1441         give the plate the same background color as its border
1442
1443 2003-08-02  Ben Jansens  <xor@zed.orodu.net>
1444
1445         * openbox/client.c, openbox/event.c:
1446         use the frame size not the client size when figuring out if stuff fits on the screen
1447
1448         * themes/Om4Ob/openbox-3/themerc:
1449         add disabled button styles (from miklos)
1450
1451         * tools/kdetrayproxy/kdetrayproxy.c: missing sys/time.h
1452
1453         * configure.ac: alpha4
1454
1455         * ChangeLog: recent changes
1456
1457         * Makefile.am, themes/Om4Ob/openbox-3/close.xbm, themes/Om4Ob/openbox-3/close_hover.xbm, themes/Om4Ob/openbox-3/desk.xbm, themes/Om4Ob/openbox-3/desk_hover.xbm, themes/Om4Ob/openbox-3/desk_toggled.xbm, themes/Om4Ob/openbox-3/iconify.xbm, themes/Om4Ob/openbox-3/iconify_hover.xbm, themes/Om4Ob/openbox-3/iconify_pressed.xbm, themes/Om4Ob/openbox-3/max.xbm, themes/Om4Ob/openbox-3/max_disabled.xbm, themes/Om4Ob/openbox-3/max_hover.xbm, themes/Om4Ob/openbox-3/max_pressed.xbm, themes/Om4Ob/openbox-3/max_toggled.xbm, themes/Om4Ob/openbox-3/shade.xbm, themes/Om4Ob/openbox-3/shade_disabled.xbm, themes/Om4Ob/openbox-3/shade_hover.xbm, themes/Om4Ob/openbox-3/shade_toggled.xbm, themes/Om4Ob/openbox-3/themerc:
1458         add the om4ob theme
1459
1460         * ChangeLog: recent changes
1461
1462         * render/theme.c: oops indenting
1463
1464         * render/theme.c:
1465         look in theme dirs first, use the theme as the path as a last attempt only!
1466
1467         * openbox/frame.c: the grips go below the titlebar buttons
1468
1469         * openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/geom.h, openbox/prop.c, openbox/prop.h:
1470         add partial struts tho they arent useful eyt
1471
1472         * data/rc3, openbox/frame.c, openbox/frame.h, openbox/framerender.c, render/theme.h:
1473         invisible resizing areas/grips in the top corners of the window
1474
1475         * render/theme.c: use the toggled mask for shade and desk buttons
1476
1477         * openbox/client.c: that line ended up in teh if somehow...
1478
1479 2003-08-01  Ben Jansens  <xor@zed.orodu.net>
1480
1481         * openbox/grab.c: oops buttons not keycodes
1482
1483         * openbox/grab.c:
1484         if a dock app has a button grabbed already then dont die
1485
1486         * render/theme.c: look for masks only where the themerc was read from
1487
1488         * Makefile.am: rename stick buttons to desk
1489
1490         * render/theme.c, render/theme.h:
1491         add pressed bitmaps. rename stick bitmaps to desk
1492
1493         * openbox/framerender.c, render/theme.c, render/theme.h:
1494         add toggled textuers for titlebar buttons
1495
1496         * Makefile.am: make obconf_interface.h belong to the obconf sources
1497
1498         * data/openbox.desktop, openbox/openbox.desktop, render/gradient.c, render/render.c, render/render.h:
1499         move the dekstop file to data/
1500
1501         * Makefile.am: install the .desktop file again
1502
1503         * themes/TheBear/openbox-3/themerc: remove old stuff
1504
1505         * Makefile.am: install greenz theme
1506
1507         * Makefile.am: s/_t.xbm/_toggled.xbm/
1508
1509         * render/theme.c, render/theme.h:
1510         renamed the _t bitmaps, and added disabled and hover bitmaps
1511
1512         * Makefile.am, render/theme.c, themes/TheBear/openbox-3/themerc, themes/bbs, themes/bluebox, themes/cthulhain, themes/deep, themes/ebox, themes/fieron, themes/fieron2, themes/flux, themes/frobozz, themes/frobust, themes/mbdtex, themes/miklos, themes/nyz, themes/nyzclone, themes/ob20, themes/operation, themes/outcomes, themes/paper, themes/purplehaaze, themes/shade, themes/steelblue, themes/steelblue2, themes/the_orange, themes/trisb, themes/twice, themes/warp-xp:
1513         make themes inside a directory
1514
1515         * Makefile.am, tools/kdetrayproxy/.cvsignore, tools/kdetrayproxy/Makefile, tools/kdetrayproxy/kdetrayproxy.c:
1516         add the kdetrayproxy tool
1517
1518         * openbox/screen.c:
1519         configre teh dock after finding the new screen sizes
1520
1521         * openbox/session.c: compile fixes
1522
1523         * render/theme.c: add missing includes
1524
1525 2003-07-31  Ben Jansens  <xor@zed.orodu.net>
1526
1527         * ChangeLog: recent changes
1528
1529         * configure.ac: alpha3
1530
1531         * openbox/frame.c: fix a long-lurknig gravity bug
1532
1533         * ChangeLog: recent changes
1534
1535         * openbox/openbox.c: oops missed one
1536
1537         * openbox/openbox.c, openbox/openbox.h: expose exit_with_error
1538
1539         * openbox/session.c: kill some output
1540
1541         * openbox/openbox.c:
1542         only load the session from file if a file was provided
1543
1544         * render/font.c: missing a header
1545
1546         * README.CVS: remove shit i no longer use
1547
1548         * parser/parse.c: always return a string from parse_string
1549
1550         * openbox/client.c:
1551         set the desktop hint if the desktop is changed by the session code
1552
1553         * openbox/client.c:
1554         set the desktop hint after everything is read/setup even session stuff
1555
1556         * openbox/client.c:
1557         add the window to the lists before setting the client list hint
1558
1559         * openbox/session.c:
1560         declare functions that are needed when built without session support
1561
1562         * openbox/session.c:
1563         use the new sm_client_id function so all windows who should save state do. session save/load seems to be working with gnome-session rather well.
1564
1565         * openbox/client.c, openbox/client.h:
1566         add a function to retrieve the sm_client_id value
1567
1568 2003-07-30  Ben Jansens  <xor@zed.orodu.net>
1569
1570         * openbox/client.c, openbox/prop.c, openbox/prop.h, openbox/session.c, openbox/session.h:
1571         restore saved session data for applications
1572
1573         * data/rc3, openbox/config.c, openbox/config.h, openbox/frame.c, render/theme.c, render/theme.h:
1574         move the titlebar layout from the theme to the rc file
1575
1576         * openbox/client.c: attemp #3
1577
1578         * openbox/client.c: attempt #2 at better logical size values
1579
1580         * openbox/client.c: include the base size in the logical size
1581
1582         * ChangeLog: recent changes
1583
1584         * openbox/client.c: the size can be 0 when there is a base size
1585
1586         * openbox/client.c, openbox/client.h, openbox/event.c:
1587         improved ICCCM compliance!
1588           a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
1589           b) send the corrent coords in the ConfigureNotify, including the border width
1590           c) remove the WM_STATE property when unmanaging a window
1591
1592         * openbox/frame.c: code cleaning
1593
1594         * openbox/menu.c: only ignore wheel buttons
1595
1596 2003-07-29  Ben Jansens  <xor@zed.orodu.net>
1597
1598         * openbox/event.c: i am the king of copy/paste errors
1599
1600 2003-07-29  woodblock  <woodblock@zed>
1601
1602         * openbox/event.c: more menu fixes.
1603         I hate menus.
1604
1605         * openbox/menu.c: Clear current_menu when hiding menus.
1606
1607         * openbox/event.c, openbox/menu.c: Close menu properly on unbound keys.
1608
1609         * openbox/menu.c: Fix some keyboard control issues.
1610
1611 2003-07-28  Ben Jansens  <xor@zed.orodu.net>
1612
1613         * openbox/client.c, openbox/event.c:
1614         base rudeness on if they have a strut even smarter!
1615
1616         * openbox/client.c, openbox/event.c:
1617         base rudeness on if they have a strut or not
1618
1619         * openbox/client.c, openbox/event.c, openbox/screen.c:
1620         make the new placement restrictions not affect !normal windows like panels
1621
1622         * openbox/menu.c: use plugin_open_reopen not plugin_open_full
1623
1624         * render/theme.c: typo thanks merry
1625
1626         * openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c:
1627         hover theme elements for window titlebar buttons
1628
1629         * openbox/client.c, openbox/client.h, openbox/event.c, openbox/screen.c:
1630         make those apps stay/map on screen!! fuck stupid apps. thats right im talking to you mozilla and you too java.
1631
1632         * openbox/event.c: make things compile again. hover does not work yet.
1633
1634         * openbox/client.c: use the macro
1635
1636         * openbox/client.c, openbox/event.c:
1637         keep apps from moving/maping their titlebar underneath left/top panels
1638
1639         * openbox/session.c: set teh clone comamnd
1640
1641         * openbox/session.c:
1642         use char not a long, since we're telling the SM that its 1 byte lone
1643
1644         * openbox/session.c: save the commands on startup
1645
1646         * openbox/session.c: use the path properly for the session file
1647
1648         * openbox/session.c: use teh save file not the session id
1649
1650 2003-07-28  woodblock  <woodblock@zed>
1651
1652         * openbox/menu.c: demand load plugins from the menu
1653
1654         * openbox/event.c, openbox/menu.c: Menu stuff.
1655         Testing may begin.
1656
1657 2003-07-27  Ben Jansens  <xor@zed.orodu.net>
1658
1659         * render/theme.c, render/theme.h: fix mem leaks/crashes
1660
1661         * render/theme.c, render/theme.h: add pressed colors for buttons
1662
1663 2003-07-26  woodblock  <woodblock@zed>
1664
1665         * openbox/event.c: Close menu on click if outside the menu.
1666         I think, haven't tested.
1667
1668         * openbox/menu.c: more fixes
1669
1670 2003-07-26  Ben Jansens  <xor@zed.orodu.net>
1671
1672         * Makefile.am, configure.ac: restarting work on obconf
1673
1674         * ChangeLog: recent changes
1675
1676         * data/rc3:
1677         split resistance strengths for screen edges and windows. also a fix for parsing changes,
1678
1679         * openbox/stacking.c: dont stack groups together
1680
1681 2003-07-26  woodblock  <woodblock@zed>
1682
1683         * openbox/event.c, openbox/menu.c, openbox/menu.h: Some menu updates.
1684         Don't talk to me about menus.
1685
1686 2003-07-25  Ben Jansens  <xor@zed.orodu.net>
1687
1688         * openbox/client.c, openbox/client.h:
1689         add client_search_transient which searches the tree from a client down for a client
1690
1691         * render/theme.c: dont allow parentrelative on top-level appearances
1692
1693         * openbox/stacking.c: stacking fixes
1694
1695 2003-07-24  Ben Jansens  <xor@zed.orodu.net>
1696
1697         * Makefile.am, openbox/openbox.c, openbox/openbox.h, openbox/session.c, openbox/session.h:
1698         save and load the session save file, though its data is not used yet!
1699
1700 2003-07-24  woodblock  <woodblock@zed>
1701
1702         * openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c:
1703         I had a commit message but my commit got stepped on so fuck it.
1704         No one cares what I think anyway.
1705         If the menu navigation isn't EXACTLY FUCKING RIGHT I WILL REMOVE IT
1706         AND SOME OTHER POOR FUCK CAN PUT UP WITH ALL THE FUCKING BULLSHIT.
1707
1708 2003-07-24  Ben Jansens  <xor@zed.orodu.net>
1709
1710         * ChangeLog: updates to changelog
1711
1712         * configure.ac:
1713         dont display the build type at the end its already in the output
1714
1715         * configure.ac, openbox/action.c, openbox/client.c, openbox/debug.h, openbox/dock.c, openbox/event.c, openbox/focus.c, openbox/menu.c, openbox/menu_render.c, openbox/openbox.c, openbox/screen.c, parser/parse.c, render/color.c, render/gradient.c, render/instance.c, render/theme.c:
1716         use ob_debug for any debug printing and only display the output when its a debug build or when --debug is passed to it
1717
1718         * render/gradient.c:
1719         draw the bevel stuff in the pixel data buffer so parent-relative stuff can use it.
1720
1721         * render/render.c: space
1722
1723 2003-07-23  Ben Jansens  <xor@zed.orodu.net>
1724
1725         * render/render.c:
1726         init the parent shit in the surface when making a copy
1727
1728         * Makefile.am: use rm -f
1729
1730         * Makefile.am: include obconf_interface.h in the dist
1731
1732         * Makefile.am: remove headers that dont exist
1733
1734         * m4/Makefile.am: add the new m4s
1735
1736         * openbox/menu.c: unhilite the entry for the submenu when it is closed
1737
1738         * configure.ac: alpha2
1739
1740         * DESIGN/themes.txt: add hover
1741
1742 2003-07-23  woodblock  <woodblock@zed>
1743
1744         * Makefile.am:
1745         Added include_menu.c as an example of how one could write a plugin.
1746
1747         * openbox/config.c, openbox/menu.c, parser/parse.c:
1748         * Change xml parsing to pass the parent node, rather than the first
1749         child.
1750         * Add x,y co-ordinates on showmenu action so we can place menus on keypress.
1751
1752 2003-07-22  Ben Jansens  <xor@zed.orodu.net>
1753
1754         * openbox/event.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c:
1755         add the --replace command line option, and support for the WM_Sn selection
1756
1757         * openbox/prop.c, openbox/prop.h: add the MANAGER atom.
1758         allow prop_message to be used with a user-defined mask instead of only with the NetWM mask
1759
1760         * openbox/client.c: stop shownig the desktop when a new window maps
1761
1762         * openbox/menu.c: add a func to find a menu entry from a submenu.
1763         keep menu entries highlighted while they have their submenu open
1764
1765         * openbox/menu.h: add a func to find a menu entry from a submenu
1766
1767         * openbox/menu.c, render/theme.c, render/theme.h:
1768         add a menuOverlap property to themes, and use it in the submenu placement
1769
1770         * configure.ac: update to new version of gettext
1771
1772         * m4/.cvsignore, po/.cvsignore: more stuff to ignore
1773
1774 2003-07-21  woodblock  <woodblock@zed>
1775
1776         * openbox/event.c, openbox/menu.c, openbox/menu.h:
1777         Keyboard navigatable menus
1778
1779 2003-07-19  woodblock  <woodblock@zed>
1780
1781         * openbox/action.c, openbox/menu.c: Fix a couple memory leaks.
1782
1783 2003-07-17  woodblock  <woodblock@zed>
1784
1785         * openbox/menu.c, openbox/menu.h, openbox/plugin.c, openbox/plugin.h:
1786         Menu parsing updates for plugins.
1787
1788         FIFO menus are the only plugin that takes advantage of this.
1789         Example:
1790         <menu id="root" label="Openbox 3">
1791           <menu id="fonk" label="fonk" plugin="fifo_menu">
1792           </menu>
1793         </menu>
1794
1795         This creates a FIFO ~/.openbox/fifo_menu/fonk to which you can send
1796         menus to. The menus sent to it must be like
1797         <fifo>
1798           <item>
1799            etc...
1800         </fifo>
1801
1802         I think. If my memory serves me right.
1803
1804         It is all hideous, but I just wanted to experiment and see if it was
1805         possible.
1806
1807 2003-07-12  Ben Jansens  <xor@zed.orodu.net>
1808
1809         * render/theme.c: useless code move
1810
1811         * openbox/client.c: simple code cleanup
1812
1813 2003-07-11  Ben Jansens  <xor@zed.orodu.net>
1814
1815         * render/color.c, render/render.c:
1816         removed the RrEndian so using LSBFirst always now. hopefully this works!
1817
1818         * openbox/client.c:
1819         when a transient maps on another desktop, give it focus when it deserves it
1820
1821         * render/render.h: same default offsets for all endian machines
1822
1823         * DESIGN/themes.txt: some input from woobie and changed the menu stuff
1824
1825         * DESIGN/themes.txt: extra menu tag
1826
1827         * openbox/openbox.c: add --g-fatal-warnings
1828
1829         * openbox/dock.c:
1830         fix a seggie i introduced, going too far in the dockapps list
1831
1832         * DESIGN/themes.txt: attempt #2
1833
1834         * DESIGN/themes.txt: oops extra menu_layout
1835
1836         * DESIGN/themes.txt: a full style defn..
1837
1838         * openbox/client.c: move to the desktop of the activated window
1839
1840 2003-07-10  Ben Jansens  <xor@zed.orodu.net>
1841
1842         * openbox/action.c, openbox/client.c, openbox/client.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/openbox.c, render/theme.c, render/theme.h, tests/.cvsignore, tests/noresize.c:
1843         add disabled buttons, instead of now showing buttons at all when they wont do anything, now show a disabled button instead. this severely breaks compatibility with blackbox themes since there is no good way to automiatically create a disabled button that i can think of, so if they dont exist in the theme you get black and white for the button.
1844
1845         when a window cant be resized, its handle is not removed but its grips are.
1846
1847         change allowing the user to disable individual decorations as that is overkill,
1848         instead allow a toggle through the client.decorate boolean.
1849
1850         * tests/Makefile: readd the Makefile
1851
1852         * openbox/focus.c: simply startup/shutdown
1853
1854         * AUTHORS: add some more contributors
1855
1856         * openbox/openbox.c: sync is in unistd.h
1857
1858         * openbox/client.c, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/window.c, openbox/window.h:
1859         prefix and capitalize ObMenu ObMenuEntry and ObMenuEntryRenderType
1860         make the ObMenuEntryRenderType a standard enum instead bitflags
1861
1862         * openbox/focus.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/screen.h:
1863         move ob_pointer_pos to screen_pointer_pos
1864
1865         * openbox/client.c, openbox/dock.c, openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/stacking.c:
1866         make ob_state a function so it cant be changed outside of openbox.c
1867
1868         * openbox/client.c, openbox/dock.c, openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/grab.c, openbox/menu.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/prop.c, openbox/screen.c, openbox/stacking.c, openbox/startup.c:
1869         remove the ob_root var, its redundant of what Xlib already provides
1870
1871         * openbox/openbox.c, openbox/openbox.h: use gint
1872
1873         * openbox/openbox.c, openbox/openbox.h:
1874         ob_remote has been killed, remove ob_sync from the public header, its only used internally
1875
1876         * openbox/openbox.c, openbox/openbox.h:
1877         the --rc arg and rc_path var wasnt even being used so just rm it
1878
1879         * openbox/action.c, openbox/event.c, openbox/openbox.c, openbox/openbox.h:
1880         make the ob_restart/shutdown stuff static vars and expose them only through functions ob_restart_other(), ob_restart() and ob_exit()
1881
1882         * openbox/stacking.c: remove useless include
1883
1884         * openbox/focus.c, openbox/focus.h, openbox/screen.c, openbox/screen.h, openbox/stacking.c:
1885         replace the focus_backup with the screen_support_win, we dont need 2 offscreen windows.
1886
1887         * openbox/screen.c:
1888         use the xerror stuff to trap errors instead of dupliacted the effort here
1889
1890         * openbox/dock.c, openbox/dock.h, openbox/screen.c, openbox/timer.c, openbox/timer.h:
1891         prefix the Timer->ObTimer and TimeoutHandler->ObTimeoutHandler shitz
1892
1893         * openbox/action.h, openbox/client.c, openbox/client.h, openbox/config.c, openbox/config.h, openbox/dispatch.c, openbox/dispatch.h, openbox/dock.c, openbox/event.c, openbox/extensions.h, openbox/framerender.c, openbox/framerender.h, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/popup.h, openbox/screen.h, openbox/stacking.c, openbox/stacking.h, openbox/window.c, openbox/window.h:
1894         prefixing and capitalizing the StackLayer -> ObStackingLayer enum.
1895         less includes in headers for less rebuilding on changes
1896
1897         * openbox/client.c, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/screen.c:
1898         prefix and capitalize the ObFocusFallbackType enum
1899
1900         * openbox/config.c, openbox/config.h, openbox/dock.c:
1901         use the ObOrientation enum instead of a horz bool for configuring the dock's orientation
1902
1903         * openbox/config.c, openbox/config.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/window.c, openbox/window.h:
1904         prefixing for the dock. use ObDirection instead of dupliacting it in another enum for the dock's placement
1905
1906         * openbox/popup.c, openbox/popup.h:
1907         prefixing for the Popup->ObPopup struct
1908
1909         * openbox/moveresize.h: dont need client.h in this header
1910
1911         * openbox/client.h, openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/framerender.h, openbox/popup.c:
1912         prefixing and capitalization for the Frame->ObFrame struct and the Context->ObFrameContext enum and its constants.
1913
1914         * openbox/client.h, openbox/group.c, openbox/group.h:
1915         prefix Group to ObGroup
1916
1917         * openbox/client.c, openbox/client.h, openbox/focus.c, openbox/stacking.c:
1918         prefix TRAN_GROUP to OB_TRAN_GROUP
1919
1920         * openbox/action.c, openbox/client.c, openbox/client.h, openbox/frame.h, openbox/screen.c:
1921         prefix and capitalize some more constants/enums in client.h (Function -> ObFunctions and WindowType -> ObClientType)
1922
1923         * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/dispatch.c, openbox/dispatch.h, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/group.c, openbox/group.h, openbox/menu.c, openbox/menu.h, openbox/moveresize.c, openbox/moveresize.h, openbox/popup.c, openbox/popup.h, openbox/screen.c, openbox/screen.h, openbox/stacking.c, openbox/window.c, openbox/window.h:
1924         rename the Client struct to ObClient
1925
1926         * Makefile.am: add the new misc.h and mwm.h to the kernel sources
1927
1928         * openbox/client.c, openbox/client.h, openbox/mwm.h:
1929         add a mwm.h for the mwm hint structure and flags.
1930         use proper prefixing and capitalization for the new mwm stuff.
1931
1932         * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/dispatch.c, openbox/dispatch.h, openbox/dock.c, openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/grab.c, openbox/grab.h, openbox/misc.h, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/screen.h, openbox/stacking.c:
1933         add misc.h with some standard enumerations with proper prefixing and capitalizations.
1934
1935         use the new enums throughout.
1936
1937         provide keycodes and cursors through ob_cursor and ob_keycode functions, which use the new misc.h enums for picking the cursor and keycode.
1938
1939         * openbox/client.c, openbox/client.h, openbox/event.c, openbox/extensions.c, openbox/focus.c, openbox/menu.c, openbox/moveresize.c, openbox/screen.c, openbox/screen.h:
1940         rename 'xinerama' stuff to 'monitors' to be more generic and descriptive.
1941
1942         * openbox/stacking.c: speed up pick_group_windows too
1943
1944         * openbox/stacking.c: make pick_windows waaaay faster
1945
1946         * openbox/openbox.c:
1947         remove the use of the BINARY define. kill a compiler warning.
1948
1949         * openbox/stacking.c: allow restacking of transients above one another
1950
1951         * openbox/focus.c:
1952         put the transient's title before the parent's in the focus popup
1953
1954         * openbox/extensions.c, openbox/extensions.h:
1955         remove the xinerama active boolean, just count the extension as not present if it is not active
1956
1957         * openbox/client.c, openbox/client.h: add client_search_top_transient.
1958         keep transients all on the same desktop together. use client_search_top_transient where possible in client.c
1959
1960         * openbox/debug.c, openbox/debug.h:
1961         add ob_debug for printing stuff only when debug is enabled
1962
1963         * render/color.c, render/font.c, render/font.h, render/geom.h, render/image.c, render/image.h, render/mask.c, render/mask.h, render/render.c, render/render.h:
1964         remove rependancy on geom.h from the kernel, provide what is used in its own geom.h
1965
1966         * Makefile.am, configure.ac, data/.cvsignore, data/Makefile, data/Makefile.am, openbox/.cvsignore, openbox/Makefile, openbox/Makefile.am, parser/.cvsignore, parser/Makefile, parser/Makefile.am, render/.cvsignore, render/Makefile, render/Makefile.am, themes/.cvsignore, themes/Makefile, themes/Makefile.am, tools/Makefile.am:
1967         update the build system, using a single Makefile.am for a sexyass non-recursive make. booyah!
1968
1969         * gettext.h, openbox/gettext.h:
1970         move the gettext header out to the root source dir
1971
1972 2003-07-07  Ben Jansens  <xor@zed.orodu.net>
1973
1974         * render/font.c: include stdlib for exit()
1975
1976 2003-07-06  Ben Jansens  <xor@zed.orodu.net>
1977
1978         * bootstrap: add ACLOCAL_FLAGS to the aclocal call.
1979
1980 2003-07-05  Ben Jansens  <xor@zed.orodu.net>
1981
1982         * openbox/openbox.c: use --foo instead of -foo for cmd line arguments
1983
1984         * render/color.c, render/render.h:
1985         try some better default offsets for big endian machines.
1986         print what the conversion is so i can see what it should be if im wrong though
1987
1988         * render/color.c:
1989         used RrColorShift when RrColorOffset was what we wanted
1990
1991         * configure.ac, openbox/Makefile.am, render/Makefile.am, render/color.c, render/color.h, render/gradient.c, render/instance.c, render/instance.h, render/render.c, render/render.h:
1992         use the gdk-pixbuf-xlib library to render with
1993
1994         * configure.ac: coment the USE_LIBSN defined variable
1995
1996 2003-07-02  Ben Jansens  <xor@zed.orodu.net>
1997
1998         * openbox/stacking.c:
1999         rename the raise and lower functions. raise is claimed by signal.h already
2000
2001 2003-06-30  Ben Jansens  <xor@zed.orodu.net>
2002
2003         * openbox/dock.c: set te strut smaller when autohide is on
2004
2005 2003-06-30  woodblock  <woodblock@zed>
2006
2007         * openbox/event.c:
2008         Makes a simple click not so accidently annoying by making it not
2009         execute a menu action if nothing is highlighted.
2010
2011 2003-06-30  Ben Jansens  <xor@zed.orodu.net>
2012
2013         * openbox/extensions.c:
2014         messed up the indexes while finding the combined size of all xineerama heads
2015
2016         * openbox/extensions.c:
2017         oops, i want the max edges to find the full area
2018
2019         * CHANGELOG, ChangeLog: using a changelog generated off of CVS
2020
2021 2003-06-29  Ben Jansens  <xor@zed.orodu.net>
2022
2023         * openbox/prop.c:
2024         the prop_get_strings_locale function looked for a utf8 typed property
2025
2026         * openbox/focus.c, openbox/openbox.c, openbox/stacking.c:
2027         add some comments and asserts to make sure I don't ever add this bug again
2028
2029         * openbox/popup.c:
2030         create the popup's window before adding it to the stacking list, so that it is stacked properly and doesnt wreck everything
2031
2032         * Makefile.am, configure.ac, data/Makefile.am, openbox/Makefile.am, parser/Makefile.am, render/Makefile.am, themes/Makefile.am:
2033         prepare for alpha1 release.
2034         make 'make dist' work.
2035
2036         * m4/.cvsignore, m4/Makefile.am:
2037         add a makefile so i can put stuff into the make dist
2038
2039         * m4/python.m4: python support is gone
2040
2041         * po/POTFILES.in:
2042         we dont really have any translatable stuff yet but this was pointing at old cpp shit
2043
2044         * render/gradient.c:
2045         missed setting 'current' at the end of the pyramid gradient
2046
2047         * openbox/stacking.c:
2048         waste of energy in stacking_add, and it even caused bugs. woops.
2049
2050 2003-06-29  woodblock  <woodblock@zed>
2051
2052         * openbox/menu.c, openbox/menu_render.c:
2053         Handle menu events a little better: don't bother updating a submenu on
2054         mouseover if it is already open, and call update on menus, even if
2055         they aren't marked as invalid.
2056
2057 2003-06-28  Ben Jansens  <xor@zed.orodu.net>
2058
2059         * openbox/openbox.c:
2060         use fprintf not g_message in the signal handler. no mallocing allowed.
2061
2062         * render/font.c: remove debug print
2063
2064         * openbox/prop.c: set the values of the array at teh right indexes
2065
2066         * openbox/prop.c: fix memory bugs
2067
2068         * data/rc3: remove the switch to... menu
2069
2070         * render/font.c:
2071         don't destroy font patterns, i think this is a double free
2072
2073         * openbox/stacking.c:
2074         put group members above the window when lowering it
2075
2076         * openbox/stacking.c: set the stacking list when stacking changes
2077
2078         * render/theme.h:
2079         add the themes path to the struct. make the name never include a path
2080
2081         * configure.ac, themes/Makefile.am:
2082         adjust the themes with buttons to match how they are read now
2083
2084         * AUTHORS: simplify this shit
2085
2086         * render/theme.c: hardcode the button names for themes
2087
2088         * openbox/popup.c: dont need to raise after adding
2089
2090         * render/theme.c: rename the button_dir var to data_dir.. pointless :>
2091
2092 2003-06-27  Ben Jansens  <xor@zed.orodu.net>
2093
2094         * openbox/Makefile.am: build 'openbox' instead of 'openbox3'.
2095         add the openbox.desktop file for gnome compat.
2096
2097         * openbox/screen.c: set "Openbox" as the name no "Openbox3"
2098
2099         * openbox/openbox.desktop:
2100         add a .desktop file which gets installed for gnome
2101
2102         * openbox/.cvsignore: add the openbox binary
2103
2104         * openbox/openbox.c: add a call to g_set_prgname
2105
2106         * openbox/stacking.c:
2107         stacking changes, its more like the old code without being shitty and with support for raising groups at a time.
2108
2109         * openbox/stacking.c: core when the list gets out of order
2110
2111         * openbox/client.c, openbox/client.h, openbox/dock.c, openbox/extensions.c, openbox/extensions.h, openbox/focus.c, openbox/geom.h, openbox/menu.c, openbox/menu.h, openbox/moveresize.c, openbox/screen.c, openbox/screen.h:
2112         xinerama support
2113
2114         * data/rc3: root menu on right click
2115
2116         * openbox/event.c: 4 space indents
2117
2118 2003-06-26  Ben Jansens  <xor@zed.orodu.net>
2119
2120         * openbox/grab.c:
2121         return true when ungrabbing so that it can ungrab them all on shutdown
2122
2123         * openbox/grab.c:
2124         set ret to true when grabbing and we alerady have it grabbed
2125
2126         * render/font.c:
2127         dont destroy the match pattern, it seems that Xft holds onto the pointer
2128
2129         * openbox/client.c:
2130         check that extensions_vidmode is set before trying to use the vidmode functions
2131
2132         * openbox/grab.c, openbox/grab.h: return FALSE if a grab fails
2133
2134         * openbox/client.c:
2135         set the desktop hint when the window already has a hint but its out of range
2136
2137         * openbox/event.c: clear the over item in the menu when executing shit
2138
2139         * openbox/stacking.h:
2140         add NUM_STACKLAYER, fix some comments that dont apply
2141
2142         * openbox/menu.c: remove unused variable
2143
2144         * openbox/client.c:
2145         remove/add instead of raising to put a window into a new layer
2146
2147         * openbox/stacking.c:
2148         new stacking code that doesnt suck ass to look at, woot
2149
2150         * openbox/dock.c:
2151         use the minsize to keep the stuff ni the dock off of the bevel edges etc
2152
2153         * render/theme.c: add comment
2154
2155         * render/font.c, render/font.h, render/render.c, render/render.h, render/theme.c, render/theme.h:
2156         read fonts and titlebar layout from theme files
2157
2158 2003-06-25  Ben Jansens  <xor@zed.orodu.net>
2159
2160         * data/rc3: add right click on icon to open the client menu
2161
2162         * render/font.c: set teh X so it gets used right
2163
2164         * render/font.c:
2165         keep a small space on the sides of windows between the edge and the text
2166
2167         * openbox/event.c: only render if there was an over existing
2168
2169         * openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c:
2170         menus grab the keyboard and pointer, thus making only one menu visible at a time, and making them act like gtk menus and * menus do, where you can click and drag and release to select something as well as click-release to elave it open while you search around the menu
2171
2172         * data/rc3: show the client meun on "press" on the icon
2173
2174         * openbox/grab.c: grab all motion events for pointer grabs
2175
2176 2003-06-24  Ben Jansens  <xor@zed.orodu.net>
2177
2178         * openbox/menu.c: position submenus correctly horizontally
2179
2180         * openbox/menu_render.c: menus were too short by a border width
2181
2182         * openbox/client.c:
2183         check to make sure the window is on screen *after* positioning it
2184
2185         * render/gradient.c: do horz grads without any multipliaction
2186
2187         * render/gradient.c, render/render.h, render/test.c, render/theme.c:
2188         made all the gradients work with integer math. removed the pipecross and rectangle gradietns tho cuz they are ugly and i dont want to code that bullshit cuz they are ugly.
2189
2190         * render/gradient.c, render/test.c:
2191         integer math for gradients. horz vert and diags and pipecross work so far.
2192
2193 2003-06-22  Ben Jansens  <xor@zed.orodu.net>
2194
2195         * openbox/menu.c, openbox/menu_render.c: add a simple menu parser.
2196         while menu parsing, the theme does not exist so we can't do any theme stuff while creating menu stuff, so put that off for later, i.e when the menu is shown.
2197
2198         * openbox/openbox.c: reorder startup so menu goes before config parsing
2199
2200         * data/rc3: add a root menu
2201
2202 2003-06-21  Ben Jansens  <xor@zed.orodu.net>
2203
2204         * openbox/client.c, openbox/frame.c, openbox/frame.h:
2205         add decoration state to the frame struct. make client_configure adjust the frame if the decorations do not match between the client and the frame, so that when they change it can send a configurenotify to the client.
2206
2207         * openbox/client.c:
2208         make client_reconfigure a non-user-type client_configure
2209
2210         * openbox/action.c:
2211         strdup the exec path cuz it gets freed by the time we restart otherwise
2212
2213         * openbox/event.c: moveresize messages are not user-requests
2214
2215         * openbox/client.c: remove debug print
2216
2217         * openbox/client.c:
2218         send teh configure event to client on user-requested final configures even if not moved, cuz usualy the final isnt sent with a change, but just to end the move process.
2219
2220         * render/render.c:
2221         always create the bg pixmap, X seems to not like it if i dont?
2222
2223         * openbox/openbox.c:
2224         always use the session id from the session manager when setting the restart property
2225
2226         * openbox/openbox.c: add -sm-disable option
2227
2228         * openbox/openbox.c:
2229         only show -sm-client-id in the help when session management is build in
2230
2231         * openbox/openbox.c:
2232         session management works, and it can resume with its old ID, so it works with gnome-session
2233
2234         * configure.ac, m4/x11.m4, openbox/Makefile.am, openbox/event.c, openbox/openbox.c:
2235         make session management optional
2236
2237         * openbox/openbox.c:
2238         set the required properties so that session managers see openbox
2239
2240         * render/font.c, render/theme.c:
2241         don't exit in the render lib, rather return a NULL font/theme on failure
2242
2243         * openbox/event.c, openbox/openbox.c:
2244         add libSM *client* support, so we should work with gnome-session now!
2245
2246         * render/instance.c, render/render.c: more namespacing with Rr*
2247
2248         * render/color.c: use the pseudo shit in the instance now
2249
2250         * render/gradient.c, render/gradient.h, render/render.c, render/color.c, render/color.h, render/image.c, render/image.h, openbox/client.c, openbox/screen.c, render/font.c, render/render.h, render/theme.h:
2251         more namespacing with Rr*
2252
2253         * openbox/menu.h, openbox/menu.c: kill a warning
2254
2255         * openbox/openbox.c, render/font.c, render/font.h, render/render.c, render/render.h, render/theme.c, render/theme.h:
2256         more namespacing to Rr*
2257
2258         * openbox/menu.c: fix a warning
2259
2260         * openbox/client.c, openbox/client.h, render/color.c, render/color.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/render.c, render/render.h:
2261         rename pixel32/16 to RrPixel32/16
2262
2263         * render/color.c, render/color.h, render/render.h, render/theme.c, render/theme.h:
2264         rename color_rgb to RrColor
2265
2266         * openbox/dock.c, openbox/frame.c, openbox/framerender.c, openbox/menu.c, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, render/font.c, render/font.h, render/theme.c, render/theme.h:
2267         put the render theme into a struct
2268
2269         * openbox/client.c, openbox/dock.c, openbox/dock.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/screen.c:
2270         fixed to accomodate the changes to the render/ API.
2271
2272 2003-06-20  Ben Jansens  <xor@zed.orodu.net>
2273
2274         * render/.cvsignore, render/Makefile.am, render/color.c, render/color.h, render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/instance.c, render/instance.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h:
2275         this is going to break the kernel/ building.
2276
2277         lots of modifications to the render API, prefixing everything, making proper
2278         names for everything. the structures are not hidden/opaque yet, but the naming scheme of the public API works much better now.
2279
2280         * render/font.c: oops typo
2281
2282         * render/font.c:
2283         take the bevel width into account for the width available
2284
2285         * openbox/dock.c, openbox/frame.c, openbox/framerender.c, openbox/menu_render.c, openbox/popup.c, render/font.c, render/gradient.c, render/image.c, render/image.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h:
2286         simply the render interface by not requiring the setting of all the areas. only take a w and h in paint(). best font layout ever.
2287
2288         * AUTHORS: miklos does themes like mad
2289
2290         * render/gradient.c:
2291         slight optimizations, and make the last 4 gradients work properly
2292
2293         * render/font.c:
2294         center text vertically. use the font's height because all that space is needed for some charcters
2295
2296         * openbox/frame.c, openbox/framerender.c, openbox/menu_render.c, openbox/popup.c, openbox/screen.c, render/gradient.c, render/render.c, render/render.h, render/test.c, render/theme.c:
2297         remove non-planar surfaces
2298
2299 2003-06-19  Ben Jansens  <xor@zed.orodu.net>
2300
2301         * configure.ac, m4/gl.m4: remove --enable-gl
2302
2303         * openbox/client.c:
2304         fix for how base-size is used to comply with the icccm
2305
2306 2003-06-18  Ben Jansens  <xor@zed.orodu.net>
2307
2308         * openbox/framerender.c: copy the frame's surface from the prototype
2309
2310 2003-06-17  Ben Jansens  <xor@zed.orodu.net>
2311
2312         * bootstrap: export the WANT_AUTOMAKE var before running acloacl
2313
2314 2003-06-17  manmower  <manmower@zed>
2315
2316         * openbox/client.c: wake up old icon grabbing code
2317
2318         * render/color.c: remove unneeded/uncompiled junk
2319
2320 2003-06-09  manmower  <manmower@zed>
2321
2322         * openbox/client.c: try swapping bytes on textures
2323
2324         * openbox/client.c: | != &
2325
2326         * openbox/client.c: fix? color on icons
2327
2328         * openbox/client.c: remove bogus byte permutations in icon code
2329
2330 2003-06-08  Ben Jansens  <xor@zed.orodu.net>
2331
2332         * openbox/focus.c:
2333         remove an extra useless call to focus_set_client(NULL)
2334
2335         * openbox/client.c: describe the complicated if a bit :)
2336
2337         * openbox/client.c: more checks for when to do an XResizeWindow
2338
2339         * openbox/client.c:
2340         send the configure notify for resizes too, just to be a little more safe
2341
2342         * openbox/client.c:
2343         onlt send configurenotify if the client actually moved, to work around emacs, hopefully :)
2344
2345         * openbox/client.c:
2346         some more fixes for resizing clients. aspect ratio is not the last thing checked and so rules all, that might need to change.. however, it now uses base-size only for aspect ratios and base-size/min-size for other sizing shit, as per the ICCCM.
2347
2348         * openbox/client.c: from icccm:
2349         If a base size is not provided, the minimum size is to be used in its place and vice versa.
2350
2351         Added support for this.
2352
2353         * openbox/frame.c: missing another bwidth
2354
2355         * openbox/frame.c: position titlebars better, was missing a bwidth
2356
2357         * openbox/client.c: i was backwards
2358
2359         * openbox/event.c: this cnofigure is FINAL!
2360
2361         * openbox/client.c:
2362         don't resize the client itself while doing a resize if its not final when config_opaque_resize is not on
2363
2364 2003-06-04  Ben Jansens  <xor@zed.orodu.net>
2365
2366         * openbox/client.c:
2367         better VIDMODE support, handle the cases where the functions fail
2368
2369         * openbox/client.c:
2370         size fullscreen applications to the resolution with the VIDMODE extension
2371
2372         * openbox/client.c, openbox/client.h, openbox/screen.c:
2373         remove the client_remaximize function, and replace it with the client_reconfigure function, which just calls client_configure with the window's current location and dimensions, user=TRUE and final=TRUE.
2374
2375         add support for the VIDMODE extension in client_configure, namely, fullscreen windows are positioned at the point of the viewport rather than at 0,0.
2376         call client_reconfigure when uniconifying a window, so that fullscreen windows are put at the point of the view port.
2377
2378         * data/rc3:
2379         remove that fancy new leftHanded option, it should be done via xmodmap instead
2380
2381         * data/rc3:
2382         add a leftHanded option for mouse bindings, reverses the left/right keywords
2383
2384         * openbox/grab.c, openbox/grab.h:
2385         make key grabbing per window instead of always root
2386
2387         * openbox/focus.c: allow cycling to iconic windows
2388
2389         * openbox/client.c:
2390         use client_can_focus from client_focus to always get the same result
2391
2392         * openbox/client.c, openbox/client.h, openbox/focus.c:
2393         reverting the transient focus cycle change, its just not.. right. add the parent's title to the transient's for the popup instead of just relpacing it
2394
2395         * openbox/focus.c:
2396         better focus cycling for transients. use the parent instead of the transients in the list in case it has more than one, then after choosing it try focus a transient instead
2397
2398         * openbox/focus.c:
2399         dont try change focus while looping thru the focus list
2400
2401         * openbox/client.c, openbox/client.h, openbox/focus.c:
2402         allow focus_fallback to query if a client can be focused without changing the focus order on it
2403
2404 2003-06-03  Ben Jansens  <xor@zed.orodu.net>
2405
2406         * openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/popup.c:
2407         modifications to keep up with libobrender2
2408
2409         * openbox/popup.c: use theme stuff for the gfx/font
2410
2411         * openbox/frame.c: layout fixes
2412
2413         * openbox/frame.c: position the grips
2414
2415         * openbox/framerender.c: fix some theme colors/display
2416
2417         * m4/gl.m4, openbox/Makefile.am, openbox/client.c, openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/screen.c, openbox/window.c, render/.cvsignore, render/Makefile.am, render/color.h, render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h, COPYING, COPYING.FDL, COPYING.GPL, COPYING.LGPL, Makefile.am, README, configure.ac:
2418         the kernel is using th gl shit to render itself, but with the old style frame shit here. in practice, the render and glft libraries needed some changes to be used better, these are incorporated.
2419
2420         * openbox/stacking.c: remove debug print
2421
2422         * render/color.c:
2423         more unique error for unhandles image bit depths, remove debug prints
2424
2425         * render/color.c: handle increase_depth on 1bpp images
2426
2427         * openbox/client.c:
2428         ignore xerrors while using the pixmaps specified by the client, since they can certainly be invalid and there's nothing i can do about it.
2429
2430         * openbox/client.c: rm g_messages.. ones that segfault.. :>
2431
2432 2003-06-02  Ben Jansens  <xor@zed.orodu.net>
2433
2434         * openbox/client.c: also dont increment the nicons if the w*h is 0
2435
2436         * openbox/client.c: watch out for 0x0 icons, and skip them
2437
2438         * openbox/menu_render.c, openbox/popup.c:
2439         create some temporary fonts to use for rendering text
2440
2441         * openbox/frame.c, openbox/menu_render.c, openbox/popup.c:
2442         set colors for text
2443
2444         * openbox/frame.c, openbox/popup.c:
2445         adjust for some api extensions in render2
2446
2447         * bootstrap: add env var to get automake 1.7
2448
2449 2003-06-01  Ben Jansens  <xor@zed.orodu.net>
2450
2451         * COPYING, COPYING.FDL, COPYING.GPL, COPYING.LGPL, Makefile.am, README, configure.ac, m4/gl.m4, openbox/Makefile.am, openbox/client.c, openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/screen.c, openbox/window.c, openbox/window.h, render/.cvsignore, render/Makefile.am, render/color.c, render/color.h, render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h:
2452         Merging in th gl2 branch. Adding a --enable-gl option to the configure script, which defaults off.
2453
2454 2003-05-30  manmower  <manmower@zed>
2455
2456         * openbox/frame.c: adjust title bar text
2457
2458 2003-05-30  Ben Jansens  <xor@zed.orodu.net>
2459
2460         * openbox/client.c:
2461         adjust what gets raised on map a bit, a little less selective.
2462
2463 2003-05-30  manmower  <manmower@zed>
2464
2465         * openbox/frame.c: add some test cases for the font crap
2466
2467 2003-05-29  Ben Jansens  <xor@zed.orodu.net>
2468
2469         * m4/openbox.m4: better alpha/beta check :)
2470
2471         * m4/openbox.m4: look for 'alpha' and 'beta' releases also
2472
2473         * openbox/stacking.c:
2474         only add non-nonintrusively when both windows share a stacking layer
2475
2476         * data/rc3: raise on client clicks
2477
2478 2003-05-28  Ben Jansens  <xor@zed.orodu.net>
2479
2480         * COPYING: remove the generic COPYING
2481
2482         * COPYING.FDL, COPYING.GPL, COPYING.LGPL: New file.
2483
2484         * COPYING.FDL, COPYING.GPL, COPYING.LGPL, README:
2485         specify different licenses for different directories
2486
2487         * openbox/action.c, openbox/action.h:
2488         rm the 'focusraise' action, it is redundant.
2489
2490         * openbox/frame.c: use the new shape API from the render libs
2491
2492         * openbox/event.c:
2493         pass expose events like i was before. cleanups in rendering to not render areas anymore. pass the surface's absx/y to planar's paint func
2494
2495         * openbox/frame.c:
2496         no button mask on the plate, and some cleanups with redundant if's
2497
2498 2003-05-28  manmower  <manmower@zed>
2499
2500         * openbox/frame.c: slightly improved theme
2501
2502 2003-05-28  Ben Jansens  <xor@zed.orodu.net>
2503
2504         * openbox/popup.c: proper centering of the text in popups without icons
2505
2506 2003-05-27  manmower  <manmower@zed>
2507
2508         * openbox/frame.c, openbox/frame.h: fixed the flicker in shape
2509         (we use a shapewindow now.  it rules, I rule, fuck X, blah blah MOOOOOOO)
2510
2511 2003-05-27  Ben Jansens  <xor@zed.orodu.net>
2512
2513         * openbox/frame.c: and typod
2514
2515         * openbox/frame.c, openbox/frame.h:
2516         some cleanups, got rid of the border shit
2517
2518         * openbox/event.c: toss out expose events to render
2519
2520         * openbox/popup.c: no more seg
2521
2522         * openbox/frame.c, openbox/frame.h: some cleanups
2523
2524 2003-05-27  manmower  <manmower@zed>
2525
2526         * openbox/frame.c: free decor when removing frame
2527
2528         * openbox/frame.c: HOW DO YOU LIKE MY SEXY NEW DECOR?!?
2529
2530         * openbox/frame.c: I get my events on decor again
2531         and probably ruined exposure for some weird case. bwa ha ha
2532
2533         * openbox/frame.c, openbox/frame.h: how about some UGLY decor!
2534
2535 2003-05-27  Ben Jansens  <xor@zed.orodu.net>
2536
2537         * openbox/popup.c: paints are now recursive
2538
2539 2003-05-27  manmower  <manmower@zed>
2540
2541         * openbox/frame.h: surface pointer please
2542
2543 2003-05-27  Ben Jansens  <xor@zed.orodu.net>
2544
2545         * openbox/popup.c: proper layout
2546
2547         * openbox/popup.c: i suck so much
2548
2549         * openbox/event.c, openbox/menu.c, openbox/popup.c: DRAWS!!
2550
2551 2003-05-27  manmower  <manmower@zed>
2552
2553         * openbox/frame.c, openbox/frame.h: added shape support for decor
2554
2555 2003-05-27  Ben Jansens  <xor@zed.orodu.net>
2556
2557         * openbox/popup.c: dont try use an icon when where isnt one
2558
2559         * openbox/client.c, openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/screen.c, openbox/window.c:
2560         port to the new render stuff.. but this isnt complte since we don't have themes yet.
2561
2562         * Makefile.am, configure.ac, render/.cvsignore, render/Makefile.am, render/color.c, render/color.h, render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h:
2563         removing the old render stuffs
2564
2565 2003-05-27  manmower  <manmower@zed>
2566
2567         * openbox/frame.c, openbox/frame.h: added % based decoration sizes
2568
2569         * openbox/frame.c, openbox/frame.h: fixed right decor anchors properly
2570
2571         * openbox/frame.c: fix right anchor point offsets
2572
2573         * openbox/frame.c: position windows for all anchor types
2574
2575         * openbox/frame.c: all decor anchors supported
2576
2577         * openbox/event.c, openbox/frame.c:
2578         change event.c to use a frame pointer instead of client pointer in framedecor
2579         frame.c now supports more decor anchors
2580
2581         yay for 1 to many commit logs
2582
2583 2003-05-26  Ben Jansens  <xor@zed.orodu.net>
2584
2585         * openbox/Makefile.am: link render version 2
2586
2587 2003-05-26  manmower  <manmower@zed>
2588
2589         * openbox/frame.c, openbox/frame.h:
2590         frame pointer in framedecor instead of client pointer
2591
2592 2003-05-26  Ben Jansens  <xor@zed.orodu.net>
2593
2594         * openbox/event.c, openbox/window.c: add case for Window_Decoration
2595
2596 2003-05-26  manmower  <manmower@zed>
2597
2598         * openbox/frame.c, openbox/frame.h: client pointer in framedecor
2599
2600         * openbox/frame.c: crap
2601
2602         * openbox/frame.c, openbox/frame.h:
2603         I can now map arbitrarily sized invalid space above my windows!
2604         I suck.
2605
2606         * openbox/frame.c:
2607         we now have no decor at all, but are otherwise functional
2608
2609 2003-05-26  Ben Jansens  <xor@zed.orodu.net>
2610
2611         * openbox/client.c:
2612         use frame->visible, not the desktop number, other states exist too, like show_desktop
2613
2614         * openbox/dock.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/popup.c, openbox/screen.c, openbox/window.h:
2615         merge in the changes made in the gl branch
2616
2617         * Makefile.am, configure.ac:
2618         create the glft library. it will be using freetype and fontconfig to render fonts in GL.
2619         flesh out render2 a bit more.. actually just in comments
2620
2621         * Makefile.am, configure.ac:
2622         add a new render2 lib, which has a proper API and uses only OpenGL to render.
2623
2624         * render/render.c: remove GL from the old render lib for now
2625
2626         * configure.ac, m4/gl.m4:
2627         gl support in configure, fontconfig instead of xft
2628
2629 2003-05-26  manmower  <manmower@zed>
2630
2631         * openbox/frame.c: add back some frame adjust stuff
2632
2633         * openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/window.h:
2634         complete destruction of all current frame functionality.
2635         you're welcome.
2636
2637 2003-05-25  manmower  <manmower@zed>
2638
2639         * render/gradient.c, render/mask.c, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h, openbox/dock.c, openbox/frame.c, openbox/framerender.c, openbox/menu.c, openbox/popup.c, openbox/screen.c, render/color.c, render/color.h:
2640         everything compiles.  everything is broken.
2641
2642         rendertest works, yay.
2643
2644         * render/render.c: now it even links.
2645
2646         * render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/render.c, render/render.h:
2647         once again it compiles.
2648
2649         no, it does not work
2650
2651         much has been removed.
2652
2653 2003-05-25  Ben Jansens  <xor@zed.orodu.net>
2654
2655         * configure.ac, m4/gl.m4:
2656         right branch. no more xft. fontconfig. gl. woot.
2657
2658         * configure.ac, m4/gl.m4: omg wrong branch!
2659
2660         * configure.ac, m4/gl.m4: always gl. fontconfig instead of xft.
2661
2662 2003-05-25  manmower  <manmower@zed>
2663
2664         * render/gradient.c: gl.h shouldn't be required when not enabling gl
2665
2666 2003-05-25  Ben Jansens  <xor@zed.orodu.net>
2667
2668         * README.CVS: add the glade/gtk deps for debian
2669
2670 2003-05-25  manmower  <manmower@zed>
2671
2672         * render/gradient.c, render/test.c: all grads done
2673
2674         * render/gradient.c, render/test.c: pipecross
2675
2676         * render/gradient.c, render/test.c: rectangle and diagonal grads yay
2677
2678         gl > *
2679
2680 2003-05-25  Ben Jansens  <xor@zed.orodu.net>
2681
2682         * data/rc3: Shade not Shaded
2683
2684         * README.CVS: add debian package list
2685
2686         * README.CVS: automake 1.7
2687
2688         * README.CVS: mention glib, xml, gtk and glade
2689
2690         * configure.ac:
2691         make autoconf 2.54 required. makes automake1.6 get used on some systems
2692
2693 2003-05-25  manmower  <manmower@zed>
2694
2695         * render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
2696         gl is starting.  it's gonna get really ugly really fast, folks
2697
2698 2003-05-24  Ben Jansens  <xor@zed.orodu.net>
2699
2700         * Makefile.am, configure.ac, openbox/Makefile.am, openbox/action.c, openbox/action.h, openbox/config.c, openbox/focus.c, openbox/openbox.c, openbox/parse.c, openbox/parse.h, openbox/plugin.c, parser/.cvsignore, parser/Makefile.am, parser/parse.c, parser/parse.h, tools/.cvsignore, tools/Makefile.am:
2701         this is a big one! im putting stats in here just cuz!
2702          59 files changed, 1691 insertions(+), 607 deletions(-)
2703         Adding the beginings of ObConf. Adding a resistance-config plugin for ObConf.
2704         Creating an obparser library that obrender can use, the kernel can use, plugins can use, and ObConf and its plugins can use. (its just code for using libXml2)
2705
2706         * openbox/action.c:
2707         convert shit from utf8 to filename before execing it
2708
2709         * configure.ac, data/rc3, openbox/Makefile.am, openbox/config.c, openbox/openbox.c, openbox/parse.c, openbox/parse.h, openbox/parse.l, openbox/parse.y:
2710         ECKS EM ELL
2711
2712         * openbox/action.c, openbox/action.h:
2713         add actions for showing the desktop
2714
2715         * openbox/action.c, openbox/action.h: soem changes to desktop actions.
2716         instead of having *wrap actions, just default to having wrap on, and let it be optionally placed into the rc to disable it.
2717         instead of next/prev desktop, just have actions for desktop to the right/left/up/down. this applies to sendtodesktop actions too.
2718
2719         * openbox/focus.c: add a DEBUG_FOCUS print
2720
2721         * openbox/event.c:
2722         there's this case where we DONT want to ignore both events or we end up without anything we know of being focused, even tho something is. this case is now covered. ps i hate focus so much.
2723
2724         * openbox/client.c: use the user friendly desktop number
2725
2726         * openbox/focus.c: clarify comment
2727
2728 2003-05-23  Ben Jansens  <xor@zed.orodu.net>
2729
2730         * openbox/event.c:
2731         dont refocus the focused window, that just causes so many problems (with alt-tab :)
2732
2733         * openbox/prop.c: validate utf8 strings before using them
2734
2735         * configure.ac, m4/gl.m4, openbox/Makefile.am, render/Makefile.am:
2736         add --enable-gl support, and put the flags/libs in the appropriate makefiles
2737
2738         * openbox/focus.c: remove a todo item that seems to be.. done!
2739
2740         * openbox/focus.c:
2741         missed a case of using the stacking list and assuming that its all clients still. fixed that assumption now.
2742
2743         * openbox/event.c:
2744         ignore ancestor FocusIn events. i get them sometimes when hitting alt-tab and that totally fucks it up cuz it cancels teh alt-tab process.
2745
2746 2003-05-22  manmower  <manmower@zed>
2747
2748         * render/test.c: fix cut'n'paste bug
2749
2750 2003-05-22  Ben Jansens  <xor@zed.orodu.net>
2751
2752         * openbox/event.c: only button 1 can use menu items
2753
2754 2003-05-22  manmower  <manmower@zed>
2755
2756         * render/render.c: removed a piece of code I suspect has never been run
2757         this is for XServers that report less than 8 bpp default visual and support
2758         8bpp or higher visuals
2759
2760         hopefully nothing is really that stupid.  we'll see.
2761
2762         * render/render.h, render/render.c:
2763         keep XVisualInfo around in preparation for opengl stuff
2764
2765 2003-05-22  Ben Jansens  <xor@zed.orodu.net>
2766
2767         * configure.ac:
2768         remove shit for my own makefiles that i dont need no more
2769
2770         * openbox/event.c: a missing break!
2771
2772 2003-05-22  woodblock  <woodblock@zed>
2773
2774         * openbox/menu.c: layers submenu on client
2775
2776 2003-05-22  Ben Jansens  <xor@zed.orodu.net>
2777
2778         * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h:
2779         add actions for changing client layers to abov/below/normal
2780
2781         * openbox/client.c: typo
2782
2783         * openbox/plugin.c: load the client_menu by default for nowc
2784
2785 2003-05-21  woodblock  <woodblock@zed>
2786
2787         * data/rc3, openbox/client.c, openbox/event.c, openbox/menu.c, openbox/menu.h:
2788         Client menus
2789         Add "client_menu" to pluginrc to use.
2790
2791 2003-05-21  Ben Jansens  <xor@zed.orodu.net>
2792
2793         * render/font.c: optimize it a bit
2794
2795         * render/font.c:
2796         pass the number of bytes, not characters to the xft draw functions
2797
2798         * openbox/action.c, openbox/action.h: add 'movetoedge' actions
2799
2800         * openbox/screen.c: add xerror.h
2801
2802         * openbox/screen.c:
2803         Openbox3 in the WM name, FUCK OFF XINE, YA YOU HEARD ME.
2804
2805         * render/gradient.c: allocate the border_color's gc
2806
2807 2003-05-20  Ben Jansens  <xor@zed.orodu.net>
2808
2809         * render/color.c, render/render.c:
2810         put the devation back how it used to be, it aws definately no better..
2811
2812 2003-05-20  manmower  <manmower@zed>
2813
2814         * render/gradient.c:
2815         of by one error in pyramid, rectangle, and crosspipe
2816
2817 2003-05-20  Ben Jansens  <xor@zed.orodu.net>
2818
2819         * render/gradient.c: remove debug prints
2820
2821         * render/gradient.c: reindent the file....
2822         but while i'm at it:
2823           - add support for bevels/borders on solid textures.
2824           - reverse the colors in the rectangle gradient, the pipecross and pyramid
2825             ones may need to be reversed as well.
2826
2827         * render/render.c, render/render.h: remove the elliptic gradient type.
2828         add bevel light/dark colors for solid textures with bevels
2829
2830         * render/theme.c:
2831         use the rectangle gradient when the theme asks for elipse
2832
2833         * m4/openbox.m4: argh put it back right!*(
2834
2835         * m4/openbox.m4: fuck it, put it back
2836
2837         * m4/openbox.m4: smarter default debug value :)
2838
2839         * m4/openbox.m4: default debug off (for non-cvs builds!)
2840
2841         * openbox/screen.c:
2842         ignore errors when playing with application defined colormaps
2843
2844 2003-05-19  Ben Jansens  <xor@zed.orodu.net>
2845
2846         * openbox/dock.c: get the size for all the apps before positioning them
2847
2848         * openbox/dock.c:
2849         set teh dock sizes before the app uses it for positioning
2850
2851         * openbox/dock.c: center dock apps
2852
2853         * openbox/action.c: use the resize increment when resizing relative
2854
2855         * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h:
2856         2 in 1 again..
2857         a) directional focus actions
2858         b) action system changes i.e. use structs/arrays for convertings strings to actions instead of gross if-else chains
2859
2860 2003-05-18  woodblock  <woodblock@zed>
2861
2862         * openbox/menu.c: Added a fifo_menu plugin
2863
2864 2003-05-18  manmower  <manmower@zed>
2865
2866         * render/gradient.c, render/test.c: PipeCross
2867
2868         * render/gradient.c: there's the rect grad.  now stop bugging me :(
2869
2870         * render/gradient.c: is that a rectangle grad?  damned if I know
2871
2872 2003-05-18  Ben Jansens  <xor@zed.orodu.net>
2873
2874         * openbox/client.c, openbox/client.h, render/color.c, render/color.h, render/image.c, render/render.c, render/render.h:
2875         make icons use pixel32 data, and image_draw takes pixel32 data.
2876         client.c gets pixmap icons as a backup to netwm ones, and they are converted into pixel32 data.
2877
2878         * openbox/focus.c: include grab.h
2879
2880 2003-05-18  manmower  <manmower@zed>
2881
2882         * render/test.c: whatever, it's a junk file.
2883
2884         * render/gradient.c: change badly named offsets
2885         add stubs for rectangle and pipecross
2886
2887         * render/image.c: rename poorly named offsets
2888
2889         * render/gradient.h: add stubs for pipecross and rectangle
2890
2891         * render/color.h: fix poor naming of default offset
2892
2893         * render/color.c: fix poor naming of the default offset
2894
2895 2003-05-18  woodblock  <woodblock@zed>
2896
2897         * openbox/client.c:
2898         this is actually xor :) - fixing the focus search function to not return NULL if no valid group members exist to be a transient for
2899
2900 2003-05-18  Ben Jansens  <xor@zed.orodu.net>
2901
2902         * openbox/stacking.c:
2903         proper check to see if something was raised, the it==NULL would cause it to always return, incorrectly.
2904
2905         * openbox/client.c, openbox/client.h, openbox/event.c, openbox/stacking.c, render/render.c, render/render.h:
2906         2 in 1 deal :\
2907
2908         client.c stacking.c: fixing looping transient case for group transient windows. now a window which is transient for a group is *not* transient for any other transient windows in the group (perviously the other window had to be transient for the group to be excluded, now it can be transient for anything).
2909
2910         client.c/h event.c render.c/h: adjustnig icon handling a bit. will be converting the legacy pixmap icons into rgba data so they can be handled the same as netwm icons.
2911
2912 2003-05-18  woodblock  <woodblock@zed>
2913
2914         * HACKING: Indentation stuff
2915
2916 2003-05-18  Ben Jansens  <xor@zed.orodu.net>
2917
2918         * configure.ac: actually optional now.
2919
2920         * configure.ac: make LIBSN optional
2921
2922         * openbox/focus.c:
2923         grab the mouse during focus cycling. this removes the bug of focusing following the mouse when the popup disappears and fuck up your cycling.
2924
2925         * render/Makefile.am: need the libsn flags
2926
2927         * configure.ac, openbox/Makefile.am, openbox/event.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c:
2928         add (optional) support for showing a busy cursor via startup notification
2929
2930 2003-05-17  Ben Jansens  <xor@zed.orodu.net>
2931
2932         * openbox/event.c: disallow drag events on title buttons.
2933         dont redraw title button when the wheel buttons are used on them.
2934
2935 2003-05-16  Ben Jansens  <xor@zed.orodu.net>
2936
2937         * openbox/client.c: print the class not the name
2938
2939         * openbox/prop.c: get all the strings!
2940
2941         * openbox/client.c, openbox/dock.c, openbox/dock.h:
2942         save the dock's class/name for future evil purposes!
2943         also print names of windows being managed/unmanaged
2944
2945         * data/rc3: discourage floating a bit, capitalize better.
2946
2947         * openbox/dock.c: FUCK dock is not an array anymore!
2948
2949         * openbox/dock.c, openbox/dock.h, openbox/screen.c:
2950         give the dock a strut and use it
2951
2952         * openbox/event.c: remove debug prints
2953
2954         * openbox/dock.c, openbox/dock.h, openbox/event.c:
2955         dockapps are ObWindows now.
2956         set the type when creating new dockapps.
2957
2958         * data/rc3, openbox/Makefile.am, openbox/client.c, openbox/client.h, openbox/config.c, openbox/config.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/frame.c, openbox/menu.c, openbox/menu.h, openbox/openbox.c, openbox/screen.c, openbox/slit.c, openbox/slit.h, openbox/window.c, openbox/window.h:
2959         rename "Slit" to "Dock".
2960         add config options to the rc3 for the dock.
2961         create a window_map, add DockApps to the ObWindow types, use the window_map for translating windows into objects for event handling (only one lookup now) and remove the old maps (client_map, menu_map).
2962
2963         * openbox/client.c, openbox/menu.c, openbox/moveresize.c, openbox/popup.c, openbox/slit.c, openbox/stacking.c, openbox/stacking.h:
2964         add anotehr stacking_add function.
2965         make stacking_add take care of raising also.
2966         make new windows that dont get focus also not raise above the focused window.
2967
2968         * openbox/event.c: movnig shit around
2969
2970 2003-05-14  Ben Jansens  <xor@zed.orodu.net>
2971
2972         * openbox/menu.c: watch out for not loading the timed_menu plugin
2973
2974         * openbox/client.c: pass teh correct values for config notify events
2975
2976 2003-05-14  woodblock  <woodblock@zed>
2977
2978         * openbox/event.c, openbox/event.h, openbox/menu.c:
2979         Added a menu to read from a pipe.
2980         File descriptors added to the event loop.
2981
2982 2003-05-12  woodblock  <woodblock@zed>
2983
2984         * openbox/event.c, openbox/event.h, openbox/menu.c:
2985         woodblock's failed attempt at making pipes work
2986
2987 2003-05-11  Ben Jansens  <xor@zed.orodu.net>
2988
2989         * data/rc3, openbox/config.c, openbox/config.h, openbox/moveresize.c:
2990         add opaque move/resize to the rc3
2991
2992         * openbox/stacking.c:
2993         was using the frame window in the stacking list hint
2994
2995         * openbox/event.c, openbox/menu.c, openbox/moveresize.c, openbox/popup.c, openbox/stacking.c, openbox/window.c, openbox/window.h:
2996         add internal popups n shit to the stacking list.
2997         some cleanups for the stacking order hint.
2998         add non-opaque move/resize. cant toggle it yet.
2999
3000         * openbox/menu.c: rm comment for shit i fixed
3001
3002         * TODO: updated... it sucks tho anyways
3003
3004         * openbox/screen.c:
3005         not everything in the stacking_list is a client anymore
3006
3007         * openbox/event.c, openbox/menu.c:
3008         Menus put themselves into the stacking list.
3009         Clicking on the menu (but not on an entry) will raise it.
3010
3011         * openbox/Makefile.am, openbox/action.c, openbox/client.c, openbox/client.h, openbox/config.h, openbox/event.c, openbox/focus.c, openbox/menu.c, openbox/menu.h, openbox/openbox.c, openbox/slit.c, openbox/slit.h, openbox/stacking.c, openbox/stacking.h, openbox/window.c, openbox/window.h:
3012         Clients Menus and Slits are all 'ObWindow's now.
3013         Stacking is done with ObWindows.
3014         Slits add themselves to the stacking order, as do clients of course.
3015         Added some macros for adding/removing to the stacking order.
3016
3017         * openbox/slit.c:
3018         garb press events so they dont break bindings... X sucks
3019
3020         * openbox/slit.c:
3021         grab button events on the slit so they dont go through to root
3022
3023         * openbox/client.c, openbox/slit.c, openbox/slit.h:
3024         use the size of the icon window for slit apps, not the client window
3025
3026         * openbox/event.c, openbox/grab.c, openbox/grab.h, openbox/slit.c, openbox/slit.h:
3027         can drag slit-apps around in the slit
3028
3029 2003-05-10  Ben Jansens  <xor@zed.orodu.net>
3030
3031         * openbox/event.c, openbox/slit.c, openbox/slit.h, openbox/timer.h:
3032         add autohiding to the slit
3033
3034         * openbox/event.c, openbox/slit.c, openbox/slit.h:
3035         some slit fixes, support resizing slitapps
3036
3037         * Makefile.am, configure.ac: rm the tools dir
3038
3039         * tools/Makefile.am: rm this garbage...
3040
3041         * openbox/Makefile.am, openbox/client.c, openbox/event.c, openbox/frame.c, openbox/openbox.c, openbox/screen.c, openbox/slit.c, openbox/slit.h:
3042         add a slit to the kernel
3043
3044         * doc/.cvsignore: add the sgml dir
3045
3046         * openbox/menu.c: make the client menu not have a title
3047
3048         * openbox/event.c:
3049         be more careful about ignoring focusin/out event pairs
3050
3051 2003-05-10  woodblock  <woodblock@zed>
3052
3053         * openbox/menu.c: Turn off timed_menu by default
3054
3055         * openbox/menu.c, openbox/menu.h:
3056         Timed menu that reads output from a process while the window is hidden
3057
3058         * openbox/event.c, openbox/menu_render.c: whitespace
3059
3060 2003-05-09  Ben Jansens  <xor@zed.orodu.net>
3061
3062         * configure.ac: nice merge
3063
3064 2003-05-09  woodblock  <woodblock@zed>
3065
3066         * configure.ac, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/plugin.c, openbox/plugin.h, openbox/timer.c:
3067         Menu uber patch
3068         Since we have no menu parser see menu_startup() to customize
3069
3070 2003-05-09  Ben Jansens  <xor@zed.orodu.net>
3071
3072         * openbox/client.c, openbox/client.h, openbox/event.c, openbox/focus.c:
3073         add a client_activate function, use it for net_wm_active mesgs and for focus cycling.
3074
3075         * openbox/focus.c: unshade windows when you cycle focus to them
3076
3077         * openbox/openbox.c, openbox/popup.c, openbox/popup.h, tools/Makefile.am:
3078         add shit that i made in the last week!
3079
3080         * HACKING, Makefile.am, configure.ac, data/rc3, m4/x11.m4, openbox/Makefile.am, openbox/client.c, openbox/client.h, openbox/config.c, openbox/config.h, openbox/event.c, openbox/extensions.c, openbox/extensions.h, openbox/focus.c, openbox/framerender.c, openbox/framerender.h, openbox/menu.c, openbox/moveresize.c, openbox/moveresize.h, openbox/openbox.c, openbox/parse.h, openbox/parse.l, openbox/parse.y, openbox/screen.c, openbox/screen.h, openbox/stacking.c, render/font.c, render/image.c, render/render.c, render/render.h, render/theme.c, render/theme.h:
3081         all my changes while i was offline.
3082         better alt-tabbing. better transient handling. i dont even know. lots of fucking cool shit so WATCH the FUCK OUT.
3083
3084 2003-04-28  Ben Jansens  <xor@zed.orodu.net>
3085
3086         * openbox/screen.c:
3087         move windows before calcing struts. watch for windows on DESKTOP_ALL when removeing a desktop
3088
3089 2003-04-27  Ben Jansens  <xor@zed.orodu.net>
3090
3091         * openbox/client.c, openbox/stacking.c:
3092         a more correct for the missing frame problem. don't restack windows when changing the window's layer while it is being managed.
3093
3094         * openbox/stacking.c:
3095         watch for windows without frames, they can be in the transient order before they get fully managed
3096
3097         * doc/themerc.txt: no longer pertinent
3098
3099         * render/image.c, render/image.h, render/render.c:
3100         fix window icon rendering, was using incorrect size.
3101
3102         * render/color.h: its G_BYTE_ORDER not G_ENDIAN.
3103
3104 2003-04-26  Ben Jansens  <xor@zed.orodu.net>
3105
3106         * openbox/moveresize.c:
3107         show the move coords for where the window will actually be
3108
3109 2003-04-25  Ben Jansens  <xor@zed.orodu.net>
3110
3111         * openbox/client.c: only focus on startup if focus_new is true
3112
3113         * openbox/Makefile.am, openbox/client.c, openbox/openbox.c, openbox/screen.c, openbox/startup.c, openbox/startup.h:
3114         restore the desktop and focused window on restarts if possible
3115
3116         * openbox/action.c, openbox/client.c, openbox/client.h, openbox/focus.c, openbox/focus.h:
3117         add helper functions for manipulating the focus_order list.
3118         move the focus popup into focus.c, out of action.c
3119         allow cycling to iconic windows, which are kept at the bottom of the focus_order lists.
3120
3121         * openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c:
3122         let the frame hold a focus state so that it can lie.
3123         dont focus windows while cycling, just highlight them as if they are focused
3124
3125         * openbox/framerender.c: icons are not at +1 anymore
3126
3127 2003-04-24  Ben Jansens  <xor@zed.orodu.net>
3128
3129         * openbox/client.c:
3130         some more checks for transients looping on eachother when they are transients of a group
3131
3132 2003-04-22  Ben Jansens  <xor@zed.orodu.net>
3133
3134         * openbox/prop.c:
3135         client side shit ISNT 32 bits on 64 bit platforms, its 64 bits. fuck X so hard.
3136
3137 2003-04-22  woodblock  <woodblock@zed>
3138
3139         * CHANGELOG: NLS update
3140
3141 2003-04-22  Ben Jansens  <xor@zed.orodu.net>
3142
3143         * openbox/client.c:
3144         even better checks for when to focus new windows. focus dialogs when they are the only member of their group
3145
3146 2003-04-22  woodblock  <woodblock@zed>
3147
3148         * openbox/menu.c, openbox/menu.h, openbox/menu_render.c:
3149         More menu changes to facilitate plugins.
3150
3151         * openbox/Makefile.am, openbox/menu.c, openbox/menu.h, openbox/menu_render.c:
3152         Render menus only when they are invalid.
3153
3154 2003-04-21  Ben Jansens  <xor@zed.orodu.net>
3155
3156         * README.CVS: add automake
3157
3158         * data/rc3: focus on press onm the titlebar buttons
3159
3160         * openbox/client.c:
3161         yet more changes to choosing to focus windows when they mapp
3162
3163         * openbox/parse.h, openbox/parse.y:
3164         try avoid cicular includes with the bison shit
3165
3166 2003-04-20  woodblock  <woodblock@zed>
3167
3168         * CHANGELOG: tyop
3169
3170 2003-04-20  Ben Jansens  <xor@zed.orodu.net>
3171
3172         * openbox/frame.c, openbox/framerender.c:
3173         make the icon larger than the buttons by one pixel in each direction, this makes it as tall as the label and lets it fit more image in
3174
3175         * openbox/client.c: new focus-new rules
3176
3177 2003-04-20  woodblock  <woodblock@zed>
3178
3179         * CHANGELOG: Update log
3180
3181 2003-04-19  Ben Jansens  <xor@zed.orodu.net>
3182
3183         * openbox/client.c: i lied.. fuck @ those gnome dialogs
3184
3185         * openbox/client.c: lighten up a bit on the focus new windows criteria
3186
3187         * openbox/event.c: rm invalid comment
3188
3189         * openbox/event.c: only look for FocusOut events on the same window
3190
3191         * openbox/prop.c:
3192         convert STRING properties from "ISO-8859-1" instead of from the current locale, since this is what they apparently are, according to gdk.
3193
3194         * openbox/prop.c: check the string not the pointer to it
3195
3196 2003-04-18  Ben Jansens  <xor@zed.orodu.net>
3197
3198         * openbox/event.c: the mouse grab screws that up
3199
3200         * openbox/event.c: dispatch presses and releases during a move/resize
3201
3202         * openbox/event.c: kill the debug prints for now
3203
3204         * openbox/event.c: nm cant do it.. damn
3205
3206         * openbox/event.c:
3207         ignore another type of crossing event, caused when leaving gtk popup menus
3208
3209         * openbox/focus.c: just formatting
3210
3211         * openbox/event.c:
3212         yet MORE changes to how focusin/out's are handled. more edge case fixing, this time with focus fallback when unmapping a window in sloppy focus mode.
3213
3214         * openbox/client.c:
3215         adjust choosing to focus new windows, make it more strict.
3216         eat all Enter events when unmapping a window so focus fallback can be more smarter..
3217
3218         * openbox/screen.c: dont need to sync
3219
3220         * openbox/focus.c: check for client_normal before focusing
3221
3222         * openbox/focus.c:
3223         when unfocusing a window (e.g. unmanaging) try fallback to transient relations, if that fails, try group relations, then fallback to other window.
3224
3225         * openbox/focus.c:
3226         try focus other transients of the parent window when a transient falls back before focusing the parent
3227
3228         * openbox/moveresize.c: unset it AFTER using it...
3229
3230         * openbox/moveresize.c: unset the client when done moveresizing
3231
3232         * openbox/openbox.c:
3233         don't wait(), the glib function does that for us woot.
3234
3235         * openbox/client.c:
3236         more strict rules on what will be focused by the focusNew option in the rc3. only strictly NORMAL windows will be focused, not dialogs or anything else when they are mapped.
3237
3238         * openbox/focus.h: comment typo
3239
3240         * openbox/client.c, openbox/moveresize.c, openbox/moveresize.h:
3241         watch out when unmanaging a window, that it is not being move/resized
3242
3243 2003-04-17  Ben Jansens  <xor@zed.orodu.net>
3244
3245         * openbox/client.c:
3246         a) put transient windows on the same desktop as their parent
3247         b) if a window is attempted to be focused but it is not on the current desktop,
3248            then move it to the top of the focus order on its desktop
3249
3250         * openbox/screen.c:
3251         distribute focus when entering/leaving show-the-desktop mode
3252
3253         * openbox/event.c: remove debug print
3254
3255         * openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h:
3256         add the left/right/top/bottom direction arrows and use them for resizing those ways
3257
3258         * openbox/event.c: dont ignore all Virtual pointer events
3259
3260         * openbox/action.c: 02:33 (@xor) omg yes
3261         02:33 (@xor) grid workspace cycling of d3th
3262
3263         * openbox/action.c: fix grip workspace cycling
3264
3265         * openbox/event.c, openbox/grab.c, openbox/grab.h, openbox/moveresize.c, openbox/moveresize.h:
3266         fix up support for moveresize. make keyboard grabs Async so that i can hit escape to cancel a moveresize process.
3267
3268         * openbox/openbox.c: do not shadow parameter pls
3269
3270         * openbox/moveresize.c: initialize start_x/y
3271
3272         * openbox/focus.c, openbox/moveresize.c, openbox/moveresize.h, openbox/openbox.c, openbox/openbox.h:
3273         add support for interactive/keyboard move/resize
3274
3275         * openbox/event.c, openbox/prop.c, openbox/prop.h, openbox/screen.c:
3276         add support for net_moveresize_window and net_wm_moveresize
3277
3278         * openbox/frame.c: use the new cursor defn's
3279
3280         * openbox/screen.c: use the new ptr cursor defn
3281
3282         * openbox/Makefile.am, openbox/action.c, openbox/action.h, openbox/event.c, openbox/moveresize.c, openbox/moveresize.h, openbox/prop.c, openbox/prop.h:
3283         move the move/resize functionality into moveresize.c, for use with the netwm atoms. use it from teh plugins. combine the two actions.
3284
3285         * openbox/framerender.c: put text centered in the popup dialog properly
3286
3287         * data/rc3: make alt-middle the default resize binding
3288
3289         * openbox/openbox.c, openbox/openbox.h:
3290         add more cursors for move/resizing, and use the arrows not the angle brackets
3291
3292         * openbox/action.c:
3293         grab pointer during cycling to remove focus screwups from focus-follows-mouse.
3294         grab during move/resize and assign a cursor while doing the move/resize too!
3295
3296         * openbox/event.c: ignore virtual crossing events..
3297
3298         * openbox/focus.c: that was dumb, it was metacity's fault
3299
3300         * openbox/focus.c: only cycle to visible windows
3301
3302 2003-04-16  Ben Jansens  <xor@zed.orodu.net>
3303
3304         * openbox/event.c: dont send menu events to plugins
3305
3306         * data/rc3: show the root menu on right click
3307
3308         * openbox/event.c, openbox/grab.c, openbox/grab.h, openbox/menu.c, openbox/menu.h:
3309         menus works on some level. add a built-in root menu
3310
3311         * openbox/client.c: code cleanup
3312
3313         * openbox/client.c: when flags are not set assume bette defaults
3314
3315         * openbox/event.c, openbox/focus.c, openbox/menu.c, openbox/menu.h, openbox/openbox.c, openbox/stacking.c, openbox/stacking.h:
3316         raise menus above clients.
3317         hilight menu entries as the cursor passes over them.
3318
3319         * openbox/menu.c, openbox/menu.h:
3320         save the window ids in a map for the menus
3321
3322         * openbox/client.c: only change the group info if the group flag is set
3323
3324         * openbox/client.c: only add transients if we are IN a group
3325
3326         * openbox/client.c: oops nm
3327
3328         * openbox/client.c: less ()s cleanup
3329
3330         * openbox/client.c:
3331         remove transients before removing ourlselves from teh group
3332
3333         * openbox/client.c:
3334         set the group to null when removeing ourselves from it
3335
3336 2003-04-15  Ben Jansens  <xor@zed.orodu.net>
3337
3338         * openbox/action.c: watch out for missing a name
3339
3340         * render/theme.c: make menu font smaller and !bold for now
3341
3342         * openbox/action.c, openbox/action.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/openbox.c:
3343         start of showing/rendering menus. woot!
3344
3345         * render/theme.c, render/theme.h: load menu style stuff
3346
3347         * render/render.c, render/render.h:
3348         make minsize take int*'s not a Size*
3349
3350         * openbox/client.c:
3351         remove transients of the group from teh window when it leaves the group
3352
3353         * openbox/client.c: add group transients when setting up the group
3354
3355         * openbox/client.c: bug in the search for transient_for's
3356
3357         * data/rc3: update the theme stuff
3358
3359 2003-04-15  manmower  <manmower@zed>
3360
3361         * render/gradient.c: PYRAMID PARTY PART 2!!!
3362
3363         * render/gradient.c, render/gradient.h: PYRAMID PARTY!!!
3364
3365 2003-04-15  Ben Jansens  <xor@zed.orodu.net>
3366
3367         * openbox/screen.c: remove debug print
3368
3369 2003-04-14  Ben Jansens  <xor@zed.orodu.net>
3370
3371         * openbox/client.c, openbox/prop.c, openbox/screen.c:
3372         fixes for handling char**s
3373
3374         * render/font.c: indenting oopsie
3375
3376         * openbox/prop.c:
3377         dont get a null at the end of the data, so use strndup
3378
3379         * openbox/screen.c: fix a seg from ignoreing PROP_GETSS failure
3380
3381         * openbox/screen.c: more fixes for working with char**s
3382
3383         * openbox/screen.c: nullify the ends of the char**
3384
3385         * openbox/client.c, openbox/prop.h, openbox/screen.c:
3386         remove casts from PROP defines. use proper vars and cast elsewhere if needed.
3387
3388         * render/font.c: text justification
3389
3390         * render/render.c:
3391         shrink the area that the textures are rendered into by the bevels/borders
3392
3393         * openbox/client.c, openbox/prop.c, openbox/prop.h, openbox/screen.c, openbox/screen.h, openbox/stacking.c:
3394         rip the prop code i wrote in cwmcc out and make it all 64bit friendly (i think!). stop using gulong for values from the xserver, using guint32 instead.
3395
3396         * openbox/menu.c, openbox/menu.h:
3397         these menus should not be removed, they are good and will be used.
3398
3399         * openbox/event.c: clean up this mess of crap a lot
3400
3401         * openbox/prop.c, openbox/prop.h:
3402         do not commit bad char* foo that breaks on !32 bit platforms
3403
3404 2003-04-14  woodblock  <woodblock@zed>
3405
3406         * openbox/menu.c, openbox/menu.h: *** empty log message ***
3407
3408 2003-04-14  Ben Jansens  <xor@zed.orodu.net>
3409
3410         * openbox/parse.l: allow _'s in identifiers
3411
3412         * openbox/stacking.c: raise and lower all transients along with parents
3413
3414         * openbox/client.c:
3415         apply layers to all transients. only raise once on the highest window who's layer changed after applying layers to them all
3416
3417 2003-04-13  Ben Jansens  <xor@zed.orodu.net>
3418
3419         * openbox/client.c: ifdef not ifndef
3420
3421         * openbox/stacking.c: keep all transient windows above their parents
3422
3423         * openbox/client.c: simple cleanups for the client_iconify function.
3424         also dont follow into other groups when searching up the transient_for tree
3425
3426         * openbox/client.c: rm the unused vars
3427
3428         * openbox/client.c: onyl focus 'normal' windows on map
3429
3430         * openbox/client.c:
3431         only keep fullscreen windows on top while they are focused
3432
3433         * openbox/client.c, openbox/client.h:
3434         make fullscreen decorations and functions be calculated by the setup_decor_and_functions func
3435
3436         * openbox/group.c: rm the group debug prints
3437
3438         * openbox/client.c: only print that when debuggin focus
3439
3440         * .cvsignore, openbox/.cvsignore, render/.cvsignore:
3441         ignore the remaining new shit from automaking everything again
3442
3443         * .cvsignore, INSTALL, Makefile.am, Makefile.in, bootstrap, configure.ac, data/.cvsignore, data/Makefile.am, openbox/.cvsignore, openbox/Makefile, openbox/Makefile.am, po/.cvsignore, render/.cvsignore, render/Makefile, render/Makefile.am, tests/Makefile, themes/.cvsignore, themes/Makefile.am:
3444         back to automake
3445
3446         * AUTHORS: shrimpx above miklos?
3447
3448         * openbox/event.c, openbox/frame.c, openbox/frame.h:
3449         pass the Client for frame_context cuz the client might be NULL
3450
3451         * themes/ebox: comment properly
3452
3453         * render/theme.c: load the font shadow stuff from the old ob2 shitz
3454
3455         * openbox/config.c, openbox/config.h, openbox/openbox.c:
3456         let specify theme in the rc3 file. rm the other old engine options
3457
3458         * Makefile.in: break on errors
3459
3460         * Makefile.in, openbox/.cvsignore, openbox/action.c, openbox/client.c, openbox/config.h, openbox/engine.c, openbox/engine.h, openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/framerender.h, openbox/openbox.c, openbox/parse.l, openbox/parse.y, openbox/screen.c, render/.cvsignore, render/font.h, render/mask.h, render/render.h, render/theme.c, render/theme.h:
3461         move the openbox engine into librender and the kernel. the theme is loaded and stored inside librender. the frame is decorated and managed inside the kernel.
3462
3463         * themes/ob20, themes/operation, themes/outcomes, themes/bbs, themes/bluebox, themes/cthulhain, themes/deep, themes/ebox, themes/fieron, themes/fieron2, themes/flux, themes/frobozz, themes/frobust, themes/mbdtex, themes/miklos, themes/nyz, themes/nyzclone, themes/paper, themes/purplehaaze, themes/shade, themes/steelblue, themes/steelblue2, themes/the_orange, themes/trisb, themes/twice, themes/warp-xp:
3464         move the themes
3465
3466         * render/render.c: allow freeing NULL appearances
3467
3468         * render/font.c: allow closing NULL fonts
3469
3470         * render/mask.c: allow freeing NULL pixmap masks
3471
3472         * render/color.c: dont fux self in color_free if the color is NULL
3473
3474 2003-04-12  Ben Jansens  <xor@zed.orodu.net>
3475
3476         * tests/fullscreen.c: set the right mask for the client msg!
3477
3478 2003-04-12  woodblock  <woodblock@zed>
3479
3480         * CHANGELOG: Fixed another damned focus bug. Pray.
3481
3482 2003-04-11  Ben Jansens  <xor@zed.orodu.net>
3483
3484         * data/rc3: add right click in client focuses
3485
3486         * openbox/client.c: make utility windows able to be resized
3487
3488         * Makefile.in: rm the main Makefile in a distclean
3489
3490 2003-04-10  Ben Jansens  <xor@zed.orodu.net>
3491
3492         * openbox/client.c:
3493         deiconify transient parents when a child is deiconified.
3494
3495         * openbox/client.h: no fuck that it was working fine
3496
3497         * openbox/client.h: make the TRAN_GROUP an unsigned long
3498
3499         * openbox/event.c: add MapRequest print
3500
3501         * openbox/client.c:
3502         some smarter rules for focusing new window when focus_new is not set
3503
3504 2003-04-09  Ben Jansens  <xor@zed.orodu.net>
3505
3506         * Makefile.in, render/.cvsignore: add libcwmcc and libobcl
3507
3508         * HACKING: describe the code subdirs
3509
3510         * openbox/action.c:
3511         dont show the focus popup when theres no target client
3512
3513 2003-04-08  Ben Jansens  <xor@zed.orodu.net>
3514
3515         * openbox/event.c: rm debug print
3516
3517         * tests/.cvsignore: add override
3518
3519         * tests/override.c: add a test that maps an override redirect window
3520
3521         * openbox/client.c, openbox/config.c, openbox/config.h, openbox/engine.c, openbox/engine.h, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/openbox.c, openbox/prop.c, openbox/screen.c:
3522         move config option loading for the kernel into config.c/h
3523         add options for the number of desktops and the names of the desktops
3524
3525         * data/rc3: add the desktops options
3526
3527         * data/rc3: better clickfocus friendliness
3528
3529         * openbox/client.c: check for focus before unfocusing
3530
3531         * openbox/client.c, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/screen.c:
3532         add more options for focus fallback, use an enum for all the types of fallbacks.
3533
3534         * openbox/focus.c: only cycle focus to normal windows
3535
3536         * data/rc3: make stacked cycling the default
3537
3538         * openbox/action.c: show a popup with the focus target while cycling
3539
3540         * openbox/focus.c, openbox/focus.h:
3541         fallback to transients' parents when possible.
3542         return the Client* which was focused from focus_cycle
3543
3544         * openbox/client.c: fallback focus while unmanaging the window
3545
3546 2003-04-07  Ben Jansens  <xor@zed.orodu.net>
3547
3548         * data/rc3: FocusRaise to be more clickfocus friendly too
3549
3550         * data/rc3, openbox/focus.c, openbox/focus.h:
3551         add focusLast and focusLastOnDesktop options in the [focus] section of the rc3. allows more customizaton of the focus model. default to click-focus style. add handling for focus cycling when nothing on the desktop is focused.
3552
3553         * openbox/event.c: ignore inferior enternotifies
3554         add anotehr focusdebug print
3555
3556         * openbox/client.c: check for new windows always being onscreen.
3557         rename the client pointer to self in teh manage unmanage functions for consistancy
3558
3559         * openbox/grab.c: rm debug prints
3560
3561 2003-04-07  woodblock  <woodblock@zed>
3562
3563         * configure.in: bump version string
3564
3565 2003-04-07  Ben Jansens  <xor@zed.orodu.net>
3566
3567         * HACKING: add comment about the two different area Rects
3568
3569         * HACKING: add new HACKING!
3570         warn about Client.transient_for
3571
3572         * openbox/client.h, openbox/stacking.c, openbox/client.c:
3573         support for transients of groups
3574
3575         * openbox/event.c: missed one
3576
3577         * openbox/event.c: put focus messages in ifdefs
3578
3579         * openbox/focus.c: remove debug print
3580
3581         * openbox/client.c, openbox/client.h, openbox/group.c, openbox/group.h, openbox/openbox.c:
3582         track window groups
3583         iconify all its transients when a window is iconified
3584
3585         * openbox/action.c, openbox/client.c, openbox/client.h, openbox/focus.c, openbox/focus.h:
3586         put focus_cycle into focus.c, use it there in the action. improved it as well to handle odd cases like modal windows. added functions to client.c which are needed by the focus cycling routine.
3587
3588         * openbox/grab.c: grab the other device in Sync for button/key grabs
3589
3590 2003-04-06  Ben Jansens  <xor@zed.orodu.net>
3591
3592         * render/render.c: ifndef NOT IFNDEF GAH
3593
3594         * openbox/action.c: dont toggle when no client was passed to teh action
3595
3596         * openbox/event.c: nm that, pointless...
3597
3598         * openbox/event.c:
3599         disable keyboard and mouse input while ob is starting or exiting
3600
3601 2003-04-06  manmower  <manmower@zed>
3602
3603         * render/color.c, render/render.c:
3604         Fix reduce color depth to not use original data
3605         (and break parentrel)
3606
3607 2003-04-06  Ben Jansens  <xor@zed.orodu.net>
3608
3609         * openbox/engine.c: print the error when the engine cant load
3610
3611         * render/render.c: add stdlib.h for exit()
3612
3613         * .cvsignore, configure.ac, install-sh:
3614         stop using build/ dir configure shits all over itself for other people
3615
3616         * m4/x11.m4, m4/openbox.m4:
3617         build fixes for finding Xlibs and for setting vars based on found Xlib info and Xinerama info
3618
3619         * configure.ac: more build system fixups
3620
3621         * .cvsignore, Makefile, Makefile.in, configure.ac, install-sh, m4/openbox.m4, render/.cvsignore:
3622         fixes for build system. add themes to the install process. use the build/ dir for configures trash dump
3623
3624         * openbox/engine.c: clean up the module if load() fails