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