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