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