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