]> icculus.org git repositories - mikachu/openbox.git/blob - ChangeLog
parse <here>true</here> for the activate action
[mikachu/openbox.git] / ChangeLog
1 2003-08-12  xor@zed.orodu.net  <xor@zed>
2
3         * configure.ac: alpha5
4
5         * kernel/screen.c: when cancelling return the first desktop
6
7         * kernel/action.c, kernel/action.h:
8         use the new client_directional_edge_search for the movetoedge actions.
9         add new growtoedge actions.
10
11         * kernel/client.c, kernel/client.h:
12         small bugfix to the directional focus code.
13         add the client_directional_edge_search function.
14
15         * kernel/keyboard.c:
16         only do shit with the grabbed_* when a grab is in place
17
18         * kernel/action.c, kernel/mouse.c, kernel/screen.c:
19         remove debug printings
20
21         * plugins/keyboard/.cvsignore, plugins/keyboard/Makefile, plugins/keyboard/keyboard.c, plugins/keyboard/keyboard.h, plugins/keyboard/translate.c, plugins/keyboard/translate.h, plugins/keyboard/tree.c, plugins/keyboard/tree.h:
22         remove the keyboard plugin shit
23
24         * 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:
25         move the keyboard and mouse plugins into the kernel for mucho sexiness.
26         make workspace changing a grabbed/interactive process like focus cycling is, with the popup and all.
27         this is some hot shit.
28
29         * kernel/event.c:
30         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.
31
32 2003-08-12  xor@zed.orodu.net  <xor@zed>
33
34         * kernel/event.c:
35         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.
36
37 2003-08-11  woodblock  <woodblock@zed>
38
39         * 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:
40         Some fixes and new bugs. Someone else can do the menus because it is
41         clear no one gives a fuck what I think and no one else wants a window
42         manager that doesn't suck the same balls as every other window manager.
43
44 2003-08-10  xor@zed.orodu.net  <xor@zed>
45
46         * kernel/client.c:
47         save the frame decorations in client_configure_full before causing the fake frame adjust, since that loses its old value.
48
49 2003-08-10  xor@zed.orodu.net  <xor@zed>
50
51         * framerender.c:
52         clear the window after setting the background color, this isnt implicit
53
54 2003-08-09  xor@zed.orodu.net  <xor@zed>
55
56         * focus.c, popup.c, popup.h, screen.c, timer.c, timer.h:
57         changes to the timer api, pass the timer to the callback function.
58         add a desktop-switch popup with the desktop's name
59
60 2003-08-07  woodblock  <woodblock@zed>
61
62         * event.c:
63         Fix lock up when not using a session manager and doing fd management.
64
65 2003-08-05  xor@zed.orodu.net  <xor@zed>
66
67         * screen.c: dont ignore topleft layouts
68
69         * frame.c:
70         dont map the tl/tr invisible grips when the grip decors are turned off
71
72         * client.c, frame.c, frame.h, framerender.c:
73         a couple frame layout bugfixes hidden inside all this.. wee
74         fixes for maximizing windows:
75          - 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.
76          - 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.
77          - when maxed horizontally and vertically, remove the handle from the decorations
78
79         * client.c:
80         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
81
82         * moveresize.c:
83         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
84
85 2003-08-03  xor@zed.orodu.net  <xor@zed>
86
87         * client.c, config.c, config.h, moveresize.c:
88         kill non-opaque move/resize
89         add an option for redrawing/resizing the client window while resizing, when disabled the client is not touched until the resize is complete.
90
91         * framerender.c: give the plate the same background color as its border
92
93 2003-08-03  xor@zed.orodu.net  <xor@zed>
94
95         * data/rc3, kernel/client.c, kernel/config.c, kernel/config.h, kernel/moveresize.c:
96         kill non-opaque move/resize
97         add an option for redrawing/resizing the client window while resizing, when disabled the client is not touched until the resize is complete.
98
99         * kernel/framerender.c:
100         give the plate the same background color as its border
101
102 2003-08-02  xor@zed.orodu.net  <xor@zed>
103
104         * tools/obconf/main.c: has a pane and list and workarea
105
106         * tools/obconf/main.c: has a menu and a treeview
107
108         * kernel/client.c, kernel/event.c:
109         use the frame size not the client size when figuring out if stuff fits on the screen
110
111         * plugins/placement/placement.c:
112         let transients go where they requested :( fuck xmms
113
114         * themes/om4ob/themerc: add disabled button styles (from miklos)
115
116         * tools/kdetrayproxy/kdetrayproxy.c: missing sys/time.h
117
118         * configure.ac: alpha4
119
120         * ChangeLog: recent changes
121
122         * 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:
123         add the om4ob theme
124
125         * ChangeLog: recent changes
126
127         * render/theme.c: oops indenting
128
129         * render/theme.c:
130         look in theme dirs first, use the theme as the path as a last attempt only!
131
132         * kernel/frame.c: the grips go below the titlebar buttons
133
134         * plugins/placement/placement.c: place transients better
135
136         * kernel/client.h, kernel/dock.c, kernel/dock.h, kernel/geom.h, kernel/prop.c, kernel/prop.h:
137         add partial struts tho they arent useful eyt
138
139         * data/rc3, kernel/frame.c, kernel/frame.h, kernel/framerender.c, render/theme.h:
140         invisible resizing areas/grips in the top corners of the window
141
142         * plugins/mouse/mouse.c:
143         omg i found the bug that would make the mouse cursor end up way far from where you started the drag.
144
145         * render/theme.c: use the toggled mask for shade and desk buttons
146
147         * kernel/client.c: that line ended up in teh if somehow...
148
149 2003-08-02  xor@zed.orodu.net  <xor@zed>
150
151         * configure.ac: alpha4
152
153         * ChangeLog: recent changes
154
155         * 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:
156         add the om4ob theme
157
158         * ChangeLog: recent changes
159
160         * render/theme.c: oops indenting
161
162         * render/theme.c:
163         look in theme dirs first, use the theme as the path as a last attempt only!
164
165         * kernel/frame.c: the grips go below the titlebar buttons
166
167         * plugins/placement/placement.c: place transients better
168
169         * kernel/client.h, kernel/dock.c, kernel/dock.h, kernel/geom.h, kernel/prop.c, kernel/prop.h:
170         add partial struts tho they arent useful eyt
171
172         * data/rc3, kernel/frame.c, kernel/frame.h, kernel/framerender.c, render/theme.h:
173         invisible resizing areas/grips in the top corners of the window
174
175         * plugins/mouse/mouse.c:
176         omg i found the bug that would make the mouse cursor end up way far from where you started the drag.
177
178         * render/theme.c: use the toggled mask for shade and desk buttons
179
180         * kernel/client.c: that line ended up in teh if somehow...
181
182 2003-08-02  xor@zed.orodu.net  <xor@zed>
183
184         * 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:
185         add the om4ob theme
186
187         * ChangeLog: recent changes
188
189         * render/theme.c: oops indenting
190
191         * render/theme.c:
192         look in theme dirs first, use the theme as the path as a last attempt only!
193
194         * kernel/frame.c: the grips go below the titlebar buttons
195
196         * plugins/placement/placement.c: place transients better
197
198         * kernel/client.h, kernel/dock.c, kernel/dock.h, kernel/geom.h, kernel/prop.c, kernel/prop.h:
199         add partial struts tho they arent useful eyt
200
201         * data/rc3, kernel/frame.c, kernel/frame.h, kernel/framerender.c, render/theme.h:
202         invisible resizing areas/grips in the top corners of the window
203
204         * plugins/mouse/mouse.c:
205         omg i found the bug that would make the mouse cursor end up way far from where you started the drag.
206
207         * render/theme.c: use the toggled mask for shade and desk buttons
208
209         * kernel/client.c: that line ended up in teh if somehow...
210
211 2003-08-02  xor@zed.orodu.net  <xor@zed>
212
213         * theme.c: oops indenting
214
215         * theme.c:
216         look in theme dirs first, use the theme as the path as a last attempt only!
217
218         * theme.h:
219         invisible resizing areas/grips in the top corners of the window
220
221         * theme.c: use the toggled mask for shade and desk buttons
222
223 2003-08-01  xor@zed.orodu.net  <xor@zed>
224
225         * theme.c: look for masks only where the themerc was read from
226
227         * theme.c, theme.h: add pressed bitmaps. rename stick bitmaps to desk
228
229         * theme.c, theme.h: add toggled textuers for titlebar buttons
230
231         * gradient.c, render.c, render.h: move the dekstop file to data/
232
233         * theme.c, theme.h:
234         renamed the _t bitmaps, and added disabled and hover bitmaps
235
236         * theme.c: make themes inside a directory
237
238         * theme.c: add missing includes
239
240 2003-07-31  xor@zed.orodu.net  <xor@zed>
241
242         * font.c: missing a header
243
244 2003-07-31  xor@zed.orodu.net  <xor@zed>
245
246         * configure.ac: alpha3
247
248         * kernel/frame.c: fix a long-lurknig gravity bug
249
250         * tools/obconf/main.c: dont inlcude these headers they arent needed yet
251
252         * ChangeLog: recent changes
253
254         * kernel/openbox.c: oops missed one
255
256         * kernel/openbox.c, kernel/openbox.h: expose exit_with_error
257
258         * plugins/placement/history.c: kill warnings
259
260         * kernel/session.c: kill some output
261
262         * kernel/openbox.c:
263         only load the session from file if a file was provided
264
265         * render/font.c: missing a header
266
267         * README.CVS: remove shit i no longer use
268
269         * parser/parse.c: always return a string from parse_string
270
271         * kernel/client.c:
272         set the desktop hint if the desktop is changed by the session code
273
274         * kernel/client.c:
275         set the desktop hint after everything is read/setup even session stuff
276
277         * kernel/client.c:
278         add the window to the lists before setting the client list hint
279
280         * kernel/session.c:
281         declare functions that are needed when built without session support
282
283         * kernel/session.c:
284         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.
285
286         * kernel/client.c, kernel/client.h:
287         add a function to retrieve the sm_client_id value
288
289         * plugins/placement/history.c:
290         dont save/load history. its slow and its stupid.
291
292 2003-07-31  xor@zed.orodu.net  <xor@zed>
293
294         * kernel/openbox.c: oops missed one
295
296         * kernel/openbox.c, kernel/openbox.h: expose exit_with_error
297
298         * plugins/placement/history.c: kill warnings
299
300         * kernel/session.c: kill some output
301
302         * kernel/openbox.c:
303         only load the session from file if a file was provided
304
305         * render/font.c: missing a header
306
307         * README.CVS: remove shit i no longer use
308
309         * parser/parse.c: always return a string from parse_string
310
311         * kernel/client.c:
312         set the desktop hint if the desktop is changed by the session code
313
314         * kernel/client.c:
315         set the desktop hint after everything is read/setup even session stuff
316
317         * kernel/client.c:
318         add the window to the lists before setting the client list hint
319
320         * kernel/session.c:
321         declare functions that are needed when built without session support
322
323         * kernel/session.c:
324         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.
325
326         * kernel/client.c, kernel/client.h:
327         add a function to retrieve the sm_client_id value
328
329         * plugins/placement/history.c:
330         dont save/load history. its slow and its stupid.
331
332 2003-07-30  xor@zed.orodu.net  <xor@zed>
333
334         * kernel/client.c, kernel/prop.c, kernel/prop.h, kernel/session.c, kernel/session.h:
335         restore saved session data for applications
336
337         * plugins/placement/placement.c: center transients
338
339         * data/rc3, kernel/config.c, kernel/config.h, kernel/frame.c, render/theme.c, render/theme.h:
340         move the titlebar layout from the theme to the rc file
341
342         * kernel/client.c: attemp #3
343
344         * kernel/client.c: attempt #2 at better logical size values
345
346         * kernel/client.c: include the base size in the logical size
347
348         * ChangeLog: recent changes
349
350         * kernel/client.c: the size can be 0 when there is a base size
351
352         * kernel/client.c, kernel/client.h, kernel/event.c:
353         improved ICCCM compliance!
354           a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
355           b) send the corrent coords in the ConfigureNotify, including the border width
356           c) remove the WM_STATE property when unmanaging a window
357
358         * kernel/frame.c: code cleaning
359
360         * kernel/menu.c: only ignore wheel buttons
361
362 2003-07-30  xor@zed.orodu.net  <xor@zed>
363
364         * client.c: the size can be 0 when there is a base size
365
366         * client.c, client.h, event.c: improved ICCCM compliance!
367           a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
368           b) send the corrent coords in the ConfigureNotify, including the border width
369           c) remove the WM_STATE property when unmanaging a window
370
371         * frame.c: code cleaning
372
373         * menu.c: only ignore wheel buttons
374
375 2003-07-29  xor@zed.orodu.net  <xor@zed>
376
377         * event.c: i am the king of copy/paste errors
378
379 2003-07-29  woodblock  <woodblock@zed>
380
381         * event.c: more menu fixes.
382         I hate menus.
383
384         * menu.c: Clear current_menu when hiding menus.
385
386         * event.c, menu.c: Close menu properly on unbound keys.
387
388         * menu.c: Fix some keyboard control issues.
389
390 2003-07-28  xor@zed.orodu.net  <xor@zed>
391
392         * client.c, event.c:
393         base rudeness on if they have a strut even smarter!
394
395         * client.c, event.c: base rudeness on if they have a strut or not
396
397         * client.c, event.c, screen.c:
398         make the new placement restrictions not affect !normal windows like panels
399
400         * menu.c: use plugin_open_reopen not plugin_open_full
401
402         * event.c, frame.c, frame.h, framerender.c:
403         hover theme elements for window titlebar buttons
404
405         * client.c, client.h, event.c, screen.c:
406         make those apps stay/map on screen!! fuck stupid apps. thats right im talking to you mozilla and you too java.
407
408         * event.c: make things compile again. hover does not work yet.
409
410         * client.c: use the macro
411
412         * client.c, event.c:
413         keep apps from moving/maping their titlebar underneath left/top panels
414
415         * session.c: set teh clone comamnd
416
417         * session.c:
418         use char not a long, since we're telling the SM that its 1 byte lone
419
420         * session.c: save the commands on startup
421
422         * session.c: use the path properly for the session file
423
424         * session.c: use teh save file not the session id
425
426 2003-07-28  woodblock  <woodblock@zed>
427
428         * menu.c: demand load plugins from the menu
429
430         * event.c, menu.c: Menu stuff.
431         Testing may begin.
432
433 2003-07-26  woodblock  <woodblock@zed>
434
435         * event.c: Close menu on click if outside the menu.
436         I think, haven't tested.
437
438         * menu.c: more fixes
439
440 2003-07-26  xor@zed.orodu.net  <xor@zed>
441
442         * stacking.c: dont stack groups together
443
444 2003-07-26  woodblock  <woodblock@zed>
445
446         * event.c, menu.c, menu.h: Some menu updates.
447         Don't talk to me about menus.
448
449 2003-07-26  xor@zed.orodu.net  <xor@zed>
450
451         * stacking.c: dont stack groups together
452
453 2003-07-26  woodblock  <woodblock@zed>
454
455         * event.c, menu.c, menu.h: Some menu updates.
456         Don't talk to me about menus.
457
458 2003-07-25  xor@zed.orodu.net  <xor@zed>
459
460         * client.c, client.h:
461         add client_search_transient which searches the tree from a client down for a client
462
463         * stacking.c: stacking fixes
464
465 2003-07-24  xor@zed.orodu.net  <xor@zed>
466
467         * openbox.c, openbox.h, session.c, session.h:
468         save and load the session save file, though its data is not used yet!
469
470 2003-07-24  woodblock  <woodblock@zed>
471
472         * event.c, menu.c, menu.h, menu_render.c:
473         I had a commit message but my commit got stepped on so fuck it.
474         No one cares what I think anyway.
475         If the menu navigation isn't EXACTLY FUCKING RIGHT I WILL REMOVE IT
476         AND SOME OTHER POOR FUCK CAN PUT UP WITH ALL THE FUCKING BULLSHIT.
477
478 2003-07-24  xor@zed.orodu.net  <xor@zed>
479
480         * action.c, client.c, debug.h, dock.c, event.c, focus.c, menu.c, menu_render.c, openbox.c, screen.c:
481         use ob_debug for any debug printing and only display the output when its a debug build or when --debug is passed to it
482
483 2003-07-24  xor@zed.orodu.net  <xor@zed>
484
485         * configure.ac:
486         dont display the build type at the end its already in the output
487
488         * 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/keyboard/keyboard.c, plugins/keyboard/translate.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:
489         use ob_debug for any debug printing and only display the output when its a debug build or when --debug is passed to it
490
491         * render/gradient.c:
492         draw the bevel stuff in the pixel data buffer so parent-relative stuff can use it.
493
494         * render/render.c: space
495
496 2003-07-23  xor@zed.orodu.net  <xor@zed>
497
498         * render/render.c:
499         init the parent shit in the surface when making a copy
500
501         * Makefile.am: use rm -f
502
503         * plugins/menu/include_menu.c: declare vars at top
504
505         * plugins/menu/timed_menu.c:
506         i already fixed this once :) var declarations go first
507
508         * Makefile.am: include obconf_interface.h in the dist
509
510         * Makefile.am: remove headers that dont exist
511
512         * plugins/menu/.cvsignore: add the include menu plugin
513
514         * m4/Makefile.am: add the new m4s
515
516 2003-07-23  woodblock  <woodblock@zed>
517
518         * plugins/menu/timed_menu.c: Timed menu updates. Still needs work.
519
520         * plugins/menu/client_menu.c:
521         Better placement of the client window. Might need some tweaking.
522
523 2003-07-23  xor@zed.orodu.net  <xor@zed>
524
525         * kernel/menu.c: unhilite the entry for the submenu when it is closed
526
527         * configure.ac: alpha2
528
529         * DESIGN/themes.txt: add hover
530
531 2003-07-23  woodblock  <woodblock@zed>
532
533         * Makefile.am, plugins/menu/include_menu.c:
534         Added include_menu.c as an example of how one could write a plugin.
535
536         * kernel/config.c, kernel/menu.c, parser/parse.c, plugins/keyboard/keyboard.c, plugins/menu/fifo_menu.c, plugins/mouse/mouse.c, plugins/placement/history.c:
537         * Change xml parsing to pass the parent node, rather than the first
538         child.
539         * Add x,y co-ordinates on showmenu action so we can place menus on keypress.
540
541 2003-07-22  xor@zed.orodu.net  <xor@zed>
542
543         * kernel/event.c, kernel/openbox.c, kernel/openbox.h, kernel/screen.c:
544         add the --replace command line option, and support for the WM_Sn selection
545
546         * kernel/prop.c, kernel/prop.h: add the MANAGER atom.
547         allow prop_message to be used with a user-defined mask instead of only with the NetWM mask
548
549         * plugins/keyboard/keyboard.c:
550         set the x/y values in the moveresize struct for moveresize key actions
551
552         * kernel/client.c: stop shownig the desktop when a new window maps
553
554         * kernel/menu.c: add a func to find a menu entry from a submenu.
555         keep menu entries highlighted while they have their submenu open
556
557         * kernel/menu.h: add a func to find a menu entry from a submenu
558
559         * plugins/menu/fifo_menu.c: declare vars at the top of the block
560
561         * kernel/menu.c, render/theme.c, render/theme.h:
562         add a menuOverlap property to themes, and use it in the submenu placement
563
564         * configure.ac: update to new version of gettext
565
566         * m4/.cvsignore, po/.cvsignore: more stuff to ignore
567
568 2003-07-21  woodblock  <woodblock@zed>
569
570         * kernel/event.c, kernel/menu.c, kernel/menu.h:
571         Keyboard navigatable menus
572
573 2003-07-19  woodblock  <woodblock@zed>
574
575         * kernel/action.c, kernel/menu.c: Fix a couple memory leaks.
576
577         * plugins/menu/fifo_menu.c:
578         If there is a pid="true" attribute in the <menu plugin="fifo_menu">
579         tag, append .pid to the fifo files. This allows for more than one
580         openbox to be run by the same user and use fifo menus.
581
582 2003-07-17  woodblock  <woodblock@zed>
583
584         * kernel/menu.c, kernel/menu.h, kernel/plugin.c, kernel/plugin.h, plugins/menu/fifo_menu.c:
585         Menu parsing updates for plugins.
586
587         FIFO menus are the only plugin that takes advantage of this.
588         Example:
589         <menu id="root" label="Openbox 3">
590           <menu id="fonk" label="fonk" plugin="fifo_menu">
591           </menu>
592         </menu>
593
594         This creates a FIFO ~/.openbox/fifo_menu/fonk to which you can send
595         menus to. The menus sent to it must be like
596         <fifo>
597           <item>
598            etc...
599         </fifo>
600
601         I think. If my memory serves me right.
602
603         It is all hideous, but I just wanted to experiment and see if it was
604         possible.
605
606 2003-07-12  xor@zed.orodu.net  <xor@zed>
607
608         * render/theme.c: useless code move
609
610         * kernel/client.c: simple code cleanup
611
612 2003-07-11  xor@zed.orodu.net  <xor@zed>
613
614         * render/color.c, render/render.c:
615         removed the RrEndian so using LSBFirst always now. hopefully this works!
616
617         * kernel/client.c:
618         when a transient maps on another desktop, give it focus when it deserves it
619
620         * render/render.h: same default offsets for all endian machines
621
622         * DESIGN/themes.txt: some input from woobie and changed the menu stuff
623
624         * DESIGN/themes.txt: extra menu tag
625
626         * kernel/openbox.c: add --g-fatal-warnings
627
628         * kernel/dock.c:
629         fix a seggie i introduced, going too far in the dockapps list
630
631         * DESIGN/themes.txt: attempt #2
632
633         * DESIGN/themes.txt: oops extra menu_layout
634
635         * DESIGN/themes.txt: a full style defn..
636
637         * kernel/client.c: move to the desktop of the activated window
638
639 2003-07-10  xor@zed.orodu.net  <xor@zed>
640
641         * 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:
642         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.
643
644         when a window cant be resized, its handle is not removed but its grips are.
645
646         change allowing the user to disable individual decorations as that is overkill,
647         instead allow a toggle through the client.decorate boolean.
648
649         * tests/Makefile: readd the Makefile
650
651         * kernel/focus.c: simply startup/shutdown
652
653         * AUTHORS: add some more contributors
654
655         * kernel/openbox.c: sync is in unistd.h
656
657         * 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:
658         prefix and capitalize ObMenu ObMenuEntry and ObMenuEntryRenderType
659         make the ObMenuEntryRenderType a standard enum instead bitflags
660
661         * kernel/focus.c, kernel/openbox.c, kernel/openbox.h, kernel/screen.c, kernel/screen.h:
662         move ob_pointer_pos to screen_pointer_pos
663
664         * 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:
665         make ob_state a function so it cant be changed outside of openbox.c
666
667         * 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:
668         remove the ob_root var, its redundant of what Xlib already provides
669
670         * kernel/openbox.c, kernel/openbox.h: use gint
671
672         * kernel/openbox.c, kernel/openbox.h:
673         ob_remote has been killed, remove ob_sync from the public header, its only used internally
674
675         * kernel/openbox.c, kernel/openbox.h:
676         the --rc arg and rc_path var wasnt even being used so just rm it
677
678         * kernel/action.c, kernel/event.c, kernel/openbox.c, kernel/openbox.h:
679         make the ob_restart/shutdown stuff static vars and expose them only through functions ob_restart_other(), ob_restart() and ob_exit()
680
681         * kernel/stacking.c: remove useless include
682
683         * kernel/focus.c, kernel/focus.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, plugins/keyboard/keyboard.c:
684         replace the focus_backup with the screen_support_win, we dont need 2 offscreen windows.
685
686         * kernel/screen.c:
687         use the xerror stuff to trap errors instead of dupliacted the effort here
688
689         * kernel/dock.c, kernel/dock.h, kernel/screen.c, kernel/timer.c, kernel/timer.h, plugins/keyboard/keyboard.c, plugins/menu/timed_menu.c:
690         prefix the Timer->ObTimer and TimeoutHandler->ObTimeoutHandler shitz
691
692         * 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, plugins/keyboard/keyboard.c:
693         prefixing and capitalizing the StackLayer -> ObStackingLayer enum.
694         less includes in headers for less rebuilding on changes
695
696         * kernel/client.c, kernel/event.c, kernel/focus.c, kernel/focus.h, kernel/screen.c:
697         prefix and capitalize the ObFocusFallbackType enum
698
699         * kernel/config.c, kernel/config.h, kernel/dock.c:
700         use the ObOrientation enum instead of a horz bool for configuring the dock's orientation
701
702         * kernel/config.c, kernel/config.h, kernel/dock.c, kernel/dock.h, kernel/event.c, kernel/window.c, kernel/window.h:
703         prefixing for the dock. use ObDirection instead of dupliacting it in another enum for the dock's placement
704
705         * kernel/popup.c, kernel/popup.h:
706         prefixing for the Popup->ObPopup struct
707
708         * kernel/moveresize.h: dont need client.h in this header
709
710         * kernel/client.h, kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/framerender.h, kernel/popup.c, plugins/mouse/mouse.c:
711         prefixing and capitalization for the Frame->ObFrame struct and the Context->ObFrameContext enum and its constants.
712
713         * kernel/client.h, kernel/group.c, kernel/group.h:
714         prefix Group to ObGroup
715
716         * kernel/client.c, kernel/client.h, kernel/focus.c, kernel/stacking.c:
717         prefix TRAN_GROUP to OB_TRAN_GROUP
718
719         * kernel/action.c, kernel/client.c, kernel/client.h, kernel/frame.h, kernel/screen.c:
720         prefix and capitalize some more constants/enums in client.h (Function -> ObFunctions and WindowType -> ObClientType)
721
722         * plugins/menu/client_menu.c, plugins/menu/fifo_menu.c, plugins/menu/timed_menu.c:
723         kill warnings
724
725         * 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/keyboard/keyboard.c, plugins/mouse/mouse.c, plugins/placement/history.c, plugins/placement/history.h, plugins/placement/placement.c, plugins/resistance/resistance.c:
726         rename the Client struct to ObClient
727
728         * Makefile.am: add the new misc.h and mwm.h to the kernel sources
729
730         * kernel/client.c, kernel/client.h, kernel/mwm.h:
731         add a mwm.h for the mwm hint structure and flags.
732         use proper prefixing and capitalization for the new mwm stuff.
733
734         * 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/keyboard/keyboard.c, plugins/placement/history.c, plugins/placement/placement.c, plugins/resistance/resistance.c:
735         add misc.h with some standard enumerations with proper prefixing and capitalizations.
736
737         use the new enums throughout.
738
739         provide keycodes and cursors through ob_cursor and ob_keycode functions, which use the new misc.h enums for picking the cursor and keycode.
740
741         * 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, plugins/resistance/resistance.c:
742         rename 'xinerama' stuff to 'monitors' to be more generic and descriptive.
743
744         * kernel/stacking.c: speed up pick_group_windows too
745
746         * kernel/stacking.c: make pick_windows waaaay faster
747
748         * kernel/openbox.c:
749         remove the use of the BINARY define. kill a compiler warning.
750
751         * kernel/stacking.c: allow restacking of transients above one another
752
753         * kernel/focus.c:
754         put the transient's title before the parent's in the focus popup
755
756         * kernel/extensions.c, kernel/extensions.h:
757         remove the xinerama active boolean, just count the extension as not present if it is not active
758
759         * kernel/client.c, kernel/client.h: add client_search_top_transient.
760         keep transients all on the same desktop together. use client_search_top_transient where possible in client.c
761
762         * kernel/debug.c, kernel/debug.h:
763         add ob_debug for printing stuff only when debug is enabled
764
765         * plugins/mouse/mouseparse.c, plugins/mouse/mouseparse.h:
766         these havent been used for a long time.. ;) old parsing shit be gone
767
768         * 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:
769         remove rependancy on geom.h from the kernel, provide what is used in its own geom.h
770
771         * 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/keyboard/.cvsignore, plugins/keyboard/Makefile, plugins/keyboard/Makefile.am, plugins/menu/.cvsignore, plugins/menu/Makefile, plugins/menu/Makefile.am, plugins/mouse/.cvsignore, plugins/mouse/Makefile, plugins/mouse/Makefile.am, plugins/placement/.cvsignore, plugins/placement/Makefile, plugins/placement/Makefile.am, plugins/resistance/.cvsignore, plugins/resistance/Makefile, plugins/resistance/Makefile.am, render/.cvsignore, render/Makefile, render/Makefile.am, themes/.cvsignore, themes/Makefile, themes/Makefile.am, themes/ebox_data/.cvsignore, themes/ebox_data/Makefile.am, themes/fieron2_data/.cvsignore, themes/fieron2_data/Makefile.am, themes/fieron_data/.cvsignore, themes/fieron_data/Makefile.am, tools/Makefile.am, tools/obconf/Makefile.am:
772         update the build system, using a single Makefile.am for a sexyass non-recursive make. booyah!
773
774         * gettext.h, kernel/gettext.h:
775         move the gettext header out to the root source dir
776
777 2003-07-07  xor@zed.orodu.net  <xor@zed>
778
779         * render/font.c: include stdlib for exit()
780
781 2003-07-06  xor@zed.orodu.net  <xor@zed>
782
783         * bootstrap: add ACLOCAL_FLAGS to the aclocal call.
784
785 2003-07-05  xor@zed.orodu.net  <xor@zed>
786
787         * kernel/openbox.c: use --foo instead of -foo for cmd line arguments
788
789         * render/color.c, render/render.h:
790         try some better default offsets for big endian machines.
791         print what the conversion is so i can see what it should be if im wrong though
792
793         * render/color.c:
794         used RrColorShift when RrColorOffset was what we wanted
795
796         * 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:
797         use the gdk-pixbuf-xlib library to render with
798
799         * configure.ac: coment the USE_LIBSN defined variable
800
801 2003-07-02  xor@zed.orodu.net  <xor@zed>
802
803         * kernel/stacking.c:
804         rename the raise and lower functions. raise is claimed by signal.h already
805
806 2003-06-30  xor@zed.orodu.net  <xor@zed>
807
808         * kernel/dock.c: set te strut smaller when autohide is on
809
810 2003-06-30  woodblock  <woodblock@zed>
811
812         * kernel/event.c:
813         Makes a simple click not so accidently annoying by making it not
814         execute a menu action if nothing is highlighted.
815
816 2003-06-30  xor@zed.orodu.net  <xor@zed>
817
818         * kernel/extensions.c:
819         messed up the indexes while finding the combined size of all xineerama heads
820
821         * kernel/extensions.c: oops, i want the max edges to find the full area
822
823         * CHANGELOG, ChangeLog: using a changelog generated off of CVS
824
825 2003-06-30  woodblock  <woodblock@zed>
826
827         * plugins/menu/Makefile.am:
828         Remove menu plugins because they are stupid and don't work.
829
830 2003-06-29  xor@zed.orodu.net  <xor@zed>
831
832         * kernel/prop.c:
833         the prop_get_strings_locale function looked for a utf8 typed property
834
835         * kernel/focus.c, kernel/openbox.c, kernel/stacking.c:
836         add some comments and asserts to make sure I don't ever add this bug again
837
838         * kernel/popup.c:
839         create the popup's window before adding it to the stacking list, so that it is stacked properly and doesnt wreck everything
840
841         * Makefile.am, configure.ac, data/Makefile.am, kernel/Makefile.am, parser/Makefile.am, plugins/Makefile.am, plugins/keyboard/Makefile.am, plugins/menu/Makefile.am, plugins/mouse/Makefile.am, plugins/placement/Makefile.am, plugins/resistance/Makefile.am, render/Makefile.am, themes/Makefile.am, themes/ebox_data/Makefile.am, themes/fieron2_data/Makefile.am, themes/fieron_data/Makefile.am, tools/obconf/Makefile.am:
842         prepare for alpha1 release.
843         make 'make dist' work.
844
845         * m4/.cvsignore, m4/Makefile.am:
846         add a makefile so i can put stuff into the make dist
847
848         * m4/python.m4: python support is gone
849
850         * po/POTFILES.in:
851         we dont really have any translatable stuff yet but this was pointing at old cpp shit
852
853         * plugins/placement/history.c:
854         use strcmp instead of collate, since collate is slower and we're only doing an == check
855
856         * plugins/keyboard/keyparse.c, plugins/keyboard/keyparse.h:
857         these are old and not used anymore
858
859         * render/gradient.c:
860         missed setting 'current' at the end of the pyramid gradient
861
862         * kernel/stacking.c:
863         waste of energy in stacking_add, and it even caused bugs. woops.
864
865 2003-06-29  xor@zed  <xor@zed>
866
867         * kernel/stacking.c:
868         waste of energy in stacking_add, and it even caused bugs. woops.
869
870 2003-06-29  woodblock  <woodblock@zed>
871
872         * plugins/menu/client_menu.c:
873         Update the send-to window only if the workspaces have changed.
874
875         * kernel/menu.c, kernel/menu_render.c:
876         Handle menu events a little better: don't bother updating a submenu on
877         mouseover if it is already open, and call update on menus, even if
878         they aren't marked as invalid.
879
880 2003-06-28  xor@zed  <xor@zed>
881
882         * kernel/openbox.c:
883         use fprintf not g_message in the signal handler. no mallocing allowed.
884
885         * render/font.c: remove debug print
886
887         * kernel/prop.c: set the values of the array at teh right indexes
888
889         * kernel/prop.c: fix memory bugs
890
891         * data/rc3: remove the switch to... menu
892
893         * render/font.c:
894         don't destroy font patterns, i think this is a double free
895
896         * kernel/stacking.c:
897         put group members above the window when lowering it
898
899         * kernel/stacking.c: set the stacking list when stacking changes
900
901         * themes/ebox_data/.cvsignore, themes/fieron2_data/.cvsignore, themes/fieron_data/.cvsignore:
902         ignore the generated makefiles
903
904         * themes/ebox_data/Makefile.am, themes/fieron2_data/Makefile.am, themes/fieron_data/Makefile.am:
905         add the makefiles for the themes' data dirs
906
907         * render/theme.h:
908         add the themes path to the struct. make the name never include a path
909
910         * configure.ac, themes/Makefile.am, themes/ebox_data/close.xbm, themes/ebox_data/iconify.xbm, themes/ebox_data/max.xbm, themes/fieron2_data/close.xbm, themes/fieron2_data/iconify.xbm, themes/fieron2_data/max.xbm, themes/fieron2_data/stick.xbm, themes/fieron_data/close.xbm, themes/fieron_data/iconify.xbm, themes/fieron_data/max.xbm, themes/fieron_data/stick.xbm:
911         adjust the themes with buttons to match how they are read now
912
913         * AUTHORS: simplify this shit
914
915         * render/theme.c: hardcode the button names for themes
916
917         * kernel/popup.c: dont need to raise after adding
918
919         * render/theme.c: rename the button_dir var to data_dir.. pointless :>
920
921         * plugins/resistance/resistance.c:
922         snap to all heads the window is present on
923
924 2003-06-27  xor@zed  <xor@zed>
925
926         * kernel/Makefile.am: build 'openbox' instead of 'openbox3'.
927         add the openbox.desktop file for gnome compat.
928
929         * kernel/screen.c: set "Openbox" as the name no "Openbox3"
930
931         * kernel/openbox.desktop:
932         add a .desktop file which gets installed for gnome
933
934         * kernel/.cvsignore: add the openbox binary
935
936         * kernel/openbox.c: add a call to g_set_prgname
937
938         * kernel/stacking.c:
939         stacking changes, its more like the old code without being shitty and with support for raising groups at a time.
940
941         * kernel/stacking.c: core when the list gets out of order
942
943         * 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, plugins/resistance/resistance.c:
944         xinerama support
945
946         * data/rc3: root menu on right click
947
948         * kernel/event.c: 4 space indents
949
950 2003-06-26  xor@zed  <xor@zed>
951
952         * kernel/grab.c:
953         return true when ungrabbing so that it can ungrab them all on shutdown
954
955         * kernel/grab.c:
956         set ret to true when grabbing and we alerady have it grabbed
957
958         * render/font.c:
959         dont destroy the match pattern, it seems that Xft holds onto the pointer
960
961         * kernel/client.c:
962         check that extensions_vidmode is set before trying to use the vidmode functions
963
964         * plugins/keyboard/keyboard.c: if grab fails dont set grabbed_key
965
966         * kernel/grab.c, kernel/grab.h: return FALSE if a grab fails
967
968         * kernel/client.c:
969         set the desktop hint when the window already has a hint but its out of range
970
971         * kernel/event.c: clear the over item in the menu when executing shit
972
973         * kernel/stacking.h:
974         add NUM_STACKLAYER, fix some comments that dont apply
975
976         * kernel/menu.c: remove unused variable
977
978         * kernel/client.c:
979         remove/add instead of raising to put a window into a new layer
980
981         * kernel/stacking.c:
982         new stacking code that doesnt suck ass to look at, woot
983
984         * kernel/dock.c:
985         use the minsize to keep the stuff ni the dock off of the bevel edges etc
986
987         * render/theme.c: add comment
988
989         * render/font.c, render/font.h, render/render.c, render/render.h, render/theme.c, render/theme.h:
990         read fonts and titlebar layout from theme files
991
992 2003-06-25  xor@zed  <xor@zed>
993
994         * data/rc3: add right click on icon to open the client menu
995
996         * render/font.c: set teh X so it gets used right
997
998         * render/font.c:
999         keep a small space on the sides of windows between the edge and the text
1000
1001         * kernel/event.c: only render if there was an over existing
1002
1003         * kernel/event.c, kernel/menu.c, kernel/menu.h, kernel/menu_render.c:
1004         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
1005
1006         * data/rc3: show the client meun on "press" on the icon
1007
1008         * plugins/menu/client_menu.c:
1009         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
1010
1011         * plugins/mouse/mouse.c:
1012         use the alst button press for clicks instead of teh fisrt. it make sno diff to me really and this makes it work when you grab the pointer on the click, without leaving the mouse plugin in a weird state.
1013
1014         * kernel/grab.c: grab all motion events for pointer grabs
1015
1016 2003-06-24  xor@zed  <xor@zed>
1017
1018         * kernel/menu.c: position submenus correctly horizontally
1019
1020         * kernel/menu_render.c: menus were too short by a border width
1021
1022         * kernel/client.c:
1023         check to make sure the window is on screen *after* positioning it
1024
1025         * render/gradient.c: do horz grads without any multipliaction
1026
1027         * render/gradient.c, render/render.h, render/test.c, render/theme.c:
1028         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.
1029
1030         * render/gradient.c, render/test.c:
1031         integer math for gradients. horz vert and diags and pipecross work so far.
1032
1033 2003-06-22  xor@zed  <xor@zed>
1034
1035         * kernel/menu.c, kernel/menu_render.c: add a simple menu parser.
1036         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.
1037
1038         * kernel/openbox.c: reorder startup so menu goes before config parsing
1039
1040         * data/rc3: add a root menu
1041
1042 2003-06-21  xor@zed  <xor@zed>
1043
1044         * kernel/client.c, kernel/frame.c, kernel/frame.h:
1045         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.
1046
1047         * kernel/client.c:
1048         make client_reconfigure a non-user-type client_configure
1049
1050         * kernel/action.c:
1051         strdup the exec path cuz it gets freed by the time we restart otherwise
1052
1053         * kernel/event.c: moveresize messages are not user-requests
1054
1055         * kernel/client.c: remove debug print
1056
1057         * kernel/client.c:
1058         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.
1059
1060         * render/render.c:
1061         always create the bg pixmap, X seems to not like it if i dont?
1062
1063         * kernel/openbox.c:
1064         always use the session id from the session manager when setting the restart property
1065
1066         * kernel/openbox.c: add -sm-disable option
1067
1068         * kernel/openbox.c:
1069         only show -sm-client-id in the help when session management is build in
1070
1071         * kernel/openbox.c:
1072         session management works, and it can resume with its old ID, so it works with gnome-session
1073
1074         * configure.ac, kernel/Makefile.am, kernel/event.c, kernel/openbox.c, m4/x11.m4:
1075         make session management optional
1076
1077         * kernel/openbox.c:
1078         set the required properties so that session managers see openbox
1079
1080         * render/font.c, render/theme.c:
1081         don't exit in the render lib, rather return a NULL font/theme on failure
1082
1083         * kernel/event.c, kernel/openbox.c:
1084         add libSM *client* support, so we should work with gnome-session now!
1085
1086         * render/instance.c, render/render.c: more namespacing with Rr*
1087
1088         * render/color.c: use the pseudo shit in the instance now
1089
1090         * render/gradient.c, render/gradient.h, render/render.c, render/color.c, render/color.h:
1091         more namespacing with Rr*
1092
1093         * plugins/keyboard/translate.c, plugins/mouse/translate.c:
1094         dont use .. in include paths
1095
1096         * render/image.c, render/image.h, render/render.c, kernel/client.c, kernel/screen.c, render/color.c, render/color.h, render/font.c, render/gradient.c, render/render.h, render/theme.h:
1097         more namespacing with Rr*
1098
1099         * kernel/menu.h, kernel/menu.c: kill a warning
1100
1101         * kernel/openbox.c, render/font.c, render/font.h, render/render.c, render/render.h, render/theme.c, render/theme.h:
1102         more namespacing to Rr*
1103
1104         * kernel/menu.c: fix a warning
1105
1106         * 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:
1107         rename pixel32/16 to RrPixel32/16
1108
1109         * render/color.c, render/color.h, render/render.h, render/theme.c, render/theme.h:
1110         rename color_rgb to RrColor
1111
1112         * 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:
1113         put the render theme into a struct
1114
1115         * 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:
1116         fixed to accomodate the changes to the render/ API.
1117
1118 2003-06-20  xor@zed  <xor@zed>
1119
1120         * 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:
1121         this is going to break the kernel/ building.
1122
1123         lots of modifications to the render API, prefixing everything, making proper
1124         names for everything. the structures are not hidden/opaque yet, but the naming scheme of the public API works much better now.
1125
1126         * render/font.c: oops typo
1127
1128         * render/font.c:
1129         take the bevel width into account for the width available
1130
1131         * plugins/menu/client_menu.c: position the client menu right
1132
1133         * 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:
1134         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.
1135
1136         * AUTHORS: miklos does themes like mad
1137
1138         * render/gradient.c:
1139         slight optimizations, and make the last 4 gradients work properly
1140
1141         * render/font.c:
1142         center text vertically. use the font's height because all that space is needed for some charcters
1143
1144         * 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:
1145         remove non-planar surfaces
1146
1147 2003-06-19  xor@zed  <xor@zed>
1148
1149         * configure.ac, m4/gl.m4: remove --enable-gl
1150
1151         * kernel/client.c:
1152         fix for how base-size is used to comply with the icccm
1153
1154 2003-06-18  xor@zed  <xor@zed>
1155
1156         * kernel/framerender.c: copy the frame's surface from the prototype
1157
1158 2003-06-17  xor@zed  <xor@zed>
1159
1160         * bootstrap: export the WANT_AUTOMAKE var before running acloacl
1161
1162 2003-06-17  manmower  <manmower@zed>
1163
1164         * kernel/client.c: wake up old icon grabbing code
1165
1166         * render/color.c: remove unneeded/uncompiled junk
1167
1168 2003-06-09  manmower  <manmower@zed>
1169
1170         * kernel/client.c: try swapping bytes on textures
1171
1172         * kernel/client.c: | != &
1173
1174         * kernel/client.c: fix? color on icons
1175
1176         * kernel/client.c: remove bogus byte permutations in icon code
1177
1178 2003-06-08  xor@zed  <xor@zed>
1179
1180         * kernel/focus.c:
1181         remove an extra useless call to focus_set_client(NULL)
1182
1183         * kernel/client.c: describe the complicated if a bit :)
1184
1185         * kernel/client.c: more checks for when to do an XResizeWindow
1186
1187         * kernel/client.c:
1188         send the configure notify for resizes too, just to be a little more safe
1189
1190         * kernel/client.c:
1191         onlt send configurenotify if the client actually moved, to work around emacs, hopefully :)
1192
1193         * kernel/client.c:
1194         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.
1195
1196         * kernel/client.c: from icccm:
1197         If a base size is not provided, the minimum size is to be used in its place and vice versa.
1198
1199         Added support for this.
1200
1201         * kernel/frame.c: missing another bwidth
1202
1203         * kernel/frame.c: position titlebars better, was missing a bwidth
1204
1205         * kernel/client.c: i was backwards
1206
1207         * kernel/event.c: this cnofigure is FINAL!
1208
1209         * kernel/client.c:
1210         don't resize the client itself while doing a resize if its not final when config_opaque_resize is not on
1211
1212 2003-06-04  xor@zed  <xor@zed>
1213
1214         * kernel/client.c:
1215         better VIDMODE support, handle the cases where the functions fail
1216
1217         * kernel/client.c:
1218         size fullscreen applications to the resolution with the VIDMODE extension
1219
1220         * kernel/client.c, kernel/client.h, kernel/screen.c:
1221         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.
1222
1223         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.
1224         call client_reconfigure when uniconifying a window, so that fullscreen windows are put at the point of the view port.
1225
1226         * data/rc3, plugins/mouse/mouse.c, plugins/mouse/mouse.h, plugins/mouse/translate.c:
1227         remove that fancy new leftHanded option, it should be done via xmodmap instead
1228
1229         * data/rc3, plugins/mouse/mouse.c, plugins/mouse/mouse.h, plugins/mouse/translate.c:
1230         add a leftHanded option for mouse bindings, reverses the left/right keywords
1231
1232         * kernel/grab.c, kernel/grab.h:
1233         make key grabbing per window instead of always root
1234
1235         * plugins/keyboard/keyboard.c:
1236         grab bindings on each client's frame (and the focus_backup) instead of on the root window
1237
1238         * kernel/focus.c: allow cycling to iconic windows
1239
1240         * kernel/client.c:
1241         use client_can_focus from client_focus to always get the same result
1242
1243         * kernel/client.c, kernel/client.h, kernel/focus.c:
1244         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
1245
1246         * kernel/focus.c:
1247         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
1248
1249         * kernel/focus.c:
1250         dont try change focus while looping thru the focus list
1251
1252         * kernel/client.c, kernel/client.h, kernel/focus.c:
1253         allow focus_fallback to query if a client can be focused without changing the focus order on it
1254
1255         * plugins/keyboard/keyboard.c:
1256         grab the keybaord before cycling focus for reduced latency
1257
1258 2003-06-03  xor@zed  <xor@zed>
1259
1260         * kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/popup.c:
1261         modifications to keep up with libobrender2
1262
1263         * kernel/popup.c: use theme stuff for the gfx/font
1264
1265         * kernel/frame.c: layout fixes
1266
1267         * kernel/frame.c: position the grips
1268
1269         * kernel/framerender.c: fix some theme colors/display
1270
1271         * 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:
1272         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.
1273
1274         * kernel/stacking.c: remove debug print
1275
1276         * render/color.c:
1277         more unique error for unhandles image bit depths, remove debug prints
1278
1279         * render/color.c: handle increase_depth on 1bpp images
1280
1281         * kernel/client.c:
1282         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.
1283
1284         * kernel/client.c: rm g_messages.. ones that segfault.. :>
1285
1286 2003-06-02  xor@zed  <xor@zed>
1287
1288         * kernel/client.c: also dont increment the nicons if the w*h is 0
1289
1290         * kernel/client.c: watch out for 0x0 icons, and skip them
1291
1292         * kernel/menu_render.c, kernel/popup.c:
1293         create some temporary fonts to use for rendering text
1294
1295         * kernel/frame.c, kernel/menu_render.c, kernel/popup.c:
1296         set colors for text
1297
1298         * kernel/frame.c, kernel/popup.c:
1299         adjust for some api extensions in render2
1300
1301         * bootstrap: add env var to get automake 1.7
1302
1303 2003-06-01  xor@zed  <xor@zed>
1304
1305         * 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:
1306         Merging in th gl2 branch. Adding a --enable-gl option to the configure script, which defaults off.
1307
1308 2003-05-30  manmower  <manmower@zed>
1309
1310         * kernel/frame.c: adjust title bar text
1311
1312 2003-05-30  xor@zed  <xor@zed>
1313
1314         * kernel/client.c:
1315         adjust what gets raised on map a bit, a little less selective.
1316
1317 2003-05-30  manmower  <manmower@zed>
1318
1319         * kernel/frame.c: add some test cases for the font crap
1320
1321 2003-05-29  xor@zed  <xor@zed>
1322
1323         * m4/openbox.m4: better alpha/beta check :)
1324
1325         * m4/openbox.m4: look for 'alpha' and 'beta' releases also
1326
1327         * kernel/stacking.c:
1328         only add non-nonintrusively when both windows share a stacking layer
1329
1330         * data/rc3: raise on client clicks
1331
1332 2003-05-28  xor@zed  <xor@zed>
1333
1334         * COPYING: remove the generic COPYING
1335
1336         * COPYING.FDL, COPYING.GPL, COPYING.LGPL: New file.
1337
1338         * COPYING.FDL, COPYING.GPL, COPYING.LGPL, README:
1339         specify different licenses for different directories
1340
1341         * kernel/action.c, kernel/action.h:
1342         rm the 'focusraise' action, it is redundant.
1343
1344         * kernel/frame.c: use the new shape API from the render libs
1345
1346         * kernel/event.c:
1347         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
1348
1349         * kernel/frame.c:
1350         no button mask on the plate, and some cleanups with redundant if's
1351
1352 2003-05-28  manmower  <manmower@zed>
1353
1354         * kernel/frame.c: slightly improved theme
1355
1356 2003-05-28  xor@zed  <xor@zed>
1357
1358         * kernel/popup.c: proper centering of the text in popups without icons
1359
1360 2003-05-27  manmower  <manmower@zed>
1361
1362         * kernel/frame.c, kernel/frame.h: fixed the flicker in shape
1363         (we use a shapewindow now.  it rules, I rule, fuck X, blah blah MOOOOOOO)
1364
1365 2003-05-27  xor@zed  <xor@zed>
1366
1367         * kernel/frame.c: and typod
1368
1369         * kernel/frame.c, kernel/frame.h:
1370         some cleanups, got rid of the border shit
1371
1372         * kernel/event.c: toss out expose events to render
1373
1374         * kernel/popup.c: no more seg
1375
1376         * kernel/frame.c, kernel/frame.h: some cleanups
1377
1378 2003-05-27  manmower  <manmower@zed>
1379
1380         * kernel/frame.c: free decor when removing frame
1381
1382         * kernel/frame.c: HOW DO YOU LIKE MY SEXY NEW DECOR?!?
1383
1384         * kernel/frame.c: I get my events on decor again
1385         and probably ruined exposure for some weird case. bwa ha ha
1386
1387         * kernel/frame.c, kernel/frame.h: how about some UGLY decor!
1388
1389 2003-05-27  xor@zed  <xor@zed>
1390
1391         * kernel/popup.c: paints are now recursive
1392
1393 2003-05-27  manmower  <manmower@zed>
1394
1395         * kernel/frame.h: surface pointer please
1396
1397 2003-05-27  xor@zed  <xor@zed>
1398
1399         * kernel/popup.c: proper layout
1400
1401         * kernel/popup.c: i suck so much
1402
1403         * kernel/event.c, kernel/menu.c, kernel/popup.c: DRAWS!!
1404
1405 2003-05-27  manmower  <manmower@zed>
1406
1407         * kernel/frame.c, kernel/frame.h: added shape support for decor
1408
1409 2003-05-27  xor@zed  <xor@zed>
1410
1411         * kernel/popup.c: dont try use an icon when where isnt one
1412
1413         * 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:
1414         port to the new render stuff.. but this isnt complte since we don't have themes yet.
1415
1416         * 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:
1417         removing the old render stuffs
1418
1419 2003-05-27  manmower  <manmower@zed>
1420
1421         * kernel/frame.c, kernel/frame.h: added % based decoration sizes
1422
1423         * kernel/frame.c, kernel/frame.h: fixed right decor anchors properly
1424
1425         * kernel/frame.c: fix right anchor point offsets
1426
1427         * kernel/frame.c: position windows for all anchor types
1428
1429         * kernel/frame.c: all decor anchors supported
1430
1431         * kernel/event.c, kernel/frame.c:
1432         change event.c to use a frame pointer instead of client pointer in framedecor
1433         frame.c now supports more decor anchors
1434
1435         yay for 1 to many commit logs
1436
1437 2003-05-26  xor@zed  <xor@zed>
1438
1439         * kernel/Makefile.am: link render version 2
1440
1441 2003-05-26  manmower  <manmower@zed>
1442
1443         * kernel/frame.c, kernel/frame.h:
1444         frame pointer in framedecor instead of client pointer
1445
1446 2003-05-26  xor@zed  <xor@zed>
1447
1448         * kernel/event.c, kernel/window.c: add case for Window_Decoration
1449
1450 2003-05-26  manmower  <manmower@zed>
1451
1452         * kernel/frame.c, kernel/frame.h: client pointer in framedecor
1453
1454         * kernel/frame.c: crap
1455
1456         * kernel/frame.c, kernel/frame.h:
1457         I can now map arbitrarily sized invalid space above my windows!
1458         I suck.
1459
1460         * kernel/frame.c:
1461         we now have no decor at all, but are otherwise functional
1462
1463 2003-05-26  xor@zed  <xor@zed>
1464
1465         * kernel/client.c:
1466         use frame->visible, not the desktop number, other states exist too, like show_desktop
1467
1468         * 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:
1469         merge in the changes made in the gl branch
1470
1471         * Makefile.am, configure.ac:
1472         create the glft library. it will be using freetype and fontconfig to render fonts in GL.
1473         flesh out render2 a bit more.. actually just in comments
1474
1475         * Makefile.am, configure.ac:
1476         add a new render2 lib, which has a proper API and uses only OpenGL to render.
1477
1478         * render/render.c: remove GL from the old render lib for now
1479
1480         * configure.ac, m4/gl.m4:
1481         gl support in configure, fontconfig instead of xft
1482
1483 2003-05-26  manmower  <manmower@zed>
1484
1485         * kernel/frame.c: add back some frame adjust stuff
1486
1487         * kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/window.h, plugins/menu/client_menu.c:
1488         complete destruction of all current frame functionality.
1489         you're welcome.
1490
1491 2003-05-25  manmower  <manmower@zed>
1492
1493         * 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:
1494         everything compiles.  everything is broken.
1495
1496         rendertest works, yay.
1497
1498         * render/render.c: now it even links.
1499
1500         * render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/render.c, render/render.h:
1501         once again it compiles.
1502
1503         no, it does not work
1504
1505         much has been removed.
1506
1507 2003-05-25  xor@zed  <xor@zed>
1508
1509         * configure.ac, m4/gl.m4:
1510         right branch. no more xft. fontconfig. gl. woot.
1511
1512         * configure.ac, m4/gl.m4: omg wrong branch!
1513
1514         * configure.ac, m4/gl.m4: always gl. fontconfig instead of xft.
1515
1516 2003-05-25  manmower  <manmower@zed>
1517
1518         * render/gradient.c: gl.h shouldn't be required when not enabling gl
1519
1520 2003-05-25  xor@zed  <xor@zed>
1521
1522         * README.CVS: add the glade/gtk deps for debian
1523
1524 2003-05-25  manmower  <manmower@zed>
1525
1526         * render/gradient.c, render/test.c: all grads done
1527
1528         * render/gradient.c, render/test.c: pipecross
1529
1530         * render/gradient.c, render/test.c: rectangle and diagonal grads yay
1531
1532         gl > *
1533
1534 2003-05-25  xor@zed  <xor@zed>
1535
1536         * data/rc3: Shade not Shaded
1537
1538         * README.CVS: add debian package list
1539
1540         * README.CVS: automake 1.7
1541
1542         * README.CVS: mention glib, xml, gtk and glade
1543
1544         * configure.ac:
1545         make autoconf 2.54 required. makes automake1.6 get used on some systems
1546
1547 2003-05-25  manmower  <manmower@zed>
1548
1549         * render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
1550         gl is starting.  it's gonna get really ugly really fast, folks
1551
1552 2003-05-24  xor@zed  <xor@zed>
1553
1554         * 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/keyboard/keyboard.c, plugins/menu/Makefile.am, plugins/mouse/mouse.c, plugins/obconf_interface.h, plugins/placement/history.c, plugins/placement/placement.c, plugins/resistance.c, plugins/resistance/.cvsignore, plugins/resistance/Makefile.am, plugins/resistance/resistance.c, plugins/resistance/resistance.glade, plugins/resistance/resistance.gladep, plugins/resistance/resistance.h, plugins/resistance/resistance_config.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:
1555         this is a big one! im putting stats in here just cuz!
1556          59 files changed, 1691 insertions(+), 607 deletions(-)
1557         Adding the beginings of ObConf. Adding a resistance-config plugin for ObConf.
1558         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)
1559
1560         * kernel/action.c: convert shit from utf8 to filename before execing it
1561
1562         * 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/keyboard/Makefile.am, plugins/keyboard/keyboard.c, plugins/mouse/Makefile.am, plugins/mouse/mouse.c, plugins/placement/Makefile.am, plugins/placement/history.c, plugins/placement/history.h, plugins/placement/placement.c, plugins/resistance.c:
1563         ECKS EM ELL
1564
1565         * plugins/menu/client_menu.c:
1566         let the client menu open below the top of the window, just limit it at the titlebar
1567
1568         * kernel/action.c, kernel/action.h: add actions for showing the desktop
1569
1570         * kernel/action.c, kernel/action.h: soem changes to desktop actions.
1571         instead of having *wrap actions, just default to having wrap on, and let it be optionally placed into the rc to disable it.
1572         instead of next/prev desktop, just have actions for desktop to the right/left/up/down. this applies to sendtodesktop actions too.
1573
1574         * kernel/focus.c: add a DEBUG_FOCUS print
1575
1576         * kernel/event.c:
1577         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.
1578
1579         * kernel/client.c: use the user friendly desktop number
1580
1581         * kernel/focus.c: clarify comment
1582
1583 2003-05-23  xor@zed  <xor@zed>
1584
1585         * kernel/event.c:
1586         dont refocus the focused window, that just causes so many problems (with alt-tab :)
1587
1588         * kernel/prop.c: validate utf8 strings before using them
1589
1590 2003-05-23  woodblock  <woodblock@zed>
1591
1592         * plugins/menu/fifo_menu.c: Fixed missing includes
1593
1594 2003-05-23  xor@zed  <xor@zed>
1595
1596         * configure.ac, kernel/Makefile.am, m4/gl.m4, plugins/Makefile.am, plugins/keyboard/Makefile.am, plugins/mouse/Makefile.am, plugins/placement/Makefile.am, render/Makefile.am:
1597         add --enable-gl support, and put the flags/libs in the appropriate makefiles
1598
1599         * kernel/focus.c: remove a todo item that seems to be.. done!
1600
1601         * kernel/focus.c:
1602         missed a case of using the stacking list and assuming that its all clients still. fixed that assumption now.
1603
1604         * kernel/event.c:
1605         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.
1606
1607         * plugins/keyboard/keyboard.c:
1608         had some code inside the action for loop that didnt belong in there
1609
1610 2003-05-23  woodblock  <woodblock@zed>
1611
1612         * plugins/menu/client_menu.c: Add toggle decor action to client menu
1613
1614 2003-05-22  manmower  <manmower@zed>
1615
1616         * render/test.c: fix cut'n'paste bug
1617
1618 2003-05-22  xor@zed  <xor@zed>
1619
1620         * kernel/event.c: only button 1 can use menu items
1621
1622         * plugins/menu/client_menu.c: watch out for border widths
1623
1624 2003-05-22  manmower  <manmower@zed>
1625
1626         * render/render.c: removed a piece of code I suspect has never been run
1627         this is for XServers that report less than 8 bpp default visual and support
1628         8bpp or higher visuals
1629
1630         hopefully nothing is really that stupid.  we'll see.
1631
1632         * render/render.h, render/render.c:
1633         keep XVisualInfo around in preparation for opengl stuff
1634
1635 2003-05-22  xor@zed  <xor@zed>
1636
1637         * plugins/keyboard/keyboard.c: only grab C-g while in a chain
1638
1639         * plugins/menu/.cvsignore: add the client_menu stuff
1640
1641         * plugins/keyboard/keyboard.c:
1642         async key grabs to avoid race conditions with the sync stuff. there are still possible rases (yay X) but they will be much harder to hit, i expect noone will ever hit them more than once/often enuogh to realise.
1643
1644         * configure.ac:
1645         remove shit for my own makefiles that i dont need no more
1646
1647         * kernel/event.c: a missing break!
1648
1649 2003-05-22  woodblock  <woodblock@zed>
1650
1651         * kernel/menu.c, plugins/menu/client_menu.c: layers submenu on client
1652
1653 2003-05-22  xor@zed  <xor@zed>
1654
1655         * kernel/action.c, kernel/action.h, kernel/client.c, kernel/client.h:
1656         add actions for changing client layers to abov/below/normal
1657
1658         * kernel/client.c: typo
1659
1660         * kernel/plugin.c: load the client_menu by default for nowc
1661
1662 2003-05-21  woodblock  <woodblock@zed>
1663
1664         * data/rc3, kernel/client.c, kernel/event.c, kernel/menu.c, kernel/menu.h, plugins/menu/Makefile.am, plugins/menu/client_menu.c:
1665         Client menus
1666         Add "client_menu" to pluginrc to use.
1667
1668 2003-05-21  xor@zed  <xor@zed>
1669
1670         * render/font.c: optimize it a bit
1671
1672         * render/font.c:
1673         pass the number of bytes, not characters to the xft draw functions
1674
1675         * kernel/action.c, kernel/action.h: add 'movetoedge' actions
1676
1677         * kernel/screen.c: add xerror.h
1678
1679         * kernel/screen.c:
1680         Openbox3 in the WM name, FUCK OFF XINE, YA YOU HEARD ME.
1681
1682         * render/gradient.c: allocate the border_color's gc
1683
1684 2003-05-20  xor@zed  <xor@zed>
1685
1686         * render/color.c, render/render.c:
1687         put the devation back how it used to be, it aws definately no better..
1688
1689 2003-05-20  manmower  <manmower@zed>
1690
1691         * render/gradient.c:
1692         of by one error in pyramid, rectangle, and crosspipe
1693
1694 2003-05-20  xor@zed  <xor@zed>
1695
1696         * render/gradient.c: remove debug prints
1697
1698         * render/gradient.c: reindent the file....
1699         but while i'm at it:
1700           - add support for bevels/borders on solid textures.
1701           - reverse the colors in the rectangle gradient, the pipecross and pyramid
1702             ones may need to be reversed as well.
1703
1704         * render/render.c, render/render.h: remove the elliptic gradient type.
1705         add bevel light/dark colors for solid textures with bevels
1706
1707         * render/theme.c:
1708         use the rectangle gradient when the theme asks for elipse
1709
1710         * m4/openbox.m4: argh put it back right!*(
1711
1712         * m4/openbox.m4: fuck it, put it back
1713
1714         * m4/openbox.m4: smarter default debug value :)
1715
1716         * m4/openbox.m4: default debug off (for non-cvs builds!)
1717
1718         * kernel/screen.c:
1719         ignore errors when playing with application defined colormaps
1720
1721 2003-05-19  xor@zed  <xor@zed>
1722
1723         * kernel/dock.c: get the size for all the apps before positioning them
1724
1725         * kernel/dock.c:
1726         set teh dock sizes before the app uses it for positioning
1727
1728         * kernel/dock.c: center dock apps
1729
1730         * plugins/menu/.cvsignore: add fifo_menu shit
1731
1732         * kernel/action.c: use the resize increment when resizing relative
1733
1734         * kernel/action.c, kernel/action.h, kernel/client.c, kernel/client.h:
1735         2 in 1 again..
1736         a) directional focus actions
1737         b) action system changes i.e. use structs/arrays for convertings strings to actions instead of gross if-else chains
1738
1739 2003-05-18  woodblock  <woodblock@zed>
1740
1741         * kernel/menu.c, plugins/menu/Makefile.am, plugins/menu/fifo_menu.c, plugins/menu/fifo_menu.h:
1742         Added a fifo_menu plugin
1743
1744 2003-05-18  manmower  <manmower@zed>
1745
1746         * render/gradient.c, render/test.c: PipeCross
1747
1748         * render/gradient.c: there's the rect grad.  now stop bugging me :(
1749
1750         * render/gradient.c: is that a rectangle grad?  damned if I know
1751
1752 2003-05-18  xor@zed  <xor@zed>
1753
1754         * kernel/client.c, kernel/client.h, render/color.c, render/color.h, render/image.c, render/render.c, render/render.h:
1755         make icons use pixel32 data, and image_draw takes pixel32 data.
1756         client.c gets pixmap icons as a backup to netwm ones, and they are converted into pixel32 data.
1757
1758         * kernel/focus.c: include grab.h
1759
1760 2003-05-18  manmower  <manmower@zed>
1761
1762         * render/test.c: whatever, it's a junk file.
1763
1764         * render/gradient.c: change badly named offsets
1765         add stubs for rectangle and pipecross
1766
1767         * render/image.c: rename poorly named offsets
1768
1769         * render/gradient.h: add stubs for pipecross and rectangle
1770
1771         * render/color.h: fix poor naming of default offset
1772
1773         * render/color.c: fix poor naming of the default offset
1774
1775 2003-05-18  woodblock  <woodblock@zed>
1776
1777         * kernel/client.c:
1778         this is actually xor :) - fixing the focus search function to not return NULL if no valid group members exist to be a transient for
1779
1780 2003-05-18  xor@zed  <xor@zed>
1781
1782         * kernel/stacking.c:
1783         proper check to see if something was raised, the it==NULL would cause it to always return, incorrectly.
1784
1785         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/stacking.c, render/render.c, render/render.h:
1786         2 in 1 deal :\
1787
1788         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).
1789
1790         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.
1791
1792 2003-05-18  woodblock  <woodblock@zed>
1793
1794         * HACKING: Indentation stuff
1795
1796 2003-05-18  xor@zed  <xor@zed>
1797
1798         * configure.ac: actually optional now.
1799
1800         * configure.ac: make LIBSN optional
1801
1802         * kernel/focus.c:
1803         grab the mouse during focus cycling. this removes the bug of focusing following the mouse when the popup disappears and fuck up your cycling.
1804
1805         * render/Makefile.am: need the libsn flags
1806
1807         * plugins/Makefile.am, plugins/keyboard/Makefile.am, plugins/menu/Makefile.am, plugins/mouse/Makefile.am, plugins/placement/Makefile.am:
1808         needs the libsn flags to use openbox.h now
1809
1810 2003-05-18  woodblock  <woodblock@zed>
1811
1812         * plugins/menu/timed_menu.c: Clean up on destroy.
1813
1814 2003-05-18  xor@zed  <xor@zed>
1815
1816         * configure.ac, kernel/Makefile.am, kernel/event.c, kernel/openbox.c, kernel/openbox.h, kernel/screen.c:
1817         add (optional) support for showing a busy cursor via startup notification
1818
1819 2003-05-18  woodblock  <woodblock@zed>
1820
1821         * plugins/menu/timed_menu.c: Added stat() based timed menu update.
1822         Needs parser before it is useful.
1823
1824 2003-05-17  xor@zed  <xor@zed>
1825
1826         * kernel/event.c, plugins/mouse/mouse.c:
1827         disallow drag events on title buttons.
1828         dont redraw title button when the wheel buttons are used on them.
1829
1830 2003-05-16  xor@zed  <xor@zed>
1831
1832         * kernel/client.c: print the class not the name
1833
1834         * kernel/prop.c: get all the strings!
1835
1836         * kernel/client.c, kernel/dock.c, kernel/dock.h:
1837         save the dock's class/name for future evil purposes!
1838         also print names of windows being managed/unmanaged
1839
1840         * data/rc3: discourage floating a bit, capitalize better.
1841
1842         * kernel/dock.c: FUCK dock is not an array anymore!
1843
1844         * kernel/dock.c, kernel/dock.h, kernel/screen.c:
1845         give the dock a strut and use it
1846
1847 2003-05-16  woodblock  <woodblock@zed>
1848
1849         * plugins/menu/timed_menu.c: Fixed child wait.
1850
1851 2003-05-16  xor@zed  <xor@zed>
1852
1853         * kernel/event.c: remove debug prints
1854
1855         * kernel/dock.c, kernel/dock.h, kernel/event.c:
1856         dockapps are ObWindows now.
1857         set the type when creating new dockapps.
1858
1859         * plugins/menu/timed_menu.c: add stdio.h
1860
1861         * 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:
1862         rename "Slit" to "Dock".
1863         add config options to the rc3 for the dock.
1864         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).
1865
1866         * kernel/client.c, kernel/menu.c, kernel/moveresize.c, kernel/popup.c, kernel/slit.c, kernel/stacking.c, kernel/stacking.h:
1867         add anotehr stacking_add function.
1868         make stacking_add take care of raising also.
1869         make new windows that dont get focus also not raise above the focused window.
1870
1871         * kernel/event.c: movnig shit around
1872
1873 2003-05-14  xor@zed  <xor@zed>
1874
1875         * kernel/menu.c: watch out for not loading the timed_menu plugin
1876
1877         * kernel/client.c: pass teh correct values for config notify events
1878
1879 2003-05-14  woodblock  <woodblock@zed>
1880
1881         * kernel/event.c, kernel/event.h, kernel/menu.c, plugins/menu/timed_menu.c:
1882         Added a menu to read from a pipe.
1883         File descriptors added to the event loop.
1884
1885 2003-05-12  woodblock  <woodblock@zed>
1886
1887         * kernel/event.c, kernel/event.h, kernel/menu.c, plugins/menu/timed_menu.c:
1888         woodblock's failed attempt at making pipes work
1889
1890 2003-05-11  xor@zed  <xor@zed>
1891
1892         * plugins/resistance.c: watch out for stacking_list
1893
1894         * data/rc3, kernel/config.c, kernel/config.h, kernel/moveresize.c:
1895         add opaque move/resize to the rc3
1896
1897         * kernel/stacking.c:
1898         was using the frame window in the stacking list hint
1899
1900         * kernel/event.c, kernel/menu.c, kernel/moveresize.c, kernel/popup.c, kernel/stacking.c, kernel/window.c, kernel/window.h:
1901         add internal popups n shit to the stacking list.
1902         some cleanups for the stacking order hint.
1903         add non-opaque move/resize. cant toggle it yet.
1904
1905         * kernel/menu.c: rm comment for shit i fixed
1906
1907         * TODO: updated... it sucks tho anyways
1908
1909         * kernel/screen.c:
1910         not everything in the stacking_list is a client anymore
1911
1912         * kernel/event.c, kernel/menu.c:
1913         Menus put themselves into the stacking list.
1914         Clicking on the menu (but not on an entry) will raise it.
1915
1916         * 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:
1917         Clients Menus and Slits are all 'ObWindow's now.
1918         Stacking is done with ObWindows.
1919         Slits add themselves to the stacking order, as do clients of course.
1920         Added some macros for adding/removing to the stacking order.
1921
1922         * kernel/slit.c:
1923         garb press events so they dont break bindings... X sucks
1924
1925         * kernel/slit.c:
1926         grab button events on the slit so they dont go through to root
1927
1928         * kernel/client.c, kernel/slit.c, kernel/slit.h:
1929         use the size of the icon window for slit apps, not the client window
1930
1931         * plugins/keyboard/tree.c, plugins/menu/timed_menu.h: cleanups
1932
1933         * kernel/event.c, kernel/grab.c, kernel/grab.h, kernel/slit.c, kernel/slit.h, plugins/mouse/mouse.c:
1934         can drag slit-apps around in the slit
1935
1936 2003-05-10  xor@zed  <xor@zed>
1937
1938         * kernel/event.c, kernel/slit.c, kernel/slit.h, kernel/timer.h:
1939         add autohiding to the slit
1940
1941         * kernel/event.c, kernel/slit.c, kernel/slit.h:
1942         some slit fixes, support resizing slitapps
1943
1944         * Makefile.am, configure.ac: rm the tools dir
1945
1946         * tools/Makefile.am: rm this garbage...
1947
1948         * kernel/Makefile.am, kernel/client.c, kernel/event.c, kernel/frame.c, kernel/openbox.c, kernel/screen.c, kernel/slit.c, kernel/slit.h:
1949         add a slit to the kernel
1950
1951         * plugins/menu/.cvsignore: ignore the build shit
1952
1953         * doc/.cvsignore: add the sgml dir
1954
1955         * kernel/menu.c: make the client menu not have a title
1956
1957         * kernel/event.c:
1958         be more careful about ignoring focusin/out event pairs
1959
1960 2003-05-10  woodblock  <woodblock@zed>
1961
1962         * plugins/Makefile.am: tyop
1963
1964         * kernel/menu.c, plugins/menu/timed_menu.c:
1965         Turn off timed_menu by default
1966
1967         * kernel/menu.c, kernel/menu.h, plugins/menu/timed_menu.c:
1968         Timed menu that reads output from a process while the window is hidden
1969
1970         * kernel/event.c, kernel/menu_render.c: whitespace
1971
1972 2003-05-09  woodblock  <woodblock@zed>
1973
1974         * plugins/menu/Makefile.am, plugins/menu/Makefile.in: fixor
1975
1976 2003-05-09  xor@zed  <xor@zed>
1977
1978         * configure.ac: nice merge
1979
1980 2003-05-09  woodblock  <woodblock@zed>
1981
1982         * 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:
1983         Menu uber patch
1984         Since we have no menu parser see menu_startup() to customize
1985
1986 2003-05-09  xor@zed  <xor@zed>
1987
1988         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/focus.c:
1989         add a client_activate function, use it for net_wm_active mesgs and for focus cycling.
1990
1991         * kernel/focus.c: unshade windows when you cycle focus to them
1992
1993         * kernel/openbox.c, kernel/popup.c, kernel/popup.h, tools/Makefile.am:
1994         add shit that i made in the last week!
1995
1996         * 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, plugins/keyboard/keyboard.c, plugins/keyboard/tree.c, plugins/keyboard/tree.h, plugins/mouse/mouse.c, plugins/mouse/mouse.h, render/font.c, render/image.c, render/render.c, render/render.h, render/theme.c, render/theme.h:
1997         all my changes while i was offline.
1998         better alt-tabbing. better transient handling. i dont even know. lots of fucking cool shit so WATCH the FUCK OUT.
1999
2000 2003-04-28  xor@zed  <xor@zed>
2001
2002         * kernel/screen.c:
2003         move windows before calcing struts. watch for windows on DESKTOP_ALL when removeing a desktop
2004
2005 2003-04-27  xor@zed  <xor@zed>
2006
2007         * kernel/client.c, kernel/stacking.c:
2008         a more correct for the missing frame problem. don't restack windows when changing the window's layer while it is being managed.
2009
2010         * kernel/stacking.c:
2011         watch for windows without frames, they can be in the transient order before they get fully managed
2012
2013         * doc/themerc.txt: no longer pertinent
2014
2015         * render/image.c, render/image.h, render/render.c:
2016         fix window icon rendering, was using incorrect size.
2017
2018         * render/color.h: its G_BYTE_ORDER not G_ENDIAN.
2019
2020 2003-04-26  xor@zed  <xor@zed>
2021
2022         * kernel/moveresize.c:
2023         show the move coords for where the window will actually be
2024
2025 2003-04-25  xor@zed  <xor@zed>
2026
2027         * kernel/client.c: only focus on startup if focus_new is true
2028
2029         * kernel/Makefile.am, kernel/client.c, kernel/openbox.c, kernel/screen.c, kernel/startup.c, kernel/startup.h:
2030         restore the desktop and focused window on restarts if possible
2031
2032         * kernel/action.c, kernel/client.c, kernel/client.h, kernel/focus.c, kernel/focus.h:
2033         add helper functions for manipulating the focus_order list.
2034         move the focus popup into focus.c, out of action.c
2035         allow cycling to iconic windows, which are kept at the bottom of the focus_order lists.
2036
2037         * kernel/event.c, kernel/focus.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c:
2038         let the frame hold a focus state so that it can lie.
2039         dont focus windows while cycling, just highlight them as if they are focused
2040
2041         * kernel/framerender.c: icons are not at +1 anymore
2042
2043 2003-04-24  xor@zed  <xor@zed>
2044
2045         * kernel/client.c:
2046         some more checks for transients looping on eachother when they are transients of a group
2047
2048 2003-04-22  xor@zed  <xor@zed>
2049
2050         * kernel/prop.c:
2051         client side shit ISNT 32 bits on 64 bit platforms, its 64 bits. fuck X so hard.
2052
2053 2003-04-22  woodblock  <woodblock@zed>
2054
2055         * CHANGELOG: NLS update
2056
2057 2003-04-22  xor@zed  <xor@zed>
2058
2059         * kernel/client.c:
2060         even better checks for when to focus new windows. focus dialogs when they are the only member of their group
2061
2062 2003-04-22  woodblock  <woodblock@zed>
2063
2064         * kernel/menu.c, kernel/menu.h, kernel/menu_render.c:
2065         More menu changes to facilitate plugins.
2066
2067         * kernel/Makefile.am, kernel/menu.c, kernel/menu.h, kernel/menu_render.c:
2068         Render menus only when they are invalid.
2069
2070 2003-04-21  xor@zed  <xor@zed>
2071
2072         * README.CVS: add automake
2073
2074         * data/rc3: focus on press onm the titlebar buttons
2075
2076         * kernel/client.c:
2077         yet more changes to choosing to focus windows when they mapp
2078
2079         * kernel/parse.h, kernel/parse.y:
2080         try avoid cicular includes with the bison shit
2081
2082 2003-04-20  woodblock  <woodblock@zed>
2083
2084         * CHANGELOG: tyop
2085
2086 2003-04-20  xor@zed  <xor@zed>
2087
2088         * kernel/frame.c, kernel/framerender.c:
2089         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
2090
2091         * kernel/client.c: new focus-new rules
2092
2093 2003-04-20  woodblock  <woodblock@zed>
2094
2095         * CHANGELOG: Update log
2096
2097 2003-04-19  xor@zed  <xor@zed>
2098
2099         * kernel/client.c: i lied.. fuck @ those gnome dialogs
2100
2101         * kernel/client.c: lighten up a bit on the focus new windows criteria
2102
2103         * kernel/event.c: rm invalid comment
2104
2105         * kernel/event.c: only look for FocusOut events on the same window
2106
2107         * kernel/prop.c:
2108         convert STRING properties from "ISO-8859-1" instead of from the current locale, since this is what they apparently are, according to gdk.
2109
2110         * kernel/prop.c: check the string not the pointer to it
2111
2112 2003-04-18  xor@zed  <xor@zed>
2113
2114         * kernel/event.c: the mouse grab screws that up
2115
2116         * kernel/event.c: dispatch presses and releases during a move/resize
2117
2118         * kernel/event.c: kill the debug prints for now
2119
2120         * kernel/event.c: nm cant do it.. damn
2121
2122         * kernel/event.c:
2123         ignore another type of crossing event, caused when leaving gtk popup menus
2124
2125         * kernel/focus.c: just formatting
2126
2127         * kernel/event.c:
2128         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.
2129
2130         * kernel/client.c:
2131         adjust choosing to focus new windows, make it more strict.
2132         eat all Enter events when unmapping a window so focus fallback can be more smarter..
2133
2134         * kernel/screen.c: dont need to sync
2135
2136         * kernel/focus.c: check for client_normal before focusing
2137
2138         * kernel/focus.c:
2139         when unfocusing a window (e.g. unmanaging) try fallback to transient relations, if that fails, try group relations, then fallback to other window.
2140
2141         * kernel/focus.c:
2142         try focus other transients of the parent window when a transient falls back before focusing the parent
2143
2144         * kernel/moveresize.c: unset it AFTER using it...
2145
2146         * kernel/moveresize.c: unset the client when done moveresizing
2147
2148         * kernel/openbox.c:
2149         don't wait(), the glib function does that for us woot.
2150
2151         * kernel/client.c:
2152         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.
2153
2154         * kernel/focus.h: comment typo
2155
2156         * kernel/client.c, kernel/moveresize.c, kernel/moveresize.h:
2157         watch out when unmanaging a window, that it is not being move/resized
2158
2159 2003-04-17  xor@zed  <xor@zed>
2160
2161         * kernel/client.c:
2162         a) put transient windows on the same desktop as their parent
2163         b) if a window is attempted to be focused but it is not on the current desktop,
2164            then move it to the top of the focus order on its desktop
2165
2166         * kernel/screen.c:
2167         distribute focus when entering/leaving show-the-desktop mode
2168
2169         * kernel/event.c: remove debug print
2170
2171         * kernel/moveresize.c, kernel/openbox.c, kernel/openbox.h:
2172         add the left/right/top/bottom direction arrows and use them for resizing those ways
2173
2174         * plugins/mouse/mouse.c: net_WM!@^&(
2175
2176         * plugins/mouse/mouse.c: use the right client
2177
2178         * plugins/mouse/mouse.c: dont use the client if there is none
2179
2180         * kernel/event.c: dont ignore all Virtual pointer events
2181
2182         * kernel/action.c: 02:33 (@xor) omg yes
2183         02:33 (@xor) grid workspace cycling of d3th
2184
2185         * kernel/action.c: fix grip workspace cycling
2186
2187         * kernel/event.c, kernel/grab.c, kernel/grab.h, kernel/moveresize.c, kernel/moveresize.h, plugins/mouse/mouseparse.c:
2188         fix up support for moveresize. make keyboard grabs Async so that i can hit escape to cancel a moveresize process.
2189
2190         * kernel/openbox.c: do not shadow parameter pls
2191
2192         * kernel/moveresize.c: initialize start_x/y
2193
2194         * kernel/focus.c, kernel/moveresize.c, kernel/moveresize.h, kernel/openbox.c, kernel/openbox.h:
2195         add support for interactive/keyboard move/resize
2196
2197         * kernel/event.c, kernel/prop.c, kernel/prop.h, kernel/screen.c:
2198         add support for net_moveresize_window and net_wm_moveresize
2199
2200         * kernel/frame.c: use the new cursor defn's
2201
2202         * kernel/screen.c: use the new ptr cursor defn
2203
2204         * kernel/Makefile.am, kernel/action.c, kernel/action.h, kernel/event.c, kernel/moveresize.c, kernel/moveresize.h, kernel/prop.c, kernel/prop.h, plugins/keyboard/keyboard.c, plugins/keyboard/keyparse.c, plugins/mouse/mouse.c, plugins/mouse/mouseparse.c:
2205         move the move/resize functionality into moveresize.c, for use with the netwm atoms. use it from teh plugins. combine the two actions.
2206
2207         * kernel/framerender.c: put text centered in the popup dialog properly
2208
2209         * data/rc3: make alt-middle the default resize binding
2210
2211         * kernel/openbox.c, kernel/openbox.h:
2212         add more cursors for move/resizing, and use the arrows not the angle brackets
2213
2214         * kernel/action.c:
2215         grab pointer during cycling to remove focus screwups from focus-follows-mouse.
2216         grab during move/resize and assign a cursor while doing the move/resize too!
2217
2218         * plugins/mouse/mouse.c:
2219         save the client and context during drags since a pointer grab will change them
2220
2221         * kernel/event.c: ignore virtual crossing events..
2222
2223         * kernel/focus.c: that was dumb, it was metacity's fault
2224
2225         * kernel/focus.c: only cycle to visible windows
2226
2227 2003-04-16  xor@zed  <xor@zed>
2228
2229         * kernel/event.c: dont send menu events to plugins
2230
2231         * data/rc3: show the root menu on right click
2232
2233         * kernel/event.c, kernel/grab.c, kernel/grab.h, kernel/menu.c, kernel/menu.h:
2234         menus works on some level. add a built-in root menu
2235
2236         * kernel/client.c: code cleanup
2237
2238         * kernel/client.c: when flags are not set assume bette defaults
2239
2240         * kernel/event.c, kernel/focus.c, kernel/menu.c, kernel/menu.h, kernel/openbox.c, kernel/stacking.c, kernel/stacking.h:
2241         raise menus above clients.
2242         hilight menu entries as the cursor passes over them.
2243
2244         * kernel/menu.c, kernel/menu.h:
2245         save the window ids in a map for the menus
2246
2247         * kernel/client.c: only change the group info if the group flag is set
2248
2249         * kernel/client.c: only add transients if we are IN a group
2250
2251         * kernel/client.c: oops nm
2252
2253         * kernel/client.c: less ()s cleanup
2254
2255         * kernel/client.c:
2256         remove transients before removing ourlselves from teh group
2257
2258         * kernel/client.c:
2259         set the group to null when removeing ourselves from it
2260
2261 2003-04-15  xor@zed  <xor@zed>
2262
2263         * kernel/action.c: watch out for missing a name
2264
2265         * render/theme.c: make menu font smaller and !bold for now
2266
2267         * kernel/action.c, kernel/action.h, kernel/framerender.c, kernel/menu.c, kernel/menu.h, kernel/openbox.c, plugins/keyboard/keyparse.c, plugins/mouse/mouse.c, plugins/mouse/mouseparse.c:
2268         start of showing/rendering menus. woot!
2269
2270         * render/theme.c, render/theme.h: load menu style stuff
2271
2272         * render/render.c, render/render.h:
2273         make minsize take int*'s not a Size*
2274
2275         * kernel/client.c:
2276         remove transients of the group from teh window when it leaves the group
2277
2278         * kernel/client.c: add group transients when setting up the group
2279
2280         * kernel/client.c: bug in the search for transient_for's
2281
2282         * data/rc3: update the theme stuff
2283
2284 2003-04-15  manmower  <manmower@zed>
2285
2286         * render/gradient.c: PYRAMID PARTY PART 2!!!
2287
2288         * render/gradient.c, render/gradient.h: PYRAMID PARTY!!!
2289
2290 2003-04-15  xor@zed  <xor@zed>
2291
2292         * kernel/screen.c: remove debug print
2293
2294 2003-04-14  xor@zed  <xor@zed>
2295
2296         * kernel/client.c, kernel/prop.c, kernel/screen.c:
2297         fixes for handling char**s
2298
2299         * render/font.c: indenting oopsie
2300
2301         * kernel/prop.c: dont get a null at the end of the data, so use strndup
2302
2303         * kernel/screen.c: fix a seg from ignoreing PROP_GETSS failure
2304
2305         * kernel/screen.c: more fixes for working with char**s
2306
2307         * kernel/screen.c: nullify the ends of the char**
2308
2309         * kernel/client.c, kernel/prop.h, kernel/screen.c:
2310         remove casts from PROP defines. use proper vars and cast elsewhere if needed.
2311
2312         * render/font.c: text justification
2313
2314         * render/render.c:
2315         shrink the area that the textures are rendered into by the bevels/borders
2316
2317         * kernel/client.c, kernel/prop.c, kernel/prop.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c:
2318         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.
2319
2320         * kernel/menu.c, kernel/menu.h:
2321         these menus should not be removed, they are good and will be used.
2322
2323         * kernel/event.c: clean up this mess of crap a lot
2324
2325         * kernel/prop.c, kernel/prop.h:
2326         do not commit bad char* foo that breaks on !32 bit platforms
2327
2328 2003-04-14  woodblock  <woodblock@zed>
2329
2330         * kernel/menu.c, kernel/menu.h: *** empty log message ***
2331
2332 2003-04-14  xor@zed  <xor@zed>
2333
2334         * kernel/parse.l: allow _'s in identifiers
2335
2336         * kernel/stacking.c: raise and lower all transients along with parents
2337
2338         * kernel/client.c:
2339         apply layers to all transients. only raise once on the highest window who's layer changed after applying layers to them all
2340
2341 2003-04-13  xor@zed  <xor@zed>
2342
2343         * kernel/client.c: ifdef not ifndef
2344
2345         * kernel/stacking.c: keep all transient windows above their parents
2346
2347         * kernel/client.c: simple cleanups for the client_iconify function.
2348         also dont follow into other groups when searching up the transient_for tree
2349
2350         * kernel/client.c: rm the unused vars
2351
2352         * kernel/client.c: onyl focus 'normal' windows on map
2353
2354         * kernel/client.c:
2355         only keep fullscreen windows on top while they are focused
2356
2357         * kernel/client.c, kernel/client.h:
2358         make fullscreen decorations and functions be calculated by the setup_decor_and_functions func
2359
2360         * kernel/group.c: rm the group debug prints
2361
2362         * kernel/client.c: only print that when debuggin focus
2363
2364         * .cvsignore, kernel/.cvsignore, plugins/.cvsignore, plugins/keyboard/.cvsignore, plugins/mouse/.cvsignore, plugins/placement/.cvsignore, render/.cvsignore:
2365         ignore the remaining new shit from automaking everything again
2366
2367         * .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/keyboard/.cvsignore, plugins/keyboard/Makefile, plugins/keyboard/Makefile.am, plugins/mouse/.cvsignore, plugins/mouse/Makefile, plugins/mouse/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:
2368         back to automake
2369
2370         * AUTHORS: shrimpx above miklos?
2371
2372         * kernel/event.c, kernel/frame.c, kernel/frame.h, plugins/mouse/mouse.c:
2373         pass the Client for frame_context cuz the client might be NULL
2374
2375         * themes/ebox: comment properly
2376
2377         * render/theme.c: load the font shadow stuff from the old ob2 shitz
2378
2379         * kernel/config.c, kernel/config.h, kernel/openbox.c:
2380         let specify theme in the rc3 file. rm the other old engine options
2381
2382         * Makefile.in: break on errors
2383
2384         * 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, plugins/keyboard/keyboard.c, plugins/mouse/mouse.c, render/.cvsignore, render/font.h, render/mask.h, render/render.h, render/theme.c, render/theme.h:
2385         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.
2386
2387         * 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:
2388         move the themes
2389
2390         * render/render.c: allow freeing NULL appearances
2391
2392         * render/font.c: allow closing NULL fonts
2393
2394         * render/mask.c: allow freeing NULL pixmap masks
2395
2396         * render/color.c: dont fux self in color_free if the color is NULL
2397
2398 2003-04-12  xor@zed  <xor@zed>
2399
2400         * tests/fullscreen.c: set the right mask for the client msg!
2401
2402 2003-04-12  woodblock  <woodblock@zed>
2403
2404         * CHANGELOG: Fixed another damned focus bug. Pray.
2405
2406 2003-04-11  xor@zed  <xor@zed>
2407
2408         * data/rc3: add right click in client focuses
2409
2410         * kernel/client.c: make utility windows able to be resized
2411
2412         * Makefile.in: rm the main Makefile in a distclean
2413
2414 2003-04-10  xor@zed  <xor@zed>
2415
2416         * kernel/client.c:
2417         deiconify transient parents when a child is deiconified.
2418
2419         * kernel/client.h: no fuck that it was working fine
2420
2421         * kernel/client.h: make the TRAN_GROUP an unsigned long
2422
2423         * kernel/event.c: add MapRequest print
2424
2425         * kernel/client.c:
2426         some smarter rules for focusing new window when focus_new is not set
2427
2428 2003-04-09  xor@zed  <xor@zed>
2429
2430         * plugins/keyboard/keyboard.c: buld fixes for the new libs
2431
2432         * Makefile.in, render/.cvsignore: add libcwmcc and libobcl
2433
2434         * HACKING: describe the code subdirs
2435
2436         * kernel/action.c:
2437         dont show the focus popup when theres no target client
2438
2439 2003-04-08  xor@zed  <xor@zed>
2440
2441         * kernel/event.c: rm debug print
2442
2443         * tests/.cvsignore: add override
2444
2445         * tests/override.c: add a test that maps an override redirect window
2446
2447         * 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:
2448         move config option loading for the kernel into config.c/h
2449         add options for the number of desktops and the names of the desktops
2450
2451         * data/rc3: add the desktops options
2452
2453         * data/rc3: better clickfocus friendliness
2454
2455         * kernel/client.c: check for focus before unfocusing
2456
2457         * kernel/client.c, kernel/event.c, kernel/focus.c, kernel/focus.h, kernel/screen.c:
2458         add more options for focus fallback, use an enum for all the types of fallbacks.
2459
2460         * kernel/focus.c: only cycle focus to normal windows
2461
2462         * data/rc3: make stacked cycling the default
2463
2464         * kernel/action.c: show a popup with the focus target while cycling
2465
2466         * kernel/focus.c, kernel/focus.h:
2467         fallback to transients' parents when possible.
2468         return the Client* which was focused from focus_cycle
2469
2470         * kernel/client.c: fallback focus while unmanaging the window
2471
2472 2003-04-07  xor@zed  <xor@zed>
2473
2474         * data/rc3: FocusRaise to be more clickfocus friendly too
2475
2476         * data/rc3, kernel/focus.c, kernel/focus.h:
2477         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.
2478
2479         * kernel/event.c: ignore inferior enternotifies
2480         add anotehr focusdebug print
2481
2482         * kernel/client.c: check for new windows always being onscreen.
2483         rename the client pointer to self in teh manage unmanage functions for consistancy
2484
2485         * kernel/grab.c: rm debug prints
2486
2487 2003-04-07  woodblock  <woodblock@zed>
2488
2489         * configure.in: bump version string
2490
2491 2003-04-07  xor@zed  <xor@zed>
2492
2493         * plugins/placement/history.c:
2494         dont check to make sure the window is on screen here
2495
2496         * HACKING: add comment about the two different area Rects
2497
2498         * HACKING: add new HACKING!
2499         warn about Client.transient_for
2500
2501         * kernel/client.h, kernel/stacking.c, kernel/client.c:
2502         support for transients of groups
2503
2504         * kernel/event.c: missed one
2505
2506         * kernel/event.c: put focus messages in ifdefs
2507
2508         * kernel/focus.c: remove debug print
2509
2510         * kernel/client.c, kernel/client.h, kernel/group.c, kernel/group.h, kernel/openbox.c:
2511         track window groups
2512         iconify all its transients when a window is iconified
2513
2514         * plugins/keyboard/keyboard.c:
2515         once in a window-cycle, don't fire any other key bindings
2516
2517         * kernel/action.c, kernel/client.c, kernel/client.h, kernel/focus.c, kernel/focus.h:
2518         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.
2519
2520         * kernel/grab.c: grab the other device in Sync for button/key grabs
2521
2522 2003-04-06  xor@zed  <xor@zed>
2523
2524         * plugins/placement/history.c: dont let windows be placed offscreen
2525
2526         * render/render.c: ifndef NOT IFNDEF GAH
2527
2528         * kernel/action.c: dont toggle when no client was passed to teh action
2529
2530         * kernel/event.c: nm that, pointless...
2531
2532         * kernel/event.c:
2533         disable keyboard and mouse input while ob is starting or exiting
2534
2535 2003-04-06  manmower  <manmower@zed>
2536
2537         * render/color.c, render/render.c:
2538         Fix reduce color depth to not use original data
2539         (and break parentrel)
2540
2541 2003-04-06  xor@zed  <xor@zed>
2542
2543         * kernel/engine.c: print the error when the engine cant load
2544
2545         * render/render.c: add stdlib.h for exit()
2546
2547         * .cvsignore, configure.ac, install-sh:
2548         stop using build/ dir configure shits all over itself for other people
2549
2550         * m4/x11.m4, m4/openbox.m4:
2551         build fixes for finding Xlibs and for setting vars based on found Xlib info and Xinerama info
2552
2553         * configure.ac: more build system fixups
2554
2555         * .cvsignore, Makefile, Makefile.in, configure.ac, install-sh, m4/openbox.m4, render/.cvsignore:
2556         fixes for build system. add themes to the install process. use the build/ dir for configures trash dump
2557
2558         * kernel/engine.c: clean up the module if load() fails
2559
2560         * render/render.c, render/render.h:
2561         add function to give the minimum size of an appearance to fully render it's data
2562
2563         * plugins/mouse/mouse.c:
2564         save the state at the start of a drag and use it throughout until the button is released
2565
2566         * kernel/action.c: add a coords popup for moving and resizing
2567
2568         * kernel/geom.h: add ()'s to the macros for more safety
2569
2570         * kernel/engine.c, kernel/engine.h:
2571         add the ability to render and size text labels for non-window-decorations
2572
2573 2003-04-06  woodblock  <woodblock@zed>
2574
2575         * bootstrap: Remove woodblock's local changes :P
2576
2577         * bootstrap: Moved to DESIGN/
2578
2579         * DESIGN/menu-thoughts.txt: some thoughts on menu stuff
2580
2581 2003-04-06  manmower  <manmower@zed>
2582
2583         * render/gradient.c: remove asserts pending sanity check.
2584
2585         * render/gradient.c:
2586         added flakey parentrel for solids and some mean spirited asserts
2587
2588         * render/color.c, render/color.h, render/render.c, render/render.h:
2589         added superb pseudo-color (8bpp) support
2590
2591 2003-04-06  xor@zed  <xor@zed>
2592
2593         * plugins/resistance.c: dont resize snap windows with size increments
2594
2595         * data/rc3, kernel/engine.c: make NLIMC the default titlebar layout
2596
2597 2003-04-06  woodblock  <woodblock@zed>
2598
2599         * configure.in: Huge i18n patch from Mike Fabian.
2600         We use utf8 everywhere now.
2601
2602 2003-04-05  xor@zed  <xor@zed>
2603
2604         * kernel/action.c, kernel/focus.c, kernel/focus.h:
2605         allow specifying that some focus events should be ignored for the focus order list
2606
2607         * kernel/action.c: stacked and linear cycling
2608
2609         * kernel/action.c, kernel/action.h, plugins/keyboard/keyboard.c:
2610         linear focus cycling of the gods
2611
2612         * plugins/keyboard/keyboard.c:
2613         add special shit for window cycling, grab the keyboard etc
2614
2615         * kernel/client.c: typo
2616
2617         * kernel/client.c: put it back
2618
2619         * kernel/client.c: make unfocus really unfocus everything
2620
2621         * data/rc3: add linear cycling for now
2622
2623         * data/rc3: rm the [foo] section
2624
2625         * data/rc3: update teh rc3 to reflect how the code works now
2626
2627         * kernel/engine.c: dont default to NULL for the engine name
2628
2629         * kernel/engine.c: add engine options to the new rc file
2630
2631         * Makefile, kernel/focus.c, kernel/openbox.c, kernel/parse.c:
2632         add focus options to the new rc file
2633
2634         * 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/keyboard/keyboard.c, plugins/mouse/mouse.c, plugins/placement/history.c, plugins/placement/placement.c, plugins/resistance.c:
2635         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/
2636
2637         * render/render.h: make tint signed
2638
2639         * data/rc3: typo
2640
2641         * plugins/mouse/mouserc, plugins/mouse/mouserc_parse.c, plugins/mouse/mouserc_parse.h, plugins/mouse/mouserc_parse.l:
2642         rm the old mouserc shit
2643
2644         * Makefile, data/rc3: add an rc3 which gets installed
2645
2646         * Makefile: make love
2647
2648         * plugins/mouse/.cvsignore: ignore more new shit
2649
2650         * plugins/mouse/translate.c:
2651         use Button<num> instead of just <num> for specifying buttons by number
2652
2653         * plugins/keyboard/keyparse.c, plugins/mouse/mouseparse.c, plugins/mouse/mouseparse.h:
2654         better error msgs
2655
2656         * kernel/frame.c, kernel/frame.h: use a context enum instead of quarks
2657
2658         * plugins/mouse/mouse.c:
2659         not using quarks, using an array and a Context enum for contexts
2660
2661         * plugins/keyboard/keyparse.c: prefix key bindnigs with 'kbind'
2662
2663         * plugins/keyboard/keyboard.c, plugins/keyboard/translate.c:
2664         initialize all vars.
2665         change warnings to messages
2666
2667 2003-04-04  xor@zed  <xor@zed>
2668
2669         * kernel/openbox.c:
2670         reorder startup so that grabs are set up before parsing teh rc
2671
2672         * plugins/keyboard/keyparse.c: remove debug print
2673
2674         * kernel/parse.c, kernel/parse.y, plugins/keyboard/.cvsignore, plugins/keyboard/keyboard.c, plugins/keyboard/keyparse.c, plugins/keyboard/keyparse.h, plugins/keyboard/keysrc, plugins/keyboard/keysrc.h, plugins/keyboard/keysrc.l, plugins/keyboard/keysrc.yacc:
2675         add the keyboard plugin into the build systems
2676         keyboard bindings are parsed from the rc file
2677
2678         * configure.ac: clean up output
2679
2680         * configure.ac: properly
2681
2682         * configure.ac: add -DENABLE_NLS
2683
2684         * kernel/parse.c: more using of new token struct
2685
2686         * kernel/parse.c: use new token structs. free token lists.
2687
2688         * kernel/parse.c, kernel/parse.h, kernel/parse.y:
2689         attempting to parse lists
2690
2691         * README.CVS: reflect the current requirements for building/using cvs
2692
2693 2003-04-03  xor@zed  <xor@zed>
2694
2695         * kernel/parse.l: allow '-' in identifiers
2696
2697         * Makefile: engine builds
2698
2699         * Makefile: build the resistance/placement plugins
2700
2701         * kernel/parse.h: use the values from the yacc parser
2702
2703         * Makefile, kernel/.cvsignore, kernel/parse.y:
2704         more build fixes, calling the other makefiles instead of including them
2705
2706         * kernel/parse.y: try accomidate more versions of bison
2707
2708         * .cvsignore, Makefile, kernel/.cvsignore, plugins/.cvsignore, plugins/placement/.cvsignore:
2709         more build fixes
2710
2711         * configure.ac: use PACKAGE_FOO vars
2712
2713         * kernel/action.c: double break statements :) oops
2714
2715         * .cvsignore: add stuff that should be ignored at the toplevel
2716
2717         * bootstrap, install-sh: some build fixes
2718
2719         * .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/keyboard/.cvsignore, plugins/keyboard/Makefile, plugins/keyboard/Makefile.am, plugins/mouse/.cvsignore, plugins/mouse/Makefile, plugins/mouse/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:
2720         new build system without automake
2721
2722         * data/.cvsignore, data/Makefile.am, data/README, data/README.menu, data/README.style, data/menu.in:
2723         rm the data dir
2724
2725 2003-04-02  xor@zed  <xor@zed>
2726
2727         * kernel/Makefile.am: BLEF HATE DIE
2728
2729         * kernel/Makefile.am: bison doesnt use y.tab.*
2730
2731         * configure.ac: use bison not yacc
2732
2733         * kernel/Makefile.am, kernel/parse.y, kernel/parse.yacc:
2734         rename the parse.yacc to parse.y
2735
2736         * kernel/Makefile.am: make parse.h depend on y.tab.h
2737
2738         * kernel/parse.h, kernel/parse.l: this should seriously work
2739
2740         * kernel/parse.h, kernel/parse.yacc: undo that
2741
2742         * kernel/.cvsignore: ignore new lex/yacc gen'd files
2743
2744         * kernel/parse.h, kernel/parse.yacc:
2745         don't include the y.tab.h inside the yacc file
2746
2747         * kernel/Makefile.am: add y.tab.h to the headers so the yacc shit runs
2748
2749         * kernel/Makefile.am: rm the generated files on clean
2750
2751         * kernel/Makefile.am: wrong .h for the make rule
2752
2753         * kernel/Makefile.am: deps the lex h on the c
2754
2755         * plugins/mouse/mouse.c:
2756         make the drag threshold and double click time into rc options
2757
2758         * 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:
2759         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
2760
2761         * render/font.c: whitespace
2762
2763         * render/font.c: kill debug print
2764
2765         * render/font.c: use the tint properly for the shadow
2766
2767         * kernel/client.c: rm debug print
2768
2769         * render/render.c: will seg again
2770
2771         * render/render.c: stop copying. still segfault?
2772
2773         * render/render.c:
2774         find the right offset in the source data for parent relative
2775
2776 2003-04-02  manmower  <manmower@zed>
2777
2778         * render/render.c: let there be parentrelative
2779
2780 2003-04-01  xor@zed  <xor@zed>
2781
2782         * TODO: more updates to current status
2783
2784 2003-03-31  xor@zed  <xor@zed>
2785
2786         * plugins/mouse/mouserc: add the Shade context to the comments
2787
2788         * kernel/client.c, kernel/client.h, plugins/mouse/mouserc:
2789         add a shaded button
2790
2791         * TODO: add some current states
2792
2793         * plugins/resistance.c: dont resist to windows which we're not touching
2794
2795         * kernel/client.c:
2796         only disallow shading when the function is not enabled, dont disallow unshading
2797
2798         * plugins/mouse/mouse.c:
2799         use the client's size instead of the frames size so the real size is used, not the size of the frame (avoids shaded window problem)
2800
2801         * kernel/action.c: disallow resizing of windows which are shaded
2802
2803         * plugins/mouse/mouse.c: unser drag_used when drag is unset too
2804
2805         * plugins/mouse/mouse.c: add a space where it belongs
2806
2807         * plugins/mouse/mouse.c:
2808         make realeases fire releases instead of presses. make drags prevent clicks only if there is something bound to the drag.
2809
2810         * plugins/keyboard/keysrc: no drag events for keysrc..
2811
2812         * kernel/client.c:
2813         use the frame's position in the maximize function since they're converted to the client coords before getting to client_configure
2814
2815         * kernel/frame.c:
2816         was not using the pointer properly. leaving the value untouched
2817
2818         * kernel/client.c:
2819         set fullscreen and max positions properly for all gravities
2820
2821         * kernel/focus.c: rm a no-longer-valid comment
2822
2823         * kernel/event.c:
2824         yet more haxes to make focus events work the way i want. this is rough shit.
2825
2826         * plugins/resistance.c:
2827         extraneous ! causing resistance to be snapping in one case. rm a debug print
2828
2829 2003-03-30  xor@zed  <xor@zed>
2830
2831         * render/font.c: use 'sans' as the fallback font instead of 'fixed'
2832
2833         * kernel/event.c, kernel/focus.c:
2834         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.
2835
2836 2003-03-29  xor@zed  <xor@zed>
2837
2838         * kernel/action.c, kernel/action.h:
2839         make SendToDesktop action work right, give the option of following
2840
2841         * render/mask.c, render/mask.h, render/render.h:
2842         add pixmap_mask_copy, and add the data to the mask struct, since it is needed for allowing copies
2843
2844         * plugins/keyboard/keysrc:
2845         better decribe bindings and list all the modifiers, was missing shift/control
2846
2847         * plugins/keyboard/keysrc:
2848         add SendToDesktop to the comments. fix the type calling the Desktop action Desktops
2849
2850         * plugins/keyboard/keysrc.yacc: use the number for sendtodesktop
2851
2852         * kernel/action.c, kernel/action.h: rm a redundant actiondata struct
2853
2854         * kernel/menu.c: no //'s plz
2855
2856         * kernel/action.c: translate sendtodesktop actions
2857
2858         * plugins/resistance.c: use the top when snapping to the top
2859
2860         * kernel/openbox.c: create the dirs for themes in ~/.openbox on startup
2861
2862 2003-03-29  woodblock  <woodblock@zed>
2863
2864         * tests/Makefile: Add include path
2865
2866 2003-03-29  xor@zed  <xor@zed>
2867
2868         * plugins/mouse/mouserc: add focusing if clicked on the grips
2869
2870         * plugins/resistance.c:
2871         use the bottom of the screen for botom snapping! :)
2872
2873 2003-03-29  woodblock  <woodblock@zed>
2874
2875         * kernel/Makefile.am, kernel/action.c, kernel/action.h, kernel/menu.c, kernel/menu.h:
2876         Menu data structures basically completed.
2877         Need the engine support still, parser, and controllers.
2878
2879 2003-03-29  xor@zed  <xor@zed>
2880
2881         * plugins/keyboard/keysrc.yacc: rm the extra ;
2882
2883         * kernel/action.c, kernel/action.h, plugins/keyboard/keysrc, plugins/mouse/mouserc:
2884         add unshaderaise and shadelower actions from Mikachu
2885
2886         * kernel/xerror.c, kernel/xerror.h: add a var to track errors
2887
2888         * kernel/grab.c: don't die when someone else has a key grabbed
2889
2890 2003-03-28  xor@zed  <xor@zed>
2891
2892         * plugins/keyboard/keysrc, plugins/mouse/mouserc: add ToggleDecorations
2893
2894         * kernel/action.c, kernel/client.c, kernel/client.h:
2895         rm client_disable_decorations.. it already had an action.
2896         add the action to the action_from_string func
2897
2898         * kernel/client.c, kernel/client.h: add client_disable_decorations
2899
2900         * kernel/client.c:
2901         onlt raise the window when sending to a desktop it wasnt already on
2902
2903         * kernel/event.c:
2904         FocusOut's are NOT ignored. thats bullshit. fixing comment.
2905
2906         * kernel/event.c:
2907         focus... works...? i have all cases of mozilla working, with RevertToPointerRoot sucking ass but.. working now.
2908
2909         * kernel/client.c:
2910         RevertToPointerRoot is the worse error case, so use it always
2911
2912         * kernel/event.c: comment why NotifyAncestor is not ignored
2913
2914         * kernel/event.c:
2915         yet MORE focus events reworkings. mozilla behaves now too. woot
2916
2917         * kernel/client.c: make the value boolean
2918
2919         * kernel/event.c:
2920         more focus cleanups. ignored focusin's were not working right recursively.
2921         also, when the focusin coming later is not for a valid window the fallback would not be called. both fixed.
2922
2923         * plugins/resistance.c: round down for size increments
2924
2925         * kernel/action.c, kernel/dispatch.c, kernel/dispatch.h:
2926         add resizing event
2927
2928         * plugins/resistance.c:
2929         resize resistance. size incs will fuck with it yet though.
2930
2931         * plugins/mouse/mouse.c: set lbutton from clicks
2932
2933         * plugins/mouse/mouse.c: rm debug prints
2934
2935         * kernel/client.c:
2936         was not moving the window between desktop focus lists sometimes. bad news. now i always do. yay!
2937
2938         * kernel/focus.c: killa  debug print
2939
2940         * kernel/focus.c:
2941         handle better the case of choosing the window to focus but it is already focused when switching desktops
2942
2943         * kernel/client.h: comment the new parameter
2944
2945         * kernel/action.c, kernel/client.c, kernel/client.h, kernel/event.c, kernel/screen.c:
2946         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
2947
2948         * kernel/stacking.c: oops that worked before i borked it bad
2949
2950         * kernel/stacking.c: frame is a pointer
2951
2952         * kernel/stacking.c: dont die if a non-visible window is raised/lowered
2953
2954         * plugins/mouse/mouse.c: take borders into account for figuring clicks
2955
2956         * kernel/geom.h: make better?
2957
2958         * kernel/focus.c: sync after focusing
2959
2960         * kernel/geom.h: make these things one 'command' without braces
2961
2962 2003-03-28  manmower  <manmower@zed>
2963
2964         * render/render.c, render/render.h, render/test.c:
2965         moved paint's arguments into the appearance struct
2966
2967 2003-03-28  xor@zed  <xor@zed>
2968
2969         * kernel/stacking.c: dont lower below lower layers
2970
2971         * kernel/client.c:
2972         use the struts to size the window correctly for maximized windows
2973
2974         * kernel/client.c: read struts properly
2975
2976 2003-03-28  manmower  <manmower@zed>
2977
2978         * render/render.c, render/render.h: fix draw order in x_paint
2979
2980         * render/render.c: black.  not white.  oops
2981
2982         * render/render.c: black for parentrelative so we can test icons
2983
2984 2003-03-28  xor@zed  <xor@zed>
2985
2986         * plugins/mouse/mouserc: focus on middle click on client
2987
2988         * kernel/plugin.c: skip better
2989
2990         * kernel/plugin.c: skip comments and empty lines
2991
2992         * kernel/client.c:
2993         only use the initial_state shit when NOT starting and when managing the window
2994
2995         * kernel/focus.c:
2996         rm a bunch of prints. make switching to an empty desktop not kill focus
2997
2998         * kernel/event.c: dont focus !normal windows on enter events
2999
3000         * plugins/mouse/mouserc: add send-tos with the mouse wheel
3001
3002         * plugins/Makefile.am: focus plugin is gone
3003
3004         * kernel/client.c: mor fabulous focus fixings.
3005         RevertToNone so that when the fallback stuff goes the window wont already have focus cuz it has the pointer in to
3006
3007         * kernel/event.c: fallback focus in superior fashion
3008
3009         * kernel/focus.c: better var naming
3010
3011         * kernel/focus.c:
3012         dont rm focus when i actually found something to fall back to with the pointer
3013
3014 2003-03-27  xor@zed  <xor@zed>
3015
3016         * kernel/event.c: watch for FocusIn's for unknown clients
3017
3018         * kernel/plugin.c: rm the focus plugin
3019
3020 2003-03-27  manmower  <manmower@zed>
3021
3022         * render/render.h: prep for parentrelative
3023
3024 2003-03-27  xor@zed  <xor@zed>
3025
3026         * kernel/event.c: missed the end of a comment
3027
3028         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/event.h:
3029         handle focus in the kernel, no more plugin
3030
3031         * kernel/focus.c, kernel/focus.h: add code to fallback focus
3032
3033         * kernel/screen.c: focus a window on desktop switch
3034
3035         * plugins/Makefile.am, plugins/focus.c: rm the focus plugin
3036
3037         * kernel/config.c: add focus options
3038
3039         * kernel/event.c:
3040         set the last time to CurrentTime for events that don't have time stamps
3041
3042         * kernel/client.c: rm debug print
3043
3044 2003-03-26  xor@zed  <xor@zed>
3045
3046         * 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, plugins/keyboard/keyboard.c, plugins/mouse/mouse.c:
3047         not using CurrentTime anywhere
3048
3049         * kernel/grab.c, plugins/keyboard/keyboard.c: use CurrentTime again?
3050
3051         * plugins/keyboard/keyboard.c: bind C-g for the rset key
3052
3053         * kernel/grab.c: ungrab with currenttime
3054
3055         * kernel/focus.c:
3056         use the last event timestamp when focusing the focus_backup
3057
3058         * plugins/keyboard/keysrc.l: negatives that work!
3059
3060         * plugins/keyboard/keysrc: document the options
3061
3062         * plugins/keyboard/keysrc.l: better negatives
3063
3064         * plugins/keyboard/keysrc.l: allow negative numbers
3065
3066         * plugins/keyboard/keysrc.yacc: was reversing the keylist
3067
3068         * plugins/keyboard/keysrc.yacc:
3069         subtract 1 from the given desktop number
3070
3071         * plugins/keyboard/keysrc.l: make parsing more generic
3072
3073         * plugins/keyboard/keysrc.yacc: free unused paths
3074
3075         * plugins/keyboard/keysrc.yacc: split up the relative functions.
3076         make the parsing more generic, anything can have a string/numeric argument
3077
3078         * plugins/keyboard/keyboard.c: remove an extraneous g_warning
3079
3080         * plugins/mouse/mouserc_parse.l: split the relative functions
3081
3082         * plugins/keyboard/translate.c: check for invalid keys properly
3083
3084         * kernel/action.h:
3085         comment that the relative move/resize amounts need to be set
3086
3087         * kernel/action.c, kernel/action.h:
3088         split up the relative move/resize actions into horz/vert
3089
3090         * kernel/action.c, kernel/action.h: create actions from string names
3091
3092         * plugins/keyboard/.cvsignore, plugins/keyboard/Makefile.am, plugins/keyboard/keyboard.c, plugins/keyboard/keyboard.h, plugins/keyboard/keysrc, plugins/keyboard/keysrc.h, plugins/keyboard/keysrc.l, plugins/keyboard/keysrc.yacc, plugins/keyboard/tree.c:
3093         load keybindings from keysrc
3094
3095         * plugins/mouse/mouserc: add exit/restart.
3096         clarify which can be used for drag events
3097
3098         * plugins/mouse/mouserc_parse.l:
3099         dont let bind to actionexecute or desktop cuz they require a parameter
3100
3101         * plugins/mouse/mouserc_parse.l: dont let bind to actiondesktop
3102
3103         * plugins/mouse/mouserc_parse.l: use the action_from_string helper
3104
3105         * kernel/action.c: let a be null for action_free
3106
3107         * kernel/cparse.l: use g_warning not printf
3108
3109         * plugins/mouse/mouserc_parse.l:
3110         properly restrict bindings for motion events
3111
3112         * plugins/mouse/mouserc_parse.l: even beter
3113
3114         * plugins/mouse/mouserc_parse.l: better comment parsing
3115
3116         * plugins/mouse/mouserc_parse.l: sep is not used any more
3117
3118         * plugins/mouse/mouserc_parse.l: fix comment parsing
3119
3120         * plugins/mouse/mouserc_parse.l: dont set fields if in a comment
3121
3122         * kernel/client.c: kill the prints again for now
3123
3124         * plugins/mouse/Makefile.am: rm the lex .c on clean
3125
3126         * kernel/xerror.c: dont print bad window errors
3127
3128         * kernel/client.c, kernel/grab.c: put back map/unmap msgs
3129
3130         * configure.ac: look for yacc
3131
3132         * plugins/mouse/mouserc_parse.l: fields must not start or end with '-'
3133
3134         * kernel/event.c: dont let you got to numdesktops+1
3135
3136         * kernel/screen.c: rm the debug print
3137
3138         * kernel/event.c: kill debug prints
3139
3140         * plugins/keyboard/keyboard.c:
3141         XAllowEvents with a timestamp, otherwise we end up with a grab in place that we dont want
3142
3143         * kernel/client.c: oops
3144
3145         * kernel/client.c: rm some debug prints
3146
3147         * kernel/event.c: use ungrab enter events
3148
3149 2003-03-26  manmower  <manmower@zed>
3150
3151         * render/render.c: add rgba icon support
3152
3153         * render/image.c, render/image.h: rgba icon rendering
3154
3155         * render/Makefile.am: add image.c to the build process
3156
3157 2003-03-26  xor@zed  <xor@zed>
3158
3159         * kernel/client.c, kernel/client.h: use rgba icons for clients
3160
3161 2003-03-26  manmower  <manmower@zed>
3162
3163         * render/render.h: added "NoTexture" type
3164
3165 2003-03-26  xor@zed  <xor@zed>
3166
3167         * plugins/mouse/mouserc: document the options
3168
3169         * plugins/mouse/mouserc_parse.l: only let bind Move and Resize to Drags
3170
3171         * plugins/mouse/.cvsignore, plugins/mouse/mouserc, plugins/mouse/mouserc_parse.l:
3172         add the lexer
3173
3174         * kernel/action.c: check for no client
3175
3176 2003-03-26  manmower  <manmower@zed>
3177
3178         * render/render.h: filled out rgba
3179
3180 2003-03-26  xor@zed  <xor@zed>
3181
3182         * plugins/mouse/Makefile.am, plugins/mouse/mouse.c, plugins/mouse/mouse.h, plugins/mouse/mouserc, plugins/mouse/mouserc_parse.c, plugins/mouse/mouserc_parse.h:
3183         parse a mouserc file for mouse bindings
3184
3185         * plugins/mouse/.cvsignore: add new parsing shit
3186
3187         * kernel/.cvsignore: new output file from flex
3188
3189         * .cvsignore: wrong place
3190
3191         * .cvsignore, kernel/Makefile.am, kernel/cparse.l:
3192         usnig flex directly, renaming symbols so that theres no clash with other lexers
3193
3194         * configure.ac: look for flex
3195
3196         * kernel/action.c: free the string for action_restart too
3197
3198 2003-03-26  manmower  <manmower@zed>
3199
3200         * render/font.c, render/font.h, render/mask.c, render/mask.h, render/render.c:
3201         add a Rect to the textures for positioning them
3202
3203 2003-03-26  xor@zed  <xor@zed>
3204
3205         * kernel/plugin.c: print a warning when a module fails to open
3206
3207 2003-03-26  manmower  <manmower@zed>
3208
3209         * render/render.h: include appropriate header file for Rect
3210
3211         * render/render.h: added position to the textures
3212
3213 2003-03-26  xor@zed  <xor@zed>
3214
3215         * plugins/mouse/mouse.c: strdown the context name
3216
3217         * plugins/mouse/translate.c:
3218         use names for mouse buttons, all case insensitive
3219
3220         * plugins/keyboard/translate.c: case insensitive
3221
3222 2003-03-25  xor@zed  <xor@zed>
3223
3224         * kernel/event.c: dont change desktop when its out of range
3225
3226         * plugins/keyboard/keyboard.h, plugins/keyboard/tree.h:
3227         move the def'n of the KeyBindingTree
3228
3229         * plugins/mouse/mouse.c:
3230         presses work when clicks dont on the frame around the titlebar..
3231
3232         * plugins/keyboard/translate.c, plugins/mouse/translate.c:
3233         translate "Control" and "Shift" for modifiers too
3234
3235         * render/font.c: bettr font alignment, i think
3236
3237         * plugins/keyboard/keyboard.c: i fucked that one up
3238
3239         * plugins/resistance.c: add 'corner snapping' resistance
3240
3241         * kernel/event.c: typo
3242
3243         * kernel/event.c: dont accept MapRequest's for !iconic windows
3244
3245         * kernel/client.c:
3246         clarify using stacking_lower for restoring the stacking order
3247
3248         * kernel/client.c: free the startup stacking order after using it
3249
3250         * kernel/client.c:
3251         read in the stacking order on startup, and use it to restore windows back to the order they were in before
3252
3253         * kernel/stacking.c:
3254         dont change the stacking order hint while shuting down
3255
3256 2003-03-24  xor@zed  <xor@zed>
3257
3258         * kernel/menu.h: add action.h for menu entries
3259
3260         * kernel/menu.h: you cant reference yourself as a type
3261
3262         * kernel/client.c, kernel/event.c: use g_hash_table properly
3263
3264 2003-03-24  woodblock  <woodblock@zed>
3265
3266         * kernel/menu.c, kernel/menu.h: Added some menu structure.
3267
3268 2003-03-24  xor@zed  <xor@zed>
3269
3270         * kernel/client.c:
3271         make sure the ConfigureNotify is propogated even when there is no change
3272
3273         * kernel/client.c:
3274         always send the event on a final configure even if there was no real move
3275
3276         * kernel/client.c:
3277         make sure windows which cant be moved or resized also can't be fullscreened
3278
3279         * kernel/client.c: only configure the engine if something changed
3280
3281         * kernel/client.c, kernel/event.c:
3282         only perform the actions necessary when performing an engine_adjust_area. pass whether the client has moved or resized
3283
3284         * kernel/event.c: double ptrs suck! yay shape!
3285
3286         * kernel/event.c: handle shape events
3287
3288         * kernel/action.c: dont move/resize !normal windows
3289
3290         * kernel/event.c: kill debug prints
3291
3292         * kernel/client.c: kill debug print
3293
3294         * kernel/client.c, kernel/client.h, kernel/dispatch.h, kernel/event.c, kernel/focus.c:
3295         more focus improvements. everything seems to work!
3296
3297         * kernel/event.h: Time is declared in Xlib.h
3298
3299         * kernel/openbox.c: not.
3300
3301         * kernel/openbox.c: focus seems to work when not remote too now
3302
3303         * kernel/event.c, kernel/openbox.c:
3304         more focus fixes. i wish this could end.
3305
3306         * kernel/client.c: no \n in g_message
3307
3308         * kernel/action.c, kernel/action.h: add restart and exit actions
3309
3310 2003-03-23  xor@zed  <xor@zed>
3311
3312         * kernel/client.c, kernel/client.h, kernel/event.c:
3313         yet more improvements to focus handling
3314
3315         * render/test.c: gl aint used yet
3316
3317         * plugins/resistance.c: export config values
3318
3319         * plugins/focus.c, plugins/placement/placement.c: dont need the bool
3320
3321         * plugins/focus.c: typo
3322
3323         * plugins/placement/placement.c: make history placement optional
3324
3325         * plugins/focus.c: export its options and use them from the rc file
3326
3327         * plugins/mouse/mouse.c: raise AND focus
3328
3329         * plugins/focus.c: export focus options to the rc file
3330
3331         * render/font.c: seems to be better text placement than ever
3332
3333         * render/font.c:
3334         found what seems to be a better vertical offset for the fonts
3335
3336         * kernel/stacking.c: compare it to null like i do elsewhere
3337
3338         * kernel/client.c: code optimization
3339
3340         * kernel/client.c:
3341         when adjusting the trasient lists, set them, dont leave them hanging into space
3342
3343         * kernel/client.c: whitespace
3344
3345         * kernel/dispatch.c: use gnew0 to make life easy
3346
3347         * kernel/plugin.c: use the plugins' plugin_setup_config function
3348
3349         * render/gradient.c: dont render gradients that are missing
3350
3351         * plugins/focus.c, plugins/keyboard/keyboard.c, plugins/mouse/mouse.c, plugins/placement/placement.c, plugins/resistance.c:
3352         add the plugin_setup_config function
3353
3354         * kernel/event.c: kill debug print
3355
3356         * kernel/event.c: handle multiple maprequests graciously
3357
3358         * kernel/screen.c: oops
3359
3360         * kernel/screen.c:
3361         move windows when the number of desktops changes and they arent on a desktop anymore
3362
3363         * kernel/focus.c:
3364         set focus_order back to null on shutdown so g_renew would work
3365
3366         * render/render.c: add more size checks
3367
3368 2003-03-23  woodblock  <woodblock@zed>
3369
3370         * CHANGELOG:
3371         Fix a bug that would put duplicate windows in the workspace menu.
3372
3373 2003-03-23  xor@zed  <xor@zed>
3374
3375         * kernel/openbox.c, kernel/themerc.c, kernel/themerc.h:
3376         rm the themerc stuff
3377
3378         * kernel/Makefile.am: rm themerc.[ch]
3379
3380         * kernel/config.c, kernel/cparse.l: better parsing errors
3381
3382         * kernel/config.c, kernel/config.h: add booleans
3383
3384         * kernel/cparse.l: properly parse comments!
3385         parse booleans
3386
3387         * render/gradient.c: no \n in g_message
3388
3389         * kernel/config.c, kernel/config.h:
3390         add descriptive names and long descriptions to config var def'ns. set these for the kernel config options.
3391
3392 2003-03-22  xor@zed  <xor@zed>
3393
3394         * kernel/config.c, kernel/engine.c, kernel/openbox.c, kernel/plugin.c, kernel/plugin.h:
3395         make the openbox engine use the new config shit instead of the themerc shit.
3396         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.
3397
3398         * kernel/config.c: only load the system rc if the user rc didnt load
3399
3400         * kernel/config.c, kernel/engine.c, kernel/engine.h, kernel/openbox.c:
3401         load the engine out of the config shit. tho the ordering is fucked atm
3402
3403         * kernel/cparse.l: parse lines that start with '#' as comments
3404
3405         * kernel/cparse.l: let identifiers have '.' in them
3406
3407         * kernel/config.c, kernel/cparse.l:
3408         give the filename to the parser for errors
3409
3410         * kernel/cparse.l: remove debug print
3411
3412         * kernel/config.c: yah. fuck
3413
3414         * kernel/config.c: add a check for adding the same exact def'n twice
3415
3416         * kernel/Makefile.am, kernel/config.c, kernel/config.h:
3417         config system fleshed out. many thanks to woodlbock for his code! yay!
3418
3419         * configure.ac: add const and inline checks for the compiler
3420
3421         * kernel/.cvsignore: ignore cparse.c
3422
3423         * kernel/cparse.c: didnt belong
3424
3425         * kernel/Makefile.am, kernel/config.c, kernel/config.h, kernel/cparse.c, kernel/cparse.l, kernel/openbox.c:
3426         start the config system, add the config file parser
3427
3428         * configure.ac: check for stdio.h
3429
3430         * kernel/client.c: asserts in unmanage to try track a crash
3431
3432         * kernel/screen.c: blef
3433
3434         * kernel/action.c, kernel/action.h, kernel/client.c, kernel/client.h, plugins/mouse/mouse.c:
3435         add the client_kill function, and the kill action, and bind it to the middle mouse button on the close button.
3436
3437         * plugins/placement/history.c, plugins/placement/placement.c:
3438         history placement works. loads. saves. woot.
3439
3440         * configure.ac: look for sys/stat.h
3441
3442         * kernel/openbox.c: make the ~/.openbox dir on startup
3443
3444 2003-03-22  woodblock  <woodblock@zed>
3445
3446         * CHANGELOG: Bug fixes from 2_4. Merge point tag 2_4-to-2_3-03-21-2003.
3447
3448 2003-03-22  xor@zed  <xor@zed>
3449
3450         * kernel/client.c, kernel/client.h:
3451         rename the res_name and res_class members to name and class
3452
3453 2003-03-22  woodblock  <woodblock@zed>
3454
3455         * CHANGELOG:
3456         Fixed some more menu lamity, and the infamous xmms focus crash. wunf.
3457
3458 2003-03-21  xor@zed  <xor@zed>
3459
3460         * plugins/mouse/mouse.c: dont raise on client clicks
3461
3462         * data/Makefile.am, data/menu.in: use $(datadir)
3463
3464         * data/Makefile.am: install the menu in $(datadir)
3465         build from $(srcdir)/menu.in
3466
3467         * data/Makefile.am: use the SED command
3468
3469         * 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:
3470         add strict ansi compliance
3471
3472         * configure.ac: find sed
3473
3474         * configure.ac: clean up configure.ac a bit
3475
3476         * configure.ac: rm the c/Makefile
3477
3478         * configure.ac: look for kernel/openbox.c instead of src/main.cc
3479
3480         * render/font.c: include gettext.h from the right place
3481
3482         * kernel/.cvsignore: ignore the openbox3 binary
3483
3484         * kernel/Makefile.am: build 'openbox3' instead of 'ob3'
3485
3486         * kernel/Makefile.am: build the binary called 'openbox3'
3487
3488         * tools/.cvsignore, tools/Makefile.am, tools/obsetroot.cc:
3489         rm the obsetroot tool and the wrap shit from swig
3490
3491         * kernel/client.c, kernel/engine.c, kernel/engine.h:
3492         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
3493
3494         * kernel/screen.c:
3495         dont focus anything in the kernel from showing-the-desktop mode
3496
3497         * plugins/focus.c:
3498         focus windows when entering/leaving enter-the-desktop mode
3499
3500         * plugins/keyboard/keyboard.c: add an xlock binding
3501
3502         * kernel/dispatch.h: better comment for Event_Client_Moving
3503
3504         * kernel/openbox.c: choke on invalid options on the cmd line
3505
3506         * kernel/client.c: dont check for != NULL before freeing. pointless.
3507
3508         * kernel/screen.c: don't check for != NULL before freeing. pointless
3509
3510         * kernel/screen.c: defn vars at the top of funcs
3511
3512         * plugins/placement/placement.c:
3513         dont reposition windows who know what they want
3514
3515         * kernel/client.c, kernel/client.h:
3516         add the client_set_focused function.
3517         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.
3518
3519         * kernel/event.c:
3520         use the client_set_focused function when getting FocusIn/Out events
3521
3522         * kernel/focus.c: init the focus_client ptr in startup
3523
3524         * plugins/focus.c: dont focus !normal clients under the mouse
3525
3526         * kernel/screen.c: dont use the client's colormap if it is set to None!
3527
3528         * kernel/Makefile.am, kernel/action.c, kernel/dispatch.c, kernel/dispatch.h, kernel/openbox.c, kernel/snap.c, kernel/snap.h:
3529         add a dispatched event for interactively moving a window.
3530         move window snapping/resistance out of the kernel.
3531         make the action_move dispatch the new event.
3532
3533         * plugins/resistance.c: rm debug print
3534
3535         * plugins/resistance.c: optimization!
3536
3537         * plugins/resistance.c: syntax error!
3538
3539         * plugins/resistance.c: don't snap to non-visibles
3540
3541         * plugins/resistance.c: dont snap to self
3542
3543         * plugins/resistance.c:
3544         rm the edge_resistance option.. just dont load the plugin!
3545
3546         * plugins/focus.c, plugins/placement/placement.c:
3547         make the event function static!
3548
3549         * plugins/Makefile.am, plugins/.cvsignore, plugins/resistance.c:
3550         add a window resistance plugin
3551
3552         * plugins/placement/placement.c: rename event() to place_event()
3553
3554         * kernel/snap.c: snap window-to-window
3555
3556         * plugins/focus.c: focus new windows
3557
3558         * plugins/focus.c: rm debug prints
3559
3560         * kernel/event.c: rm debug print
3561
3562         * kernel/client.c: rm debug prints
3563
3564         * kernel/client.c, kernel/client.h, plugins/focus.c:
3565         rm the focused member from the client struct, it was redundant with the focus_client variable around
3566
3567         * kernel/event.c: update engine last for focus events
3568
3569         * plugins/placement/.cvsignore, plugins/placement/Makefile.am, plugins/placement/history.c, plugins/placement/history.h:
3570         set up the history place stuff's files
3571
3572         * plugins/placement/placement.c: start and stop the history plugin
3573
3574         * kernel/openbox.c:
3575         dont set the restart path to "", load the placement plugin
3576
3577         * plugins/focus.c: dont skip enter events
3578
3579         * .cvsignore, configure.ac, kernel/openbox.c, plugins/Makefile.am, plugins/placement/.cvsignore, plugins/placement/Makefile.am, plugins/placement/placement.c:
3580         add a window placement plugin
3581
3582 2003-03-21  woodblock  <woodblock@zed>
3583
3584         * CHANGELOG: Document unexpandTilde()
3585
3586         * CHANGELOG: Support _NET_WM_STATE_FULLSCREEN
3587
3588         * CHANGELOG: We'll call it 2.4, I guess.
3589
3590         * CHANGELOG: Display titles in the workspace menu as UTF8.
3591
3592 2003-03-20  xor@zed  <xor@zed>
3593
3594         * plugins/focus.c: disable warping on desk switch
3595
3596         * plugins/focus.c: skip events more smarter
3597
3598         * plugins/focus.c: kill all enter events on a desktop switch
3599
3600         * kernel/screen.c: show windows before hiding when switching desktops
3601
3602         * plugins/keyboard/keyboard.c: alt bindings
3603
3604         * plugins/focus.c: skipping the right number of enters now i think
3605
3606         * plugins/focus.c:
3607         skip all enter events for now.. need a clever tactic for this..
3608
3609         * kernel/openbox.c, kernel/openbox.h:
3610         add -help -version -sync and -rc cmd line options
3611
3612         * kernel/Makefile.am: add the binary and urls to the Makefile and -D's
3613
3614         * kernel/geom.h: add RECT_CONTAINS
3615
3616         * kernel/client.c, kernel/client.h:
3617         save decor and functions per client for fullscreening!
3618
3619         * kernel/client.c:
3620         lock the size/position of maximized and fullscreen clients
3621
3622         * plugins/focus.c:
3623         fallback super intelligently with focus when the focused
3624
3625         * kernel/client.c: lock the position/size of maximized windows
3626
3627         * kernel/openbox.c: restart and catch errors appropriately
3628
3629         * kernel/action.c: init the GError to NULL
3630
3631         * kernel/openbox.c: can restart now
3632
3633 2003-03-19  manmower  <manmower@zed>
3634
3635         * render/color.c, render/color.h, render/render.c, render/render.h:
3636         added depth reduction and startup for true color visuals
3637         16bpp should now work
3638
3639 2003-03-19  xor@zed  <xor@zed>
3640
3641         * kernel/openbox.c: restart will work soon
3642
3643         * kernel/client.c: no \n in g_messages
3644
3645         * kernel/event.c: MapRequest needs to activate the window
3646
3647         * plugins/mouse/mouse.c:
3648         dont raise the window on a titlebar drag either
3649
3650         * plugins/mouse/mouse.c: add a drag threshold
3651
3652         * kernel/action.c: snap windows when moving them
3653
3654         * kernel/Makefile.am, kernel/snap.c, kernel/snap.h:
3655         add code for snapping windows to screen edges
3656
3657         * plugins/keyboard/keyboard.c, plugins/mouse/mouse.c:
3658         use the grab.h funcs to grab keys and buttons
3659
3660         * kernel/grab.h: add funcs to grab buttons and keys
3661
3662         * kernel/event.h: export the NumLock and ScrollLock masks
3663
3664         * kernel/event.c: dont need a mask_list here
3665
3666         * kernel/grab.c: grab all lock keys
3667
3668         * plugins/mouse/mouse.c: fewer context lookups
3669
3670         * kernel/event.c: break, dont return
3671
3672         * kernel/event.c: add code to make net_active_window events work
3673
3674         * kernel/action.c, kernel/action.h: add focusraise
3675
3676         * plugins/mouse/mouse.c:
3677         add click on client binding. XAllow when clicking on the client
3678
3679         * kernel/screen.c: put the comment where it belongs
3680
3681         * kernel/screen.c:
3682         on shutdown: destroy the net support window. clear a few more properties we dont want across restart. select NoEventMask on root.
3683
3684         * kernel/focus.c: oops
3685
3686         * kernel/focus.c: destroy the focus_backup
3687
3688         * kernel/screen.c:
3689         erase the openbox_pid hint on the root window when we shutdown
3690
3691         * plugins/focus.c, plugins/mouse/mouse.c:
3692         all the old ob2 mouse bindings are workin
3693
3694         * plugins/mouse/mouse.c: add mbinds for shading windows on the titlebar
3695
3696         * kernel/event.c: ignore !normal crossing events
3697
3698         * plugins/focus.c: simply out the events we dont need no more
3699
3700         * render/render.c: free the right pixel data yay!
3701
3702         * render/render.c: free the pixel data
3703
3704         * kernel/screen.c:
3705         start with 0 desktops, so the focus_order stuff all gets initialized properly
3706
3707         * kernel/focus.c:
3708         the focus_order shit is init'd by the screen_startup setting the number of desktops
3709
3710         * kernel/openbox.c: shutdown everything before closing the display
3711
3712         * render/render.c: can fit on one line
3713
3714         * render/render.c:
3715         initialize texture to NULL if theres no textures. use g_memdup to copy it
3716
3717         * kernel/dispatch.c: comment what funcs is
3718
3719         * kernel/themerc.c: close the channel by unref'ing it
3720
3721         * render/font.c:
3722         kill the const, use g_new instead of malloc, g_free the font in font_close()
3723
3724         * render/font.h: kill the const
3725
3726         * render/font.c: clean up comments regarding alpha
3727
3728         * kernel/client.c:
3729         rm the comments pointer bindings stuff, thats in a plugin now
3730
3731         * kernel/client.c: add new windows to the back of the focus order list
3732
3733         * kernel/client.c, kernel/dispatch.h, kernel/focus.c, kernel/focus.h, kernel/openbox.c, kernel/screen.c, plugins/focus.c:
3734         move the focus_order lists into the kernel
3735
3736         * kernel/action.c, kernel/action.h: add focus actions
3737
3738         * plugins/focus.c: add sloppy focus
3739
3740         * plugins/mouse/mouse.c: end drags
3741
3742         * plugins/mouse/mouse.c: dont clean up nulls
3743
3744         * plugins/keyboard/keyaction.c, plugins/keyboard/keyaction.h:
3745         not using the KeyAction stuff no more
3746
3747         * kernel/action.c, kernel/action.h, kernel/grab.c, plugins/keyboard/Makefile.am, plugins/keyboard/keyboard.c, plugins/keyboard/keyboard.h, plugins/keyboard/translate.c, plugins/keyboard/translate.h, plugins/keyboard/tree.c, plugins/mouse/.cvsignore, plugins/mouse/Makefile.am, plugins/mouse/mouse.c, plugins/mouse/mouse.h, plugins/mouse/translate.c, plugins/mouse/translate.h:
3748         mouse and key bindings plugins work. segfault somewhere still on shutdown
3749
3750         * kernel/openbox.c: reset focus to root before exiting
3751
3752 2003-03-18  xor@zed  <xor@zed>
3753
3754         * plugins/.cvsignore: ignore shit
3755
3756         * configure.ac, plugins/mouse/.cvsignore, plugins/mouse/Makefile.am, plugins/mouse/mouse.c:
3757         add the mouse plugin
3758
3759         * plugins/keyboard/keyboard.c: grab the keyboard not the server!
3760
3761         * plugins/keyboard/keyboard.c: use the grab_server function
3762
3763         * kernel/client.c, kernel/grab.c, kernel/grab.h:
3764         add 'grab_server' for grabbing .. the .. server!
3765
3766         * kernel/Makefile.am, kernel/grab.c, kernel/grab.h, kernel/openbox.c:
3767         provide functions for grabbing and ungrabbing the keyboard and pointer
3768
3769         * plugins/Makefile.am: set the log domain for each plugin properly
3770
3771         * plugins/focus.c:
3772         warp the pointer on a workspace change to the focused window
3773
3774         * kernel/focus.c: kill some whitespace
3775
3776         * kernel/focus.c: kill a comment
3777
3778         * plugins/focus.c: focus fallback works when nothing is focused
3779
3780         * kernel/event.c: dont set the focused client if it's already set
3781
3782         * kernel/focus.c: send the right client for unfocus events
3783
3784         * kernel/focus.c: send unfocus events after focus events
3785
3786         * plugins/Makefile.am: generic domain
3787
3788         * kernel/Makefile.am, kernel/action.c, kernel/action.h, kernel/client.c, kernel/keyboard.c, kernel/openbox.c, kernel/screen.h:
3789         add actions for key/mouse bindings etc
3790
3791         * plugins/keyboard/.cvsignore: add the new objects
3792
3793         * plugins/keyboard/Makefile.am, plugins/keyboard/keyaction.c, plugins/keyboard/keyaction.h, plugins/keyboard/keyboard.c, plugins/keyboard/keyboard.h, plugins/keyboard/translate.c, plugins/keyboard/translate.h, plugins/keyboard/tree.c, plugins/keyboard/tree.h:
3794         keyboard bindings are functional
3795
3796         * configure.ac: dont need process.h, yay glib
3797
3798         * configure.ac: add process.h
3799
3800         * plugins/.cvsignore, plugins/keyboard/.cvsignore: add cvsignores
3801
3802         * configure.ac, kernel/client.c, kernel/client.h, kernel/dispatch.c, kernel/dispatch.h, kernel/engine.c, kernel/focus.c, kernel/openbox.c, kernel/plugin.c, kernel/screen.c, plugins/Makefile.am, plugins/keyboard/Makefile.am, plugins/keyboard/keyboard.c:
3803         add a keyboard plugin
3804
3805         * plugins/focus.c:
3806         focus new windows and focus windows on workspace change
3807
3808         * kernel/Makefile.am, kernel/dispatch.c, kernel/dispatch.h, kernel/engine.c, kernel/engine.h, kernel/openbox.c, kernel/plugin.c, kernel/plugin.h, plugins/Makefile.am, plugins/focus.c:
3809         plugins work.
3810         start a focus plugin.
3811
3812 2003-03-17  xor@zed  <xor@zed>
3813
3814         * render/font.c: dont put \n's at the end of g_message
3815
3816         * kernel/dispatch.c: make sure theres always a client for client events
3817
3818         * kernel/dispatch.h: oops missing a */
3819
3820         * kernel/dispatch.h: fix comments
3821
3822         * kernel/clientwrap.c, kernel/clientwrap.h, kernel/configwrap.c, kernel/configwrap.h, kernel/hooks.c, kernel/hooks.h, kernel/openboxwrap.c, kernel/openboxwrap.h, kernel/python.c, kernel/python.h:
3823         rming almost all the old python stuffs
3824
3825         * kernel/client.c, kernel/dispatch.c, kernel/dispatch.h, kernel/event.c, kernel/focus.c, kernel/openbox.c, kernel/screen.c:
3826         all events are dispatched
3827
3828         * render/font.c: kill the debug print
3829
3830         * plugins/Makefile.am: add the plugins dir
3831
3832         * Makefile.am, configure.ac, kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/dispatch.c, kernel/dispatch.h, kernel/event.c, kernel/focus.c, kernel/openbox.c:
3833         stop using python internally. add an event dispatcher
3834
3835         * DESIGN/plugins_vs_scripting.txt: kill the timestamps
3836
3837         * DESIGN/plugins_vs_scripting.txt: my rant..
3838
3839         * render/font.c, render/font.h, render/render.c:
3840         pass the x,y,w,h to font_draw.
3841         draw the text in the "right" place for now.. no justification yet
3842
3843         * render/font.c, render/render.h:
3844         measure the font's height instead of listening to Xft
3845
3846         * kernel/event.c: dont skip ungrab corssing events
3847
3848 2003-03-17  manmower  <manmower@zed>
3849
3850         * render/gradient.c, render/gradient.h, render/render.c:
3851         solids should now work with offsets
3852
3853         * render/render.c: more random pokery
3854
3855         * render/render.c: either offsets work, or I've broken lots of things.
3856
3857         * render/render.h, render/test.c:
3858         more changes wrt passing x, y, w, h to render
3859
3860         * render/color.c, render/render.c, render/render.h:
3861         paint gets more parameters
3862
3863         * render/render.h: apparently my variable names were too verbose.
3864
3865         * render/render.h: offsets in planar surfaces
3866
3867 2003-03-17  xor@zed  <xor@zed>
3868
3869         * kernel/hooks.c: declare variables first!
3870
3871         * render/color.c: decalre variables before code!
3872
3873         * kernel/client.c, kernel/client.h:
3874         make client_showhide a static function
3875
3876         * kernel/client.c, kernel/client.h, kernel/screen.c:
3877         speed up workspace switching by causing the minimal number of expose events (none for the hiding windows!)
3878
3879         * kernel/engine.c, kernel/engine.h, kernel/event.c:
3880         give engines mouse event notifications. make the openbox engine display pressed buttons
3881
3882 2003-03-17  manmower  <manmower@zed>
3883
3884         * render/render.h: added justification to textureText
3885
3886 2003-03-17  xor@zed  <xor@zed>
3887
3888         * kernel/themerc.c: pixmap button masks work (hardcoded)
3889
3890         * render/mask.h: dont need those includes no more
3891
3892 2003-03-17  manmower  <manmower@zed>
3893
3894         * render/mask.c, render/mask.h, render/render.c:
3895         in keeping with my tradition of committing untested code, here is the
3896         pixmap mask rendering code ported from the old otk dirs
3897
3898         * render/mask.c, render/mask.h, render/render.h:
3899         move pixmap_mask typedef
3900         add stub for draw_mask
3901
3902 2003-03-17  xor@zed  <xor@zed>
3903
3904         * render/mask.c, render/mask.h: add funcs to create/free pixmap_masks
3905
3906         * render/mask.h: add glib.h for guint
3907
3908         * render/mask.h: include Xlib.h for Pixmap
3909
3910         * render/Makefile.am: add mask.[ch]
3911
3912         * render/mask.c, render/mask.h, render/render.h:
3913         add a struct for pixmap masks
3914
3915 2003-03-17  manmower  <manmower@zed>
3916
3917         * render/render.c: hack so text shows up
3918
3919 2003-03-17  xor@zed  <xor@zed>
3920
3921         * render/render.c:
3922         dont delete the pixmap until after changeing the visible one
3923
3924 2003-03-17  manmower  <manmower@zed>
3925
3926         * render/render.c: add missing include, pass right args to font_draw
3927
3928 2003-03-16  manmower  <manmower@zed>
3929
3930         * render/render.c: malloc.  yeah.
3931
3932 2003-03-16  xor@zed  <xor@zed>
3933
3934         * kernel/openbox.c: will draw fonts when stop segging
3935
3936 2003-03-16  manmower  <manmower@zed>
3937
3938         * render/render.c: copy textures in appearance_copy
3939
3940         * render/render.c: try to render fonts
3941         destroy pixmaps and xftdraws in appearance_delete
3942
3943         * render/render.h: font changes
3944
3945         * render/gradient.c: remove printf and stdio.h
3946
3947         * render/font.c: add font_draw
3948
3949         * render/font.h: add font_draw
3950         move font def'n to render.h
3951
3952 2003-03-16  xor@zed  <xor@zed>
3953
3954         * kernel/Makefile.am, kernel/configwrap.c, kernel/configwrap.h, kernel/openbox.c, kernel/pointer.c:
3955         pointer's variables are config vars
3956
3957 2003-03-16  manmower  <manmower@zed>
3958
3959         * render/Makefile.am: font.h and font.c
3960
3961         * kernel/openbox.c: added font_startup
3962
3963         * render/render.h: filled out font texture
3964
3965         * render/font.c, render/font.h: added some font stuff
3966
3967 2003-03-16  xor@zed  <xor@zed>
3968
3969         * themes/.cvsignore, themes/Makefile.am, Makefile.am, README.CVS, bootstrap, configure.ac, doc/Makefile.am, doc/bsetbg.1, doc/bsetroot.1, doc/openbox.1.in, doc/themerc.txt, kernel/.cvsignore, kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/clientwrap.c, kernel/clientwrap.h, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/event.h, kernel/extensions.c, kernel/extensions.h, kernel/focus.c, kernel/focus.h, kernel/frame.c, kernel/frame.h, kernel/geom.h, kernel/gettext.h, kernel/hooks.c, kernel/hooks.h, kernel/keyboard.c, kernel/keyboard.h, kernel/openbox.c, kernel/openbox.h, kernel/openboxwrap.c, kernel/openboxwrap.h, kernel/pointer.c, kernel/pointer.h, kernel/prop.c, kernel/prop.h, kernel/python.c, kernel/python.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, kernel/stacking.h, kernel/themerc.c, kernel/themerc.h, kernel/timer.c, kernel/timer.h, kernel/xerror.c, kernel/xerror.h, m4/openbox.m4, m4/swig.m4, render/.cvsignore, render/Makefile.am, render/color.c, render/color.h, render/font.c, render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
3970         merge the C branch into HEAD
3971
3972         * kernel/openboxwrap.c: add functions for next/previous workspace
3973
3974         * kernel/pointer.c: no segfault with the cleaner code
3975
3976         * kernel/pointer.c: clean up pointer_event a little
3977
3978 2003-03-12  xor@zed  <xor@zed>
3979
3980         * kernel/keyboard.c, render/render.c: blef
3981
3982 2003-03-11  xor@zed  <xor@zed>
3983
3984         * kernel/pointer.c:
3985         fire off pointer events and grabbed events, make work withthe new bindings model
3986
3987 2003-03-08  xor@zed  <xor@zed>
3988
3989         * kernel/keyboard.c: use glib TRUE/FALSE
3990
3991         * kernel/keyboard.c: new keyboard model (the old old one basically..)
3992
3993         * kernel/clientwrap.c: compare 2 clients properly
3994
3995         * kernel/clientwrap.c:
3996         return False when comparing a client to another object type
3997
3998         * kernel/keyboard.c: pass a KeyboardData instead of just the chain
3999
4000         * kernel/keyboard.c: typo in the port to C
4001
4002         * kernel/clientwrap.c: add __eq__ to Client
4003
4004         * kernel/openboxwrap.c: check for desktops out of range
4005
4006         * kernel/client.c:
4007         OMG KILL ME PLZ THAT WAS SO FUCKING STUPID YA LETS USE TRUE AS THE INDEX FUCK YES THATS SO FUCKING BRILLIANT I THINK A MUTINY IS IN ORDER NOW
4008
4009         * kernel/openbox.c: must use a tuple for the argument list
4010
4011         * kernel/clientwrap.c: add the maximized() setMaximized() funcs
4012
4013         * kernel/pointer.c: add the drag threshold
4014
4015         * kernel/clientwrap.c: add Client.close()
4016
4017         * kernel/client.c: keep clients in the right range of desktops
4018
4019         * kernel/client.c: kill debug prints
4020
4021         * kernel/client.c: client_validate should return TRUE sometimes@!(
4022
4023         * kernel/event.c: *** empty log message ***
4024
4025         * kernel/client.c:
4026         position the maximized window so that its client's left edge is at the edge of the screen
4027
4028         * kernel/client.c:
4029         dont resize the client window unless its size changed
4030
4031         * kernel/client.c: dont resize the frame when not needed
4032
4033 2003-03-08  manmower  <manmower@zed>
4034
4035         * render/render.c, render/test.c: solid.
4036
4037 2003-03-08  xor@zed  <xor@zed>
4038
4039         * kernel/openbox.c: start render before the engine
4040
4041 2003-03-08  manmower  <manmower@zed>
4042
4043         * render/gradient.c, render/render.c, render/render.h:
4044         hopefuly pixmap management is improved.
4045
4046         * render/render.c: appearance_copy needs to copy the whole appearance.
4047
4048         * render/render.c: copy the original.  ugh
4049
4050         * render/gradient.c, render/render.c:
4051         fix appearance_copy (check for null colors)
4052
4053         * render/gradient.c, render/render.c, render/render.h:
4054         removed interlace_color
4055         added appearance_copy
4056
4057         * render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
4058         removed w,h from surface struct
4059         it is now passed with paint()
4060
4061 2003-03-08  xor@zed  <xor@zed>
4062
4063         * kernel/geom.h: kill an assert.h include
4064
4065 2003-03-07  manmower  <manmower@zed>
4066
4067         * render/render.c: only free it if I allocated it!
4068
4069         * render/render.c: still retarded
4070
4071         * render/render.c, render/test.c: I hate being retarded
4072
4073         * render/color.c:
4074         color_rgb now reflects the actually color, not requested
4075
4076         * render/color.c, render/color.h:
4077         allocate colors on creation, added .pixel to color_rgb
4078
4079         * render/color.c, render/color.h, render/render.c, render/test.c:
4080         added color_free, made appearance_free use it
4081
4082 2003-03-07  xor@zed  <xor@zed>
4083
4084         * render/color.h: add include for GC
4085
4086         * kernel/Makefile.am: use librender.a
4087
4088         * render/Makefile.am: make a librender.a
4089
4090 2003-03-07  manmower  <manmower@zed>
4091
4092         * render/color.c, render/color.h, render/gradient.c, render/render.c, render/render.h, render/test.c:
4093         added color new/destroy
4094         made color_rgbs in appearance into pointers
4095         updated the rest to follow
4096
4097 2003-03-07  xor@zed  <xor@zed>
4098
4099         * configure.ac: look for ctype.h for toupper
4100
4101         * kernel/themerc.c: use g_build_filename!
4102
4103         * kernel/themerc.c: dont need to check for path being set now
4104
4105         * kernel/engine.c, kernel/openbox.c, kernel/python.c, kernel/themerc.c:
4106         use g_build_filename properly, gotta pass a NULL at the end
4107
4108         * kernel/event.c:
4109         wait for the time until the next timer if there is a timer pending
4110
4111         * kernel/timer.c: if a callback fires, set the wait time to 0
4112
4113         * kernel/Makefile.am: add the render/color.o
4114
4115         * kernel/timer.c: oops stupid c++ iterators messing with me
4116
4117         * kernel/timer.c, kernel/timer.h: New file.
4118
4119         * kernel/Makefile.am, kernel/timer.c, kernel/timer.h: add timers
4120
4121         * kernel/themerc.c: fucked up an error message
4122
4123 2003-03-07  manmower  <manmower@zed>
4124
4125         * render/render.c: XDestroyImage, not Xfree.  stop memleak
4126
4127 2003-03-07  xor@zed  <xor@zed>
4128
4129         * configure.ac: check for sys/time.h
4130
4131 2003-03-07  manmower  <manmower@zed>
4132
4133         * render/color.c, render/color.h, render/font.c: New file.
4134
4135         * render/Makefile.am, render/color.c, render/color.h, render/font.c, render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
4136         it was broken before, it is broken now.
4137
4138 2003-03-07  xor@zed  <xor@zed>
4139
4140         * kernel/engine.c, kernel/python.c, kernel/themerc.c:
4141         build paths properly, and get the home dir properly
4142
4143         * render/test.c: enum changed
4144
4145 2003-03-07  manmower  <manmower@zed>
4146
4147         * render/render.c, render/render.h: added appearance_new/free
4148         changed assert to g_assert
4149         changed enum and struct names to be friendlier
4150
4151 2003-03-07  xor@zed  <xor@zed>
4152
4153         * doc/themerc.txt: add a full example
4154
4155         * doc/themerc.txt: New file.
4156
4157         * doc/themerc.txt: add a doc for the themerc file
4158
4159         * kernel/engine.c, kernel/engine.h, kernel/openbox.c, kernel/themerc.c, kernel/themerc.h:
4160         load the font and titlebarlayout from the themerc
4161
4162         * configure.ac, m4/openbox.m4, m4/swig.m4:
4163         kill old swig shit for the build system. rm the endian check, glib does this
4164
4165         * m4/openbox.m4: dont set crazy mipspro flags.. this is C not C++!
4166
4167         * kernel/themerc.c: read home dir in the right order n shi
4168
4169         * kernel/themerc.c: read the file out of the homedir first
4170
4171         * kernel/themerc.c: print warnings for redefines in the themerc
4172
4173         * kernel/openbox.c, kernel/themerc.c, kernel/themerc.h:
4174         themerc gets parsed
4175
4176         * kernel/themerc.c, kernel/themerc.h: New file.
4177
4178         * kernel/Makefile.am, kernel/engine.c, kernel/engine.h, kernel/openbox.c, kernel/python.c, kernel/themerc.c, kernel/themerc.h:
4179         load the engine before the python
4180
4181         * kernel/client.c: fire the visible hook when requested
4182
4183         * kernel/engine.c, kernel/engine.h, kernel/openbox.c:
4184         rm the engine interface from the python
4185
4186         * kernel/pointer.c: dont let invalid contexts through
4187
4188         * Makefile.am: build render before kernel
4189
4190 2003-03-07  manmower  <manmower@zed>
4191
4192         * render/render.c, render/render.h, render/test.c:
4193         removed a bunch of stuff that the rest of ob3 already does for us
4194         renamed a couple of functions to match the rest of ob3's style
4195
4196 2003-03-07  xor@zed  <xor@zed>
4197
4198         * kernel/client.c: map withdrawn/dock apps
4199
4200         * kernel/Makefile.am: link the .o's instead of building them again
4201
4202 2003-03-06  xor@zed  <xor@zed>
4203
4204         * kernel/openbox.c: startup/shutdown the render stuff
4205
4206         * kernel/Makefile.am: build in the render/ sources
4207
4208         * themes/.cvsignore: New file.
4209
4210         * themes/.cvsignore: ignore new shit
4211
4212         * configure.ac: openbox engine loads a style, well, opens one
4213
4214         * kernel/event.c: catch xkb bell events, fire the hook
4215
4216         * themes/Makefile.am: New file.
4217
4218         * Makefile.am, configure.ac, themes/Makefile.am:
4219         add themes for the openbox engine
4220
4221         * kernel/engine.c: clean up messages
4222
4223         * kernel/engine.c: dont save the internal char*'s
4224
4225         * kernel/pointer.c: allow any context
4226
4227         * render/Makefile.am: render/ doesnt need the locale or script dir
4228
4229         * render/Makefile.am: link in xft and find its headers
4230
4231         * kernel/Makefile.am: link in Xft
4232
4233         * kernel/client.c, kernel/client.h, kernel/screen.c, kernel/stacking.h:
4234         show and hide windows in the order to cause the least expose events
4235
4236         * configure.ac, kernel/Makefile.am, kernel/client.c, kernel/clientwrap.c, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/pointer.c, kernel/stacking.c:
4237         openbox engine works, fuck this tabs shit
4238
4239 2003-03-05  xor@zed  <xor@zed>
4240
4241         * kernel/pointer.c: kill bad return
4242
4243         * kernel/client.c, kernel/clientwrap.c, kernel/frame.c, kernel/frame.h, kernel/pointer.c, kernel/stacking.c:
4244         engines n shit
4245
4246         * kernel/engine.c:
4247         staticify these vars.. they were causing a SIGILL..???!!? i blame gcc..
4248
4249 2003-03-04  xor@zed  <xor@zed>
4250
4251         * kernel/client.c, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/frame.h, kernel/pointer.c, kernel/stacking.c:
4252         allow a frame to have multiple top-level windows. provide functions for getting a clients parent, and all of a frames top-level windows.
4253
4254         * kernel/engine.c, kernel/engine.h: New file.
4255
4256         * configure.ac, kernel/Makefile.am, kernel/client.c, kernel/clientwrap.c, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/openbox.c, kernel/pointer.c:
4257         make the pwm engine "work", however we have a race on startup..
4258
4259         * kernel/Makefile.am: add the enginedir
4260
4261         * kernel/pointer.c: generate release events for client clicks
4262
4263         * kernel/pointer.c:
4264         XAllowEvents when we get one with the client context
4265
4266         * kernel/frame.c: plate is the client context
4267
4268         * kernel/pointer.c: dont let 3 clicks be 2 double clicks
4269
4270         * kernel/hooks.c: kill debug prints
4271
4272         * Makefile.am, configure.ac: add dirs for engines
4273
4274         * configure.ac: kill these dirs not using them
4275
4276 2003-03-04  manmower  <manmower@zed>
4277
4278         * render/.cvsignore: New file.
4279
4280         * render/.cvsignore:
4281         THIS IS MY LOG FILE ENTRY. THERE ARE MANY LIKE IT BUT THIS ONE IS MINE.
4282
4283         * Makefile.am: added render dir
4284
4285         * configure.ac: Added the render directory
4286
4287 2003-03-04  xor@zed  <xor@zed>
4288
4289         * kernel/frame.c: kill debug prints
4290
4291 2003-03-04  manmower  <manmower@zed>
4292
4293         * render/Makefile.am, render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
4294         New file.
4295
4296         * render/Makefile.am, render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
4297         the beginning of the new rendering stuff.
4298
4299 2003-03-04  xor@zed  <xor@zed>
4300
4301         * kernel/frame.c: highlight the focused window
4302
4303         * kernel/pointer.c: cleanuo
4304
4305         * kernel/hooks.c: let hook functions remove themselves
4306
4307         * README.CVS: no mor swig, using C, etc.
4308
4309         * kernel/pointer.c:
4310         some cleanups/reordering. get those events going right.
4311
4312 2003-03-03  xor@zed  <xor@zed>
4313
4314         * kernel/pointer.c: grab all the requested grabs
4315
4316         * kernel/pointer.c: pass along the client's area including the frame!
4317
4318         * kernel/clientwrap.c, kernel/pointer.c: pointer events work for real
4319
4320         * kernel/event.c, kernel/pointer.c, kernel/pointer.h:
4321         pointer events should work
4322
4323         * kernel/keyboard.c, kernel/keyboard.h, kernel/pointer.c, kernel/pointer.h:
4324         New file.
4325
4326         * kernel/Makefile.am, kernel/client.c, kernel/event.c, kernel/hooks.c, kernel/hooks.h, kernel/kbind.c, kernel/kbind.h, kernel/keyboard.c, kernel/keyboard.h, kernel/mbind.c, kernel/mbind.h, kernel/openbox.c, kernel/pointer.c, kernel/pointer.h:
4327         keyboard events work
4328
4329         * kernel/python.c: create the 'input' module
4330
4331         * kernel/clientwrap.c, kernel/openboxwrap.c: add the constants
4332
4333         * kernel/openbox.c, kernel/prop.c, kernel/prop.h:
4334         s/prop_init/prop_startup/
4335
4336         * kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/clientwrap.c, kernel/clientwrap.h, kernel/event.c, kernel/focus.c, kernel/frame.c, kernel/hooks.c, kernel/hooks.h, kernel/openbox.c, kernel/openbox.h, kernel/openboxwrap.c, kernel/openboxwrap.h, kernel/prop.c, kernel/prop.h, kernel/python.c:
4337         Client and Openbox python objects "done"
4338
4339         * kernel/clientwrap.c, kernel/clientwrap.h, kernel/openboxwrap.c, kernel/openboxwrap.h:
4340         New file.
4341
4342 2003-03-02  xor@zed  <xor@zed>
4343
4344         * kernel/client.c: typecast to get the proper aspect ratio
4345
4346 2003-02-28  xor@zed  <xor@zed>
4347
4348         * kernel/Makefile.am: New file.
4349
4350         * Makefile.am, kernel/.cvsignore, kernel/Makefile.am:
4351         add shit that was missing
4352
4353 2003-02-27  xor@zed  <xor@zed>
4354
4355         * kernel/.cvsignore: New file.
4356
4357         * kernel/.cvsignore: add the cvsignore
4358
4359         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/event.h, kernel/extensions.c, kernel/extensions.h, kernel/focus.c, kernel/focus.h, kernel/frame.c, kernel/frame.h, kernel/geom.h, kernel/gettext.h, kernel/hooks.c, kernel/hooks.h, kernel/kbind.c, kernel/kbind.h, kernel/mbind.c, kernel/mbind.h, kernel/openbox.c, kernel/openbox.h, kernel/prop.c, kernel/prop.h, kernel/python.c, kernel/python.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, kernel/stacking.h, kernel/xerror.c, kernel/xerror.h:
4360         New file.
4361
4362         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/event.h, kernel/extensions.c, kernel/extensions.h, kernel/focus.c, kernel/focus.h, kernel/frame.c, kernel/frame.h, kernel/geom.h, kernel/gettext.h, kernel/hooks.c, kernel/hooks.h, kernel/kbind.c, kernel/kbind.h, kernel/mbind.c, kernel/mbind.h, kernel/openbox.c, kernel/openbox.h, kernel/prop.c, kernel/prop.h, kernel/python.c, kernel/python.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, kernel/stacking.h, kernel/xerror.c, kernel/xerror.h:
4363         add the 'kernel' based on what's in c/. improved the Hook class for the hooks python module.
4364
4365         * Makefile.am, bootstrap, configure.ac, doc/Makefile.am:
4366         updated interface completed hooks and keyboard/pointer
4367
4368 2003-02-24  xor@zed  <xor@zed>
4369
4370         * doc/bsetbg.1, doc/bsetroot.1, doc/openbox.1.in: old out-of-date files
4371
4372 2003-02-22  xor@zed  <xor@zed>
4373
4374         * configure.ac: rm the swig shit
4375
4376         * configure.ac: fixups
4377
4378         * m4/openbox.m4: got my warnings i want
4379
4380         * m4/openbox.m4:
4381         python events en masse!! also, make it look for GCC not GXX now..
4382
4383 2003-02-21  xor@zed  <xor@zed>
4384
4385         * configure.ac, m4/openbox.m4: new smarts for swig
4386
4387         * Makefile.am, configure.ac, m4/openbox.m4:
4388         setup autotools build for C shit
4389
4390 2003-02-19  xor@zed  <xor@zed>
4391
4392         * AUTHORS: nick's no longer the site designer
4393
4394         * README: add mention of being OSI Certified Open Source Software
4395
4396         * CHANGELOG: add mention of the new es_AR translations
4397
4398 2003-02-16  xor@zed  <xor@zed>
4399
4400         * CHANGELOG: add the new german translations
4401
4402         * tools/obsetroot.cc: rm the warnings for now
4403
4404 2003-02-14  xor@zed  <xor@zed>
4405
4406         * tools/Makefile.am, tools/obsetroot.cc, Makefile.am, configure.ac, tools/.cvsignore:
4407         Add the "obsetroot" tool. Use it to set the root background.
4408
4409         * configure.in: call CHECK_FUNCS in C mode
4410
4411 2003-02-11  xor@zed  <xor@zed>
4412
4413         * .cvsignore: add ABOUT-NLS
4414
4415         * tests/.cvsignore: add the icons app
4416
4417         * tests/icons.c, tests/icons.cpp: make the icons program a C app.
4418
4419         * tests/icons.cpp: add an app to display the icons for a window
4420
4421 2003-02-10  xor@zed  <xor@zed>
4422
4423         * configure.in: require autoconf 2.5x
4424
4425 2003-02-09  xor@zed  <xor@zed>
4426
4427         * README.CVS: mention that 2.9x is not supported
4428
4429         * configure.ac: use the c++ std cheaders
4430
4431 2003-02-06  xor@zed  <xor@zed>
4432
4433         * AUTHORS: move marius from active developers to contributors :\
4434
4435         * Makefile.am, data/Makefile.am:
4436         make "make dist" work, compiler flags cleanups
4437
4438 2003-02-06  woodblock  <woodblock@zed>
4439
4440         * configure.in: Back port fixes from TESTING branch
4441
4442         * CHANGELOG: Updated changelog for 2.2.4 release
4443
4444 2003-02-05  xor@zed  <xor@zed>
4445
4446         * ABOUT-NLS, INSTALL, Makefile.am: rm this thing
4447
4448         * configure.ac, data/Makefile.am, doc/Makefile.am, m4/swig.m4, m4/x11.m4:
4449         new swig build system. much better. yay.
4450
4451         * README.CVS: you need swig at least 1.3.14
4452
4453         * README.CVS: require automake 1.7.1 for py-compile
4454
4455         * Makefile.am, configure.ac: dont make wrap a subdir of otk
4456
4457         * m4/openbox.m4: give output when building a cvs release
4458
4459         * configure.ac, m4/python.m4:
4460         move the otk swig module into its own lib/directory
4461
4462         * .cvsignore: add py-compile
4463
4464         * doc/doxygen/.cvsignore: ignore the latex dir
4465
4466         * README.CVS: mention the swig wrapper warnings
4467
4468         * doc/doxygen/Makefile.am, doc/doxygen/comments, doc/doxygen/doxygen.conf.in:
4469         add latex to the doc build process. fix namespace comments again.
4470
4471         * doc/doxygen/comments: fix up the otk description
4472
4473         * CHANGELOG.Blackbox, CHANGELOG.bsetbg, README.bbtools, README.bsetbg:
4474         remove docs from old blackbox
4475
4476         * doc/doxygen/doxygen.conf.in: ignore the wrappers
4477
4478         * doc/doxygen/doxygen.conf: not needed, the .in is commited
4479
4480 2003-02-04  woodblock  <woodblock@zed>
4481
4482         * CHANGELOG: updated changelog
4483
4484 2003-02-03  woodblock  <woodblock@zed>
4485
4486         * doc/openbox.1.in: documentation update
4487
4488         * doc/openbox.1.in: update documentation
4489
4490         * CHANGELOG, configure.in: Version bump
4491
4492 2003-02-03  xor@zed  <xor@zed>
4493
4494         * tests/.cvsignore: ignore the bins
4495
4496         * tests/Makefile, tests/aspect.c, tests/fullscreen.c, tests/grav.c, tests/modal.c, tests/modal2.c, tests/modal3.c, tests/urgent.c:
4497         add some tests
4498
4499 2003-02-03  woodblock  <woodblock@zed>
4500
4501         * CHANGELOG: Updated changelog for shaded window bug fix
4502
4503 2003-02-01  xor@zed  <xor@zed>
4504
4505         * README.CVS: add comment for configuration
4506
4507 2003-02-01  woodblock  <woodblock@zed>
4508
4509         * CHANGELOG: Fixed the image cache when dealing with borders.
4510
4511 2003-02-01  xor@zed  <xor@zed>
4512
4513         * README.CVS: note about automake
4514
4515 2003-01-29  xor@zed  <xor@zed>
4516
4517         * configure.ac: check for endian order
4518
4519         * po/POTFILES.in: update the list of src files with translations.
4520
4521         * data/Makefile.am: include shit in the dist
4522
4523         * doc/Makefile.am: include the openbox.1.in in the dist
4524
4525         * Makefile.am: remove LICENSE from the dist files
4526
4527         * doc/doxygen/Makefile.am: make the echo more noticable
4528
4529         * doc/doxygen/Makefile.am: make pwd work
4530
4531         * doc/doxygen/Makefile.am:
4532         echo a message about where to find the generated docs
4533
4534         * doc/doxygen/doxygen.conf: add the doxygen configuration
4535
4536         * README.CVS: give the debian pkg names
4537
4538 2003-01-28  xor@zed  <xor@zed>
4539
4540         * README.CVS: add version for automake
4541
4542 2003-01-27  xor@zed  <xor@zed>
4543
4544         * README.CVS: use a built-in module to replace libswigpy
4545
4546 2003-01-24  xor@zed  <xor@zed>
4547
4548         * DESIGN/glue.dia:
4549         add some design ideas for a glue layer between the wm and the scripts
4550
4551         * README.CVS: add all teh steps
4552
4553         * README.CVS: add instructions for CVS compiling
4554
4555 2003-01-22  xor@zed  <xor@zed>
4556
4557         * m4/openbox.m4: REMOVE -fno-rtti. we use that!
4558
4559         * m4/openbox.m4: -fno-rtti as in cxxflags too!
4560
4561         * m4/openbox.m4: fix the stupid spelling
4562
4563         * m4/openbox.m4: add -fno-check-new -fno-execptions to the g++ cxxflags
4564
4565 2003-01-20  xor@zed  <xor@zed>
4566
4567         * DESIGN/render.dia: remove the XImage from Surface
4568
4569         * AUTHORS: new authors. this is how we dooo iiiit...
4570
4571 2003-01-18  xor@zed  <xor@zed>
4572
4573         * DESIGN/ob3arch.png, DESIGN/render.dia, DESIGN/roadmap, DESIGN/thoughts:
4574         add DESIGN from the openbox3 repository. add to that the render.dia, a design diagram for the new render code
4575
4576 2003-01-17  xor@zed  <xor@zed>
4577
4578         * README: state the license. killall the old readme data
4579
4580 2003-01-16  xor@zed  <xor@zed>
4581
4582         * m4/python.m4: use -export-dynamic when linking libpython.a
4583
4584 2003-01-14  xor@zed  <xor@zed>
4585
4586         * m4/x11.m4: add comment
4587
4588         * m4/x11.m4: check for XftGetVersion
4589
4590         * configure.ac: rm the util directory
4591
4592 2003-01-13  xor@zed  <xor@zed>
4593
4594         * m4/openbox.m4: keep the asserts for !debug builds..
4595
4596         * configure.ac: begin conversion to ustring. add some more members.
4597
4598 2003-01-12  xor@zed  <xor@zed>
4599
4600         * LICENSE: omg im relicensing this shit as gpl. nobody hurt me.
4601
4602         * m4/python.m4: dont show find errors
4603
4604         * CHANGELOG: my utf shit for the titlebars and toolbar
4605
4606 2003-01-11  xor@zed  <xor@zed>
4607
4608         * configure.ac: rm a blank line at the end
4609
4610         * configure.ac: add some more AC stuff
4611
4612         * m4/python.m4: used old vars
4613
4614         * m4/openbox.m4: caps
4615
4616         * configure.ac, m4/openbox.m4:
4617         caps for giving the build target. show it at the end
4618
4619         * configure.ac: better ordering.. define te version before using it
4620
4621         * m4/openbox.m4: check for cvs in the version properly
4622
4623         * configure.ac: no caps in the package name!
4624
4625         * m4/openbox.m4: cvs builds are always debug
4626
4627         * m4/python.m4: use the right lib
4628
4629         * m4/openbox.m4, m4/python.m4, m4/x11.m4:
4630         my newer better autoconf functions. woowoo
4631
4632         * m4/.cvsignore: adding my autoconf functions. woowoo
4633
4634         * .cvsignore, bootstrap, configure.ac, version.h.in:
4635         new autoconf shit woowoo
4636
4637         * m4/x11.m4: add X_DEVEL and XFT_DEVEL m4 functions
4638
4639         * m4/openbox.m4: create OB_DEBUG and OB_COMPILER_FLAGS m4 functionc
4640
4641         * m4/python.m4: check for the python cflags and libs
4642
4643 2003-01-09  xor@zed  <xor@zed>
4644
4645         * configure.ac: use default prefix.
4646         better python library checks.
4647
4648 2003-01-04  xor@zed  <xor@zed>
4649
4650         * Makefile.am, configure.ac, data/Makefile.am, doc/Makefile.am:
4651         add buttons to the tree.rm stupid comments in Makefile.ams
4652
4653         * doc/Makefile.am, doc/xftlsfonts.1: rm the xftlsfonts manpage
4654
4655         * CHANGELOG: add proper whitespace
4656
4657         * configure.ac: line up text in --help
4658
4659 2003-01-04  manmower  <manmower@zed>
4660
4661         * configure.ac: Check for XKB extension
4662
4663 2003-01-01  woodblock  <woodblock@zed>
4664
4665         * CHANGELOG: Documented sendToWorkspace addition
4666
4667 2002-12-28  xor@zed  <xor@zed>
4668
4669         * bootstrap: add --force for autopoint
4670
4671 2002-12-26  xor@zed  <xor@zed>
4672
4673         * .cvsignore, po/.cvsignore: add newish stuff
4674
4675         * Makefile.am, bootstrap, configure.ac: better support for gettext
4676
4677         * config.rpath: removing generated file
4678
4679         * bootstrap: add gettextize here
4680
4681         * po/Makevars: readd Makevars
4682
4683         * po/LINGUAS, po/Makefile.in.in, po/Makevars, po/Makevars.template, po/Rules-quot, po/boldquot.sed, po/en@boldquot.header, po/en@quot.header, po/insert-header.sin, po/quot.sed, po/remove-potcdate.sin:
4684         remove shit generated by gettextize
4685
4686         * m4/.cvsignore, m4/Makefile.am, m4/codeset.m4, m4/gettext.m4, m4/glibc21.m4, m4/iconv.m4, m4/intdiv0.m4, m4/inttypes-pri.m4, m4/inttypes.m4, m4/inttypes_h.m4, m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4, m4/progtest.m4, m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4:
4687         make bootstrap generate this shit
4688
4689 2002-12-25  xor@zed  <xor@zed>
4690
4691         * configure.ac: conflicts with python too :\
4692
4693         * configure.ac:
4694         no -pedantic :\ it fucks up on the python headers. sigh.
4695
4696         * configure.ac: set CXXFLAGS better
4697
4698         * Makefile.am, configure.ac:
4699         global python scripts. client motion/resizing is all done via python now
4700
4701 2002-12-24  xor@zed  <xor@zed>
4702
4703         * configure.ac: python. no more guile. python.
4704
4705         * CHANGELOG: add changelog for the netwm iconic windows bugfix
4706
4707         * configure.in: up version for next release
4708
4709 2002-12-23  xor@zed  <xor@zed>
4710
4711         * configure.ac: using python and swig for now.
4712
4713 2002-12-19  xor@zed  <xor@zed>
4714
4715         * configure.ac: python has begun!
4716
4717         * configure.ac: check for python. not for guile.
4718
4719 2002-12-18  xor@zed  <xor@zed>
4720
4721         * configure.ac: guileize
4722
4723         * .cvsignore: add stuff i rm'd from cvs
4724
4725         * doc/doxygen/comments: erm
4726
4727 2002-12-13  xor@zed  <xor@zed>
4728
4729         * Makefile.am: dist the bootstrap file for package maintainers
4730
4731 2002-12-11  xor@zed  <xor@zed>
4732
4733         * mkinstalldirs: autogenned
4734
4735         * bootstrap: add --copy
4736
4737         * install-sh, missing: autogenned
4738
4739         * install-sh, missing, mkinstalldirs: this is genned bya automake
4740
4741 2002-12-10  xor@zed  <xor@zed>
4742
4743         * CHANGELOG: fix for installation of pl locale
4744
4745         * configure.in: up the version
4746
4747 2002-12-09  xor@zed  <xor@zed>
4748
4749         * CHANGELOG: work when strftime is not found
4750
4751 2002-12-08  xor@zed  <xor@zed>
4752
4753         * doc/Makefile.am:
4754         dont install the xftlsfonts manpage if we didnt build xftlsfonts
4755
4756 2002-12-07  xor@zed  <xor@zed>
4757
4758         * .cvsignore: add depcomp
4759
4760         * Makefile.am: include depcomp in make dist
4761
4762         * bootstrap: copy, dont link
4763
4764         * configure.in: 2.2.2 release
4765
4766 2002-12-03  xor@zed  <xor@zed>
4767
4768         * configure.ac: better xft checks. require xft version 2
4769
4770         * configure.in: reset the xft flags if it fails
4771
4772         * configure.in: link in xft only where appropriate
4773
4774         * configure.in: restore the CXXFLAGS/LIBS
4775
4776         * configure.in: more verbose, and better checks for Xft version 2/1
4777
4778         * configure.in:
4779         better checks for Xft version 2/1 and more verbose warning if it fails
4780
4781         * po/POTFILES.in: xft2 works. and works good.
4782
4783 2002-11-28  xor@zed  <xor@zed>
4784
4785         * CHANGELOG: change grammar or somesuch..
4786
4787 2002-11-28  woodblock  <woodblock@zed>
4788
4789         * CHANGELOG:
4790         Added an option to disable the window raise on alt-click. fonk.
4791
4792 2002-11-26  xor@zed  <xor@zed>
4793
4794         * configure.in: had an extra ; that snuck in. i blame the commies
4795
4796 2002-11-20  xor@zed  <xor@zed>
4797
4798         * data/Makefile.am:
4799         addd more stuff to EXTRA_DIST. all the headers for instance
4800
4801         * Makefile.am, doc/Makefile.am:
4802         add EXTRA_DIST tags all over to make 'make dist' possible
4803
4804         * CHANGELOG: doc the change in configure for xft2
4805
4806         * CHANGELOG, configure.in, data/Makefile.am:
4807         add bitmap buttons, and put support for them in all the default styles
4808
4809         * configure.in: fix the []'s in the outputs
4810
4811         * CHANGELOG: fix menu redraw bug for real
4812
4813         * CHANGELOG: fix the mozilla crash from the default premax being 0
4814
4815 2002-11-19  xor@zed  <xor@zed>
4816
4817         * .cvsignore: more ignore fodder
4818
4819 2002-11-15  xor@zed  <xor@zed>
4820
4821         * configure.in: cleaner
4822
4823 2002-11-14  xor@zed  <xor@zed>
4824
4825         * bootstrap: add libtoolize
4826
4827 2002-11-13  xor@zed  <xor@zed>
4828
4829         * CHANGELOG: fix for windows changing from non-resizable to resizable
4830
4831         * CHANGELOG: add fix for clients making themselves resizable
4832
4833 2002-11-11  xor@zed  <xor@zed>
4834
4835         * configure.ac: mad wicked xft checks
4836
4837         * configure.ac: look for xft
4838
4839         * configure.in: do tests using c++
4840
4841         * configure.in: dont build xftlsfonts when no xft found or xft2 found
4842
4843         * configure.in: support for Xft2!
4844
4845 2002-11-10  xor@zed  <xor@zed>
4846
4847         * po/POTFILES.in: cleanups.
4848         OBScreen almost ready for some action
4849
4850         * configure.ac: support for the shape extension works!
4851
4852 2002-11-07  xor@zed  <xor@zed>
4853
4854         * bootstrap: reverse the automake/autoconf order.. for fun
4855
4856 2002-11-06  xor@zed  <xor@zed>
4857
4858         * doc/openbox.1.in: s/@VERSION@/@version@/
4859
4860         * doc/openbox.1.in: s/@VERSION@/@version/
4861
4862         * po/POTFILES.in: moving strut into its own .hh. adding OBClient class
4863
4864 2002-11-05  xor@zed  <xor@zed>
4865
4866         * doc/doxygen/Makefile.am, doc/doxygen/comments, doc/doxygen/doxygen.conf.in:
4867         updated doxygen documentation
4868
4869         * doc/openbox.1.in: make urls bold
4870
4871         * doc/openbox.1.in:
4872         fixes for menu doc. we dont have a menuFile in the rc anymore!
4873         also fix urls
4874
4875         * doc/openbox.1.in: fix so url shows up
4876
4877         * doc/openbox.1.in:
4878         we dont have menuFormat in the resource file anymore
4879
4880 2002-11-04  xor@zed  <xor@zed>
4881
4882         * doc/doxygen/doxygen.conf.in: make doxygen skip stuff inside
4883         #ifndef DOXYGEN_IGNORE
4884         #endif
4885         blocks
4886
4887         * doc/doxygen/doxygen.conf.in: documenting classes!
4888
4889         * doc/doxygen/doxygen.conf.in, doc/doxygen/style.css:
4890         not using a custom stlyesheet anymore
4891
4892         * Makefile.am, TODO, configure.ac, doc/Makefile.am, doc/doxygen/.cvsignore, doc/doxygen/Makefile.am, doc/doxygen/doxygen.conf.in, doc/doxygen/style.css:
4893         add doxygen to the project. 'make doc' builds the doxygen stuff. you need doxygen and graphviz installed to generate it properly
4894
4895 2002-11-03  xor@zed  <xor@zed>
4896
4897         * CHANGELOG, configure.in:
4898         stop using the Utf8 functions for drawing Xft fonts
4899
4900         * CHANGELOG, configure.in:
4901         stop using the Xft Utf8 functions. They break the non-english locales.
4902
4903         * CHANGELOG: typo-typo
4904
4905         * CHANGELOG: typo
4906
4907         * Makefile.am:
4908         new timer infrastructure. takes a function pointer for the timeout, with a void* parameter (useful for holding a class instance!)
4909
4910         * po/POTFILES.in:
4911         WE DONT USE BASE DISPLAY FOR ANYTHING ANY MORE!!@^!*@*!! YAY
4912
4913 2002-11-02  xor@zed  <xor@zed>
4914
4915         * TODO: updated with goals for 3.0
4916
4917         * Makefile.am: not using admin/ dir anymore
4918
4919         * mkinstalldirs, po/.cvsignore: stupid stuff
4920
4921 2002-11-01  xor@zed  <xor@zed>
4922
4923         * configure.ac: put 'cvs' in the version tag
4924
4925         * m4/.cvsignore, po/.cvsignore: add cvs ignores for the new dirs
4926
4927         * m4/Makefile, m4/Makefile.in, Makefile.am, configure.ac, mkinstalldirs:
4928         make gettext better. updates for autoconf
4929
4930         * m4/Makefile, po/LINGUAS: dont have any languages yet
4931
4932         * ABOUT-NLS, COPYING, configure.ac: add some text files..
4933         dont have our own libintl
4934
4935         * Makefile.am, config.rpath, configure.ac, m4/Makefile, m4/Makefile.am, m4/Makefile.in, m4/codeset.m4, m4/gettext.m4, m4/glibc21.m4, m4/iconv.m4, m4/intdiv0.m4, m4/inttypes-pri.m4, m4/inttypes.m4, m4/inttypes_h.m4, m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4, m4/progtest.m4, m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4, mkinstalldirs, po/LINGUAS, po/Makefile.in.in, po/Makevars, po/Makevars.template, po/POTFILES.in, po/Rules-quot, po/boldquot.sed, po/en@boldquot.header, po/en@quot.header, po/insert-header.sin, po/quot.sed, po/remove-potcdate.sin:
4936         add gettext
4937         change CXXFLAGS back to CPPFLAGS in the .am's
4938
4939         * configure.ac: update configure.ac to newer rules
4940
4941         * .cvsignore: libtool stuff
4942
4943 2002-11-01  marius  <marius@zed>
4944
4945         * configure.ac: toolkit addition
4946
4947         * Makefile.am: changed for toolkit
4948
4949 2002-11-01  xor@zed  <xor@zed>
4950
4951         * install-sh, missing, mkinstalldirs:
4952         these files are generated by bootstrap
4953
4954         * CHANGELOG, configure.in: merge in changes in the 2_1 branch
4955
4956         * CHANGELOG, configure.in: make multibyte fonts the right size
4957
4958 2002-10-31  xor@zed  <xor@zed>
4959
4960         * configure.ac: look for a CC to make automake happy
4961
4962         * configure.ac, configure.in: configure script changed to .ac
4963
4964         * Makefile.am: compiles now. uses xft2
4965         remove the nls remainders
4966
4967 2002-10-19  woodblock  <woodblock@zed>
4968
4969         * configure.in: bumped up version
4970
4971 2002-10-05  xor@zed  <xor@zed>
4972
4973         * CHANGELOG: changes for openbox 2.1.2
4974
4975 2002-10-04  woodblock  <woodblock@zed>
4976
4977         * CHANGELOG: tyop
4978
4979         * CHANGELOG: documentation for 2.2
4980
4981         * CHANGELOG: updated changelog for 2.2 release
4982
4983         * doc/openbox.1.in:
4984         added documentation for the pressed focus/unfocus and fixed some minor
4985         formatting errors
4986
4987 2002-10-01  woodblock  <woodblock@zed>
4988
4989         * AUTHORS, CHANGELOG, CHANGELOG.Blackbox, configure.in:
4990         merged with 2_1-merged-to-HEAD-2002-09-30
4991
4992 2002-09-24  xor@zed  <xor@zed>
4993
4994         * configure.in: up the version for the next future release
4995
4996 2002-09-23  xor@zed  <xor@zed>
4997
4998         * configure.in:
4999         look for XftDrawStringUtf8 in libXft.so and set a configure variable based on whether it exists in the library (it doesnt on redhat 7.1)
5000
5001 2002-09-22  xor@zed  <xor@zed>
5002
5003         * CHANGELOG: capitals
5004
5005         * configure.in: up version for the release
5006
5007         * CHANGELOG: add 2.1.1 changes
5008
5009 2002-09-17  woodblock  <woodblock@zed>
5010
5011         * doc/openbox.1.in: Added titlebar layout documentation
5012
5013 2002-09-16  xor@zed  <xor@zed>
5014
5015         * AUTHORS, CHANGELOG.Blackbox, configure.in: sync with bb 65-pre2
5016
5017 2002-09-16  woodblock  <woodblock@zed>
5018
5019         * configure.in: fixed tyop
5020
5021 2002-09-15  woodblock  <woodblock@zed>
5022
5023         * doc/openbox.1.in: Documented bitmap buttons in manpage
5024
5025 2002-09-14  woodblock  <woodblock@zed>
5026
5027         * configure.in:
5028         added a configure flag for enabling/disabling bitmap buttons
5029
5030         * CHANGELOG, configure.in: bumped up version number after bitmap merge
5031
5032         * CHANGELOG: merged bitmap buttons
5033
5034 2002-09-11  woodblock  <woodblock@zed>
5035
5036         * .cvsignore, CHANGELOG: sync with HEAD
5037         added checkmark bitmaps with menu.selected.mask:
5038
5039 2002-09-11  xor@zed  <xor@zed>
5040
5041         * CHANGELOG: alt-rightclick resizing fix
5042
5043 2002-09-09  xor@zed  <xor@zed>
5044
5045         * .cvsignore: add autom4te.cache
5046
5047 2002-09-09  woodblock  <woodblock@zed>
5048
5049         * CHANGELOG: merged with HEAD
5050
5051 2002-09-09  xor@zed  <xor@zed>
5052
5053         * CHANGELOG: add drop shadows
5054
5055 2002-09-05  xor@zed  <xor@zed>
5056
5057         * CHANGELOG: state gnome 2 support
5058
5059 2002-09-04  xor@zed  <xor@zed>
5060
5061         * CHANGELOG: gnoem2 fixes for taskbar
5062
5063         * CHANGELOG: new border code
5064
5065 2002-09-03  xor@zed  <xor@zed>
5066
5067         * CHANGELOG: add woodblock's sticky button shit
5068
5069 2002-08-31  xor@zed  <xor@zed>
5070
5071         * AUTHORS, configure.in, doc/bsetbg.1: sync with the 2.0 branch
5072
5073         * AUTHORS, CHANGELOG, CHANGELOG.Blackbox, configure.in, doc/bsetbg.1, version.h.in:
5074         sync with bb-cvs
5075
5076 2002-08-27  xor@zed  <xor@zed>
5077
5078         * CHANGELOG: systray windows fix
5079
5080         * CHANGELOG: latest changessssshape changes, give vR credit
5081
5082 2002-08-26  xor@zed  <xor@zed>
5083
5084         * AUTHORS, CHANGELOG.Blackbox, configure.in: sync with bb-cvs
5085
5086 2002-08-25  xor@zed  <xor@zed>
5087
5088         * CHANGELOG: config request with only resize honors window's gravity
5089
5090         * CHANGELOG: add recent fixes
5091
5092 2002-08-22  xor@zed  <xor@zed>
5093
5094         * version.h.in: s/__openbox_version/OPENBOX_VERSION
5095
5096         * AUTHORS, CHANGELOG.Blackbox, configure.in: sync with bb-cvs
5097
5098         * configure.in: 2.1.0 is our next target
5099
5100 2002-08-21  xor@zed  <xor@zed>
5101
5102         * CHANGELOG: warping is ruling!
5103
5104 2002-08-20  xor@zed  <xor@zed>
5105
5106         * CHANGELOG: Fix send to menu, having deleted workspaces in it.
5107         Fix workspace warping, move the mouse and window the same amount.
5108         Fix workspace switching. Put old code back that worked better.
5109
5110 2002-08-16  xor@zed  <xor@zed>
5111
5112         * AUTHORS: fix indenting and caps
5113
5114         * doc/openbox.1.in: mention epist with bbkeys
5115
5116         * doc/openbox.1.in: add epist and xftlsfonts in teh see also.
5117         s/BLACK/OPEN/
5118
5119         * doc/xftlsfonts.1, doc/Makefile.am:
5120         add manpages for epist and for xftlsfonts
5121
5122 2002-08-15  xor@zed  <xor@zed>
5123
5124         * AUTHORS: authors updates
5125
5126         * CHANGELOG: caps
5127
5128         * data/README.menu: s/black/open
5129
5130         * AUTHORS: new 2.0 authors/contributors
5131
5132         * CHANGELOG: add all the changes made for 2.0.0 to the changelog
5133
5134         * CHANGELOG.Blackbox, CHANGELOG.bsetbg: sync with bb-cvs
5135
5136 2002-08-02  xor@zed  <xor@zed>
5137
5138         * bootstrap: try make bootstrap work in one pass for other people..
5139
5140         * configure.in: make xft support default on
5141
5142 2002-07-26  xor@zed  <xor@zed>
5143
5144         * configure.in: sync with bb-cvs
5145
5146 2002-07-21  xor@zed  <xor@zed>
5147
5148         * configure.in:
5149         add Xft-build-support and Xinerama-build-support to the -help output
5150         add --enable-xinerama to configure
5151
5152         * configure.in: sync with bb-cvs.
5153         Add option in config menu for disabling mouse input with scroll lock.
5154         Remove compile-time flag for event clobbering since this solves that problem for now.
5155
5156 2002-07-20  xor@zed  <xor@zed>
5157
5158         * .cvsignore: add some cvsignore's
5159
5160         * configure.in: add no_NO and ro_RO translations
5161
5162 2002-07-18  xor@zed  <xor@zed>
5163
5164         * TODO:
5165         updated todo. took out things we have done. added new goal for 3.0.
5166
5167 2002-07-16  xor@zed  <xor@zed>
5168
5169         * TODO: adjust goals for 2.0
5170
5171         * configure.in: screw that change. the next releaase will be 2.0.0!
5172
5173         * configure.in:
5174         change the version number back a bit. preparing for a testing release.
5175
5176 2002-07-11  xor@zed  <xor@zed>
5177
5178         * configure.in: adding epist!
5179
5180         * configure.in: -fno-inline when compiling in debug mode
5181
5182 2002-07-10  xor@zed  <xor@zed>
5183
5184         * config.h.in, aclocal.m4: regerenated fiels
5185
5186 2002-07-08  xor@zed  <xor@zed>
5187
5188         * configure.in: add the korean translation dir to configure
5189
5190 2002-07-07  xor@zed  <xor@zed>
5191
5192         * configure.in: make the Xft check actually work
5193
5194         * configure.in: make Xft default to off, you have ot --enable-xft now
5195
5196 2002-07-03  xor@zed  <xor@zed>
5197
5198         * configure.in: look for the rigt function in the libxft
5199
5200         * configure.in: add BFont class, with Xft support
5201
5202 2002-06-22  xor@zed  <xor@zed>
5203
5204         * ChangeLog:
5205         fix resizing bug where windows would be resized smaller than they were supposed to be
5206
5207         * doc/Makefile.in, data/Makefile.in, CHANGELOG, Makefile.in, config.h.in:
5208         add changelog entry for resize bug fix
5209
5210 2002-06-20  xor@zed  <xor@zed>
5211
5212         * CHANGELOG: fix redraw problem when resizing a window
5213
5214 2002-06-14  xor@zed  <xor@zed>
5215
5216         * CHANGELOG: add numbers for next version
5217
5218         * configure.in, configure: increment the version for next release
5219
5220 2002-06-08  xor@zed  <xor@zed>
5221
5222         * configure.in, configure: add -fno-inline for debug builds!
5223
5224         * CHANGELOG: dont let setState() screw with the window mapping process.
5225
5226 2002-06-07  xor@zed  <xor@zed>
5227
5228         * CHANGELOG:
5229         windows which requested to be iconic + sticky/maximized at startup would randomly not be iconified when they were mapped because the current_state variable was left uninitialzied. Initiailizing it to WithdrawnState (0) fixes this problem.
5230
5231         * configure: update the version number by running autoconf
5232
5233 2002-06-06  xor@zed  <xor@zed>
5234
5235         * CHANGELOG: add window-to-window and window-corner snapping.
5236
5237         * CHANGELOG:
5238         more sticky windows fix. bbkeys ended up thinkng an extra window was left when removing a sticky window. fixed! AT LAST
5239
5240 2002-06-05  xor@zed  <xor@zed>
5241
5242         * CHANGELOG:
5243         last two changes: windows starting sticky. focus te root window, not PointerRoot.
5244
5245         * configure.in: increment version for next release
5246
5247         * CHANGELOG:
5248         reset cascade when a workspace has no non-sticky windows left on it.
5249         ignore fully maximized windows while placing.
5250
5251         * doc/Makefile.am, data/Makefile.am, Makefile.am:
5252         syching with bb-cvs. rm .\#* on make dist-clean. nls updates.
5253
5254 2002-06-04  xor@zed  <xor@zed>
5255
5256         * data/README, README: documentation fixups
5257
5258         * data/README, README: documentation fixes
5259
5260         * CHANGELOG: GIVING UP ON STICKY FUCKING CHRIST AARRGGH
5261
5262 2002-06-03  xor@zed  <xor@zed>
5263
5264         * CHANGELOG:
5265         change cascade behavior so it resets when the workspace is emptied and so it starts in 1 placement.
5266
5267         * CHANGELOG: add fix for bsetroot's support of the esetroot atom
5268
5269         * CHANGELOG:
5270         save the current root menu position to an unlimited depth instead of the current 1.
5271
5272 2002-06-02  xor@zed  <xor@zed>
5273
5274         * CHANGELOG: last 2 buig fixes
5275
5276         * CHANGELOG: fix crash when mapping an iconified window
5277
5278 2002-05-29  xor@zed  <xor@zed>
5279
5280         * doc/openbox.1.in: put webpage in the man page. Also, a couple fixes.
5281
5282 2002-05-28  xor@zed  <xor@zed>
5283
5284         * configure.in: updated nls to use openbox.cat
5285
5286         * doc/.cvsignore, data/.cvsignore, .cvsignore:
5287         adding .cvsignore files to the repository to clean up the output whenever you commit some sort of cvs action
5288
5289         * configure.in:
5290         use config.h for configuration options instead of a bunch of -D's on the compile command lines
5291
5292 2002-05-26  cvs  <cvs@zed>
5293
5294         * configure, configure.in: increment version for next release
5295
5296         * doc/Makefile.in, data/Makefile.in, configure.in, Makefile.in, configure:
5297         incrementing version for next release
5298
5299         * CHANGELOG: better description of chages to sticky windows
5300
5301 2002-05-25  xor@zed  <xor@zed>
5302
5303         * bootstrap, configure.ac, configure.in:
5304         using configure.ac causes problems. switching back to configure.in
5305
5306 2002-05-24  xor@zed  <xor@zed>
5307
5308         * configure.in, stamp-h.in, BUGS, CodingStyle, Makefile.am, bootstrap, config.h.in, configure.ac:
5309         new root dir based on bb-cvs
5310
5311 2002-05-23  xor@zed  <xor@zed>
5312
5313         * CHANGELOG: fix for compiling with --disable-nls
5314
5315         * CHANGELOG: fix compiling with --disable-slit and --disable-nls
5316
5317         * CHANGELOG: fix compliling with --disable-slit
5318
5319         * CHANGELOG: merge the sticky window fix from 1.2.
5320
5321         * TODO: updated goals
5322
5323         * CHANGELOG: fixed sticky windows!
5324
5325 2002-05-16  xor@zed  <xor@zed>
5326
5327         * CHANGELOG, configure.in: change next target version to 2.0.0!
5328
5329         * configure.in:
5330         removing pendantic. thats just crazy. -Wall -W will suffice.
5331
5332         * bootstrap: adding --add-missing to automake call
5333
5334         * bootstrap:
5335         adding bootstrap which generates all the auto* files such as configure
5336
5337         * doc/Makefile.in, data/Makefile.in, configure, Makefile.in, aclocal.m4:
5338         removing auto-generated stuff from cvs
5339
5340         * BUGS: removed the fixed bug!
5341
5342         * doc/Makefile.in, data/Makefile.in, Makefile.in:
5343         using automake --foreign -i
5344
5345         * CHANGELOG:
5346         make a new autoRaiseDelay value take effect without having to restart
5347
5348         * CHANGELOG: make a new autoRaiseDelay value take effect on reconfigure
5349
5350         * CHANGELOG: fix loading autoRaiseDelay
5351
5352         * configure.in, configure: increment version for next release
5353
5354         * CHANGELOG: make autoRaiseDelay load
5355
5356         * configure.in, configure: increment version for next release
5357
5358         * ChangeLog, CHANGELOG: fix off-by-one window resizing bug
5359
5360         * CHANGELOG: typos
5361
5362         * aclocal.m4: readding aclocal. autoconf needs this thing
5363
5364         * ChangeLog: typos
5365
5366         * CHANGELOG: fix for slit direction menu not reconfiguring properly
5367
5368         * doc/Makefile.in, data/Makefile.in, Makefile.in, aclocal.m4:
5369         *** empty log message ***
5370
5371 2002-05-15  xor@zed  <xor@zed>
5372
5373         * CHANGELOG: moved menu from a rc file option to a command line option
5374
5375         * TODO: spelling error
5376
5377         * TODO: added future release goals to the TODO
5378
5379 2002-05-14  xor@zed  <xor@zed>
5380
5381         * CHANGELOG: update changelog.
5382         removed a redundant var from BaseDisplay.
5383
5384         * configure.in, configure:
5385         compile with -Wall -W -pendantic when --enable-debug is set.
5386
5387         * CHANGELOG: fix creating/destroying the titlebar buttons
5388
5389         * ChangeLog:
5390         fix titlebar button code so theyre created/destroyed properly
5391
5392 2002-05-13  xor@zed  <xor@zed>
5393
5394         * CHANGELOG: fix segfaut from uninitialized focused_screen pointer
5395
5396         * CHANGELOG, TODO: fix multiple-screen segfault.
5397
5398 2002-05-11  xor@zed  <xor@zed>
5399
5400         * CHANGELOG: make image dithering value load correctly
5401
5402         * configure.in, configure: increment version for next release
5403
5404         * CHANGELOG: make image dithering value load correctly
5405
5406 2002-05-10  xor@zed  <xor@zed>
5407
5408         * CHANGELOG, configure, configure.in:
5409         increment version for next release
5410
5411         * configure.in, CHANGELOG, configure:
5412         fixed problems introduced in the attempt to be gcc 3 compatible. also, better solution for gcc3.
5413
5414         * configure.in, configure:
5415         better gcc3 compat. using ostrstream again. and using namespace std;
5416         some focus changes. workspace contains a focused window instead of openbox class. this fixes a seg
5417
5418 2002-05-07  xor@zed  <xor@zed>
5419
5420         * configure.in, configure: increment version for the next release
5421
5422         * configure.in, configure: increment the version for the next release
5423
5424         * configure.in, configure: changed the version number
5425
5426         * configure: ran autoconf to regen configure
5427
5428         * doc/Makefile.in, data/Makefile.in, configure.in, Makefile.in, config.h.in, configure, CHANGELOG:
5429         gcc 3 compatibility, converted strstreams to stringstreams
5430
5431         * CHANGELOG: converted ostrstreams into ostringstreams
5432
5433         * configure: removed check for strstream
5434
5435         * configure.in, config.h.in:
5436         gcc3 compatibility. uses ostringstream instead of ostrstream
5437
5438         * doc/Makefile.in, data/Makefile.in, configure.in, configure, Makefile.in:
5439         check for sstream and strstream in configure
5440
5441 2002-04-30  xor@zed  <xor@zed>
5442
5443         * ChangeLog.bsetbg, ChangeLog-Blackbox, ChangeLog:
5444         removing old files that got merged in
5445
5446         * CHANGELOG: save the titlebarLayout in the default config
5447
5448         * CHANGELOG: save the titlebarLayout in the default config file
5449
5450 2002-04-29  xor@zed  <xor@zed>
5451
5452         * ChangeLog.bsetbg, configure.in, ChangeLog, ChangeLog-Blackbox, CHANGELOG:
5453         changelog fixes
5454
5455         * configure.in, ChangeLog.bsetbg, ChangeLog-Blackbox, CHANGELOG, ChangeLog:
5456         addded changelog entries for fixes
5457
5458         * ChangeLog, CHANGELOG: fix positioning of the window menu
5459
5460         * CHANGELOG:
5461         better logic when changing a window's decoration level, for choosing what elements of decoration get placed on the window.
5462
5463         * CHANGELOG: improved logic for redecorating windows
5464
5465         * ChangeLog: improved logic when redecorating a window
5466
5467 2002-04-28  xor@zed  <xor@zed>
5468
5469         * CHANGELOG: bsetroot supports transparent apps with root property
5470
5471         * CHANGELOG: added ClickMouse window placement policy
5472
5473         * CHANGELOG: added UnderMouse windwo placement.
5474
5475 2002-04-21  xor@zed  <xor@zed>
5476
5477         * ChangeLog: typo in Changelog
5478
5479         * data/Makefile.am, data/Makefile.in: fixed some uninstall issues
5480
5481         * data/Makefile.am, data/Makefile.in: fixed some uninstall problems
5482
5483 2002-04-21  woodblock  <woodblock@zed>
5484
5485         * CHANGELOG.bsetbg: *** empty log message ***
5486
5487         * CHANGELOG: tyops
5488
5489 2002-04-20  xor@zed  <xor@zed>
5490
5491         * CHANGELOG:
5492         added Changelog entry for the improved maximize-window code.
5493
5494 2002-04-19  xor@zed  <xor@zed>
5495
5496         * TODO: updated TODO to match current cvs status. yay progress!
5497
5498 2002-04-19  woodblock  <woodblock@zed>
5499
5500         * doc/bsetbg.1: added bsetbg makefile
5501
5502 2002-04-18  woodblock  <woodblock@zed>
5503
5504         * Makefile.in, data/Makefile.in, doc/Makefile.am, doc/Makefile.in:
5505         added new bsetbg manpage
5506
5507 2002-04-17  xor@zed  <xor@zed>
5508
5509         * CHANGELOG: configuration changes "done"!!
5510
5511         on start, the config file is read entirely off the disc, and missing values are assigned defaults.
5512         the config file is immediately written back to the disk to populate missing defaults in the file.
5513         any time a config option is changed the control, the config file is re-written with the change.
5514         choosing reconfig will reload the current config file on the disc.
5515         on shutdown, nothing is written to the config file.
5516
5517 2002-04-16  woodblock  <woodblock@zed>
5518
5519         * TODO: need translations for Hide Toolbar
5520
5521         * CHANGELOG:
5522         Added a runtime option for hiding the toolbar totally. Will be cleaner
5523         later. Stay tuned.
5524
5525 2002-04-16  xor@zed  <xor@zed>
5526
5527         * CHANGELOG, CHANGELOG.Blackbox, CHANGELOG.bsetbg, ChangeLog, ChangeLog-Blackbox, ChangeLog.bsetbg:
5528         renamed the Changelog files
5529         get the latest version of bsetbg from the blackbox cvs
5530
5531         * TODO, configure, configure.in:
5532         get rid of the STDC_HEADERS check... this failed on IRIX with MIPSpro, use checks for individual headers instead
5533
5534 2002-04-15  xor@zed  <xor@zed>
5535
5536         * Makefile.in, data/Makefile.in, doc/Makefile.in:
5537         apparently there were compiling problems with automake/autoconf. This should make those go away.
5538
5539 2002-04-14  colophon  <colophon@zed>
5540
5541         * README: added some missing punctuation
5542
5543 2002-04-14  xor@zed  <xor@zed>
5544
5545         * configure.in: changed version number to 0.99.1
5546
5547         * configure, configure.in:
5548         changed version number to 1.0.0. fixed a warning in BaseMenu from pointer->reference conversion
5549
5550         * ChangeLog:
5551         made shaded windows snap properly at their bottom, using their shaded height.
5552         window.getHeight() now returns the different/correct value when a window is shaded.
5553
5554         * ChangeLog:
5555         merged the changelog from the 0.99.0 (stable) branch (the code was previously merged)
5556
5557         * ChangeLog: added entry for new BestFit placement type
5558
5559         * AUTHORS: added first revision of the BestFit placement type.
5560         moved RowSmart placement type out of placeWindow() to its own function like bestFit. Will continue moving other placement types into their own functions.
5561
5562 2002-04-12  woodblock  <woodblock@zed>
5563
5564         * ChangeLog: added close redraw
5565
5566 2002-04-11  xor@zed  <xor@zed>
5567
5568         * CodingStyle: adding rules on how to code this project.
5569
5570         * data/Makefile.am, data/Makefile.in, data/README, data/README.menu, data/README.style, data/menu.in:
5571         New file.
5572
5573         * data/Makefile.am, data/Makefile.in, data/README, data/README.menu, data/README.style, data/menu.in:
5574         initial import. ready for the 0.99.0 stable branch.
5575
5576         * AUTHORS, BUGS, ChangeLog, ChangeLog-Blackbox, ChangeLog.bsetbg, INSTALL, LICENSE, Makefile.am, Makefile.in, README, README.bbtools, README.bsetbg, TODO, aclocal.m4, config.h.in, configure, configure.in, doc/Makefile.am, doc/Makefile.in, doc/bsetroot.1, doc/openbox.1.in, install-sh, missing, mkinstalldirs, stamp-h.in, version.h.in:
5577         New file.
5578
5579         * AUTHORS, BUGS, ChangeLog, ChangeLog-Blackbox, ChangeLog.bsetbg, INSTALL, LICENSE, Makefile.am, Makefile.in, README, README.bbtools, README.bsetbg, TODO, aclocal.m4, config.h.in, configure, configure.in, doc/Makefile.am, doc/Makefile.in, doc/bsetroot.1, doc/openbox.1.in, install-sh, missing, mkinstalldirs, stamp-h.in, version.h.in:
5580         initial import. ready for the 0.99.0 stable branch.
5581