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