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