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