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