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