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