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