1 2003-09-25 Ben Jansens <xor@zed.orodu.net>
4 handle the focus_cycle_target being destroyed during cycling
6 2003-09-24 Ben Jansens <xor@zed.orodu.net>
9 dont kill interactive actions when the client dies, just remove teh client pointer.
11 * openbox/action.c, openbox/action.h:
12 add the ObClientActionReq to ObAction which says if an action needs a client for it or not
14 * themes/TheBear/openbox-3/themerc:
15 give disabled active buttons a different color from enabled ones
19 * openbox/frame.c: support the _KDE_NET_WM_FRAME_STRUT hint
21 * openbox/client.c: support the _KDE_WM_CHANGE_STATE hint
23 * openbox/prop.c, openbox/prop.h:
24 remove the kde systray hints, add _kde_wm_change_state and _kde_net_wm_frame_strut
26 * tests/urgent.c: throw in some output
28 * openbox/geom.h: add PARTIAL_SRUT_EQUAL
31 hide the dock when reconfiguring otherwise the user has to move the mouse over it to make it hide the first time
33 * openbox/mainloop.c: insert timers in the correct order
35 * tests/icons.c: fix for icons.c
38 fix problems with conflicing interactive desktop switching and send-to-ing
40 * data/rc.xml.in: add raise to the desktop left press binding
42 * openbox/event.c: ignore all NotifyInferior crossing events again
44 2003-09-23 Ben Jansens <xor@zed.orodu.net>
48 * Makefile.am, bootstrap: move foreign into the Makefile.am
50 2003-09-22 Ben Jansens <xor@zed.orodu.net>
52 * data/rc.xml.in: same thing
54 * data/rc.xml.in: udpate comment to match new basedir shit
56 * data/rc.xsd: update hideTimeout to hideDelay
58 * data/rc.xml.in: update to the new hideDelay option
60 * openbox/session.c: missing a \n
63 reorder the lib_LTLIBRARIES variable, apparently this fixes installing with a DESTDIR, thanks automake >:|
65 * Makefile.am: fixes for auto* build process
67 * ChangeLog: recent changes
69 * data/menu.xml.in, data/menu.xsd, data/rc.xml.in, data/rc.xsd:
72 * data/rc.xsd: add focusLast and raiseOnFocus
76 * ChangeLog: recent changes
78 * data/rc.xml.in: add focusLast and raiseOnFocus
80 * openbox/place.c: visible is in the frame struct
82 * openbox/place.c: ignore non-visible windows too
84 * openbox/config.c: simplify the default bindings
86 * openbox/client_list_menu.c: s/Activate/Go there/
88 * openbox/screen.c: whitespace
90 * openbox/client_list_menu.c: gettextize the empty desktop string
92 * openbox/client_list_menu.c: change Switch To... to Activate...
95 dont need to swallow enter events on ungrab cuz we just ignore them all now
97 * openbox/event.c, openbox/event.h:
98 provide a means to properly ignore enter events for focus changes
100 * openbox/config.c, openbox/config.h, openbox/focus.c:
104 eat enter events on desktop switch so that our own policy can be applied
106 * openbox/client.c, openbox/openbox.c:
107 we always want to start with something focused, moving this to openbox.c
109 * openbox/action.c: add comment
111 2003-09-22 Ben Jansens <xor@zed.orodu.net>
113 * data/menu.xml.in, data/menu.xsd, data/rc.xml.in, data/rc.xsd:
116 * data/rc.xsd: add focusLast and raiseOnFocus
118 * configure.ac: beta4
120 * ChangeLog: recent changes
122 * data/rc.xml.in: add focusLast and raiseOnFocus
124 * openbox/place.c: visible is in the frame struct
126 * openbox/place.c: ignore non-visible windows too
128 * openbox/config.c: simplify the default bindings
130 * openbox/client_list_menu.c: s/Activate/Go there/
132 * openbox/screen.c: whitespace
134 * openbox/client_list_menu.c: gettextize the empty desktop string
136 * openbox/client_list_menu.c: change Switch To... to Activate...
139 dont need to swallow enter events on ungrab cuz we just ignore them all now
141 * openbox/event.c, openbox/event.h:
142 provide a means to properly ignore enter events for focus changes
144 * openbox/config.c, openbox/config.h, openbox/focus.c:
148 eat enter events on desktop switch so that our own policy can be applied
150 * openbox/client.c, openbox/openbox.c:
151 we always want to start with something focused, moving this to openbox.c
153 * openbox/action.c: add comment
155 * openbox/mainloop.c: indenting
157 2003-09-21 Ben Jansens <xor@zed.orodu.net>
159 * openbox/action.c, openbox/event.c, openbox/event.h:
160 when ending actions which can move windows, and we were using the mouse, instead of doing a focus fallback, which instantly focuses, and doesn't raise, we do an event_enter_client which simulates the act of entering the window with the pointer
162 * openbox/client.c, openbox/client.h, openbox/focus.c:
163 move the code to find the window under the pointer out of focus.c to client.c
166 place so to avoid windows in layers above the window being placed!
168 * openbox/event.h: add glib.h include
170 * openbox/config.c, openbox/config.h: add raiseOnFocus option
172 * openbox/event.c: fix race condition in focus delay
174 * openbox/event.c: ignore ungrab enter notifies for focus
176 * openbox/mouse.c: pass the context to action_run_mouse
178 * openbox/action.c, openbox/action.h:
179 grab the pointer before doing client actions more intelligently, i.e. only when using sloppy focus.
180 fallback focus after the action if the action was fired via a mouse binding, otherwise do not. this makes keyboard bindings not fuck with sloppy focus.
182 * openbox/config.c, openbox/config.h, openbox/dock.c:
183 rename dock/himeTimeout to dock/hideDelay in the config file
186 dont assert, just ignore client_unfocus() when the client isnt already focused
189 dont save the appearance when reconfiguring!! that was a crash waiting to happen!!
190 also reset the border stuff on reconfigure
192 * openbox/event.c, openbox/event.h:
193 allow a number of enter events to be ignored. Don't just skip any enter/leave events as these are used for highlighting hover buttons and ignoring these makes the hover state out of sync sometimes
196 count the EnterNotify events and tell openbox to ignore them when ungrabbing the pointer
198 * openbox/action.c: if the keyboard is grabbed then dont ungrab it!
200 * openbox/grab.c, openbox/grab.h:
201 export if the keyboard and pointer are currently grabbed or not
203 * openbox/keyboard.c, openbox/keyboard.h: remove that shti
205 * openbox/action.h: whitespace
207 * openbox/keyboard.c, openbox/keyboard.h:
208 export if an interactive grab is in progress
211 dont drop out of dirfocus when there is no new target to be found
213 * openbox/client_list_menu.c: use the new action_run symantics
215 * tests/icons.c: declare variables at the top of the blocks
217 * openbox/menu.c: dont add null actions to the list
219 2003-09-20 Ben Jansens <xor@zed.orodu.net>
221 * Makefile.am: use DESTDIR in install-data-hook
223 2003-09-19 Ben Jansens <xor@zed.orodu.net>
225 * data/.cvsignore: add the generated xml files
227 * openbox/place.c: smart xinerama placement for groups
230 smart placement has a fallback for just groups now too
232 * Makefile.am: install the menu.xsd
234 * Makefile.am, data/menu.xml, data/menu.xml.in, data/menu.xsd, data/rc.xml, data/rc.xml.in, data/rc.xsd:
235 add the schemas to the distribution
237 * configure.ac: look for sed
239 * openbox/mouse.c: comment
241 * openbox/keyboard.c, openbox/menuframe.c, openbox/mouse.c:
242 use the new action ru system which always runs lists of actions instead of individual ones
244 * openbox/config.c: const
246 * openbox/action.c, openbox/action.h:
247 only allow running lists of actions at a time, policy is to always allow multiple action bindings, so this enforces it, and at the same time, UngrabKeyboard() before firing actions if there are no interactive ones. This is needed for some execute's, namely gnome-panel-control --main-menu.
250 properly send resize events for when the app has requested the resize
252 * openbox/config.c: dont allow 0 desktops
254 2003-09-18 Ben Jansens <xor@zed.orodu.net>
257 dont split client requested resizes into 2 events, thanks to manmower for this idea
259 * openbox/session.c: make a warning into a debug message
261 * Makefile.am, tools/gnome-panel-control/.cvsignore, tools/gnome-panel-control/gnome-panel-control.c:
262 rename gnomepanelproxy to gnome-panel-control
264 * Makefile.am, tools/gnome-panel-control/.cvsignore, tools/gnome-panel-control/Makefile, tools/gnome-panel-control/gnome-panel-control.c:
267 * openbox/client_list_menu.c:
268 add a 'Switch to...' entry to empty desktops in the client-list-menu
271 while doing a moveresize, the client actions act on will be the client being moveresized
273 * openbox/resist.c: off by one error
275 2003-09-17 Ben Jansens <xor@zed.orodu.net>
278 provide some default bindings, not a complete list from the rc.xml.. yet.
280 * openbox/keyboard.c, openbox/keyboard.h, openbox/mouse.c, openbox/mouse.h:
281 provide a way to remove all bindings
283 * openbox/frame.c, openbox/frame.h, openbox/translate.c, openbox/translate.h, openbox/action.h, openbox/action.c:
286 * gettext.h, openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/client_list_menu.c, openbox/client_list_menu.h, openbox/client_menu.c, openbox/client_menu.h, openbox/config.c, openbox/config.h, openbox/debug.c, openbox/debug.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/event.h, openbox/extensions.c, openbox/extensions.h, openbox/focus.c, openbox/focus.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/framerender.h, openbox/geom.h, openbox/grab.c, openbox/grab.h, openbox/group.c, openbox/group.h, openbox/keyboard.c, openbox/keyboard.h, openbox/keytree.c, openbox/keytree.h, openbox/mainloop.c, openbox/mainloop.h, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h, openbox/misc.h, openbox/mouse.c, openbox/mouse.h, openbox/moveresize.c, openbox/moveresize.h, openbox/mwm.h, openbox/openbox.c, openbox/openbox.h, openbox/place.c, openbox/place.h, openbox/popup.c, openbox/popup.h, openbox/prop.c, openbox/prop.h, openbox/resist.c, openbox/resist.h, openbox/screen.c, openbox/screen.h, openbox/session.c, openbox/session.h, openbox/stacking.c, openbox/stacking.h, openbox/startupnotify.c, openbox/startupnotify.h, openbox/translate.c, openbox/translate.h, openbox/window.c, openbox/window.h, openbox/xerror.c, openbox/xerror.h, parser/parse.c, parser/parse.h, render/color.c, render/color.h, render/font.c, render/font.h, render/geom.h, render/gradient.c, render/gradient.h, render/icon.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, tests/aspect.c, tests/fullscreen.c, tests/grav.c, tests/icons.c, tests/modal.c, tests/modal2.c, tests/modal3.c, tests/noresize.c, tests/override.c, tests/urgent.c, tools/kdetrayproxy/kdetrayproxy.c:
289 * gettext.h, openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/client_list_menu.c, openbox/client_list_menu.h, openbox/client_menu.c, openbox/client_menu.h, openbox/config.c, openbox/config.h, openbox/debug.c, openbox/debug.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/event.h, openbox/extensions.c, openbox/extensions.h, openbox/focus.c, openbox/focus.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/framerender.h, openbox/geom.h, openbox/grab.c, openbox/grab.h, openbox/group.c, openbox/group.h, openbox/keyboard.c, openbox/keyboard.h, openbox/keytree.c, openbox/keytree.h, openbox/mainloop.c, openbox/mainloop.h, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h, openbox/misc.h, openbox/mouse.c, openbox/mouse.h, openbox/moveresize.c, openbox/moveresize.h, openbox/mwm.h, openbox/openbox.c, openbox/openbox.h, openbox/place.c, openbox/place.h, openbox/popup.c, openbox/popup.h, openbox/prop.c, openbox/prop.h, openbox/resist.c, openbox/resist.h, openbox/screen.c, openbox/screen.h, openbox/session.c, openbox/session.h, openbox/stacking.c, openbox/stacking.h, openbox/startupnotify.c, openbox/startupnotify.h, openbox/translate.c, openbox/translate.h, openbox/window.c, openbox/window.h, openbox/xerror.c, openbox/xerror.h, parser/parse.c, parser/parse.h, render/color.c, render/color.h, render/font.c, render/font.h, render/geom.h, render/gradient.c, render/gradient.h, render/icon.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, tests/aspect.c, tests/fullscreen.c, tests/grav.c, tests/icons.c, tests/modal.c, tests/modal2.c, tests/modal3.c, tests/noresize.c, tests/override.c, tests/urgent.c, tools/kdetrayproxy/kdetrayproxy.c, tools/themeupdate/themeupdate.py:
290 add copyright headers, adjust --version output to include copyright, and --help output to not include version output.
292 * Makefile.am: make the installed themeupdate.py executable
294 * Makefile.am: install themupdate.py to share/openbox/
296 * data/rc.xml, openbox/frame.c, openbox/frame.h, openbox/mouse.c:
297 add the MoveResize context, which is used while doing a move/resize on a window. Actions bound in this context can be executed with the mouse during a move/resize on a window.
299 * openbox/menuframe.c, render/theme.c, render/theme.h:
300 api cleanups for render/theme.h
302 * openbox/menuframe.c: use the theme padding for the menu title's size
304 * openbox/action.c, openbox/event.c, openbox/openbox.c, openbox/openbox.h, openbox/session.c:
305 make ob_exit() take an error code. don't exit with 0 for signals other than TERM and INT.
308 move where grabs are init'd since they use the screen_support_win now
310 * openbox/menu.c: remoev unneeded include
312 * themes/Artwiz/openbox-3/themerc, themes/Blah41/openbox-3/themerc, themes/Om4Ob/openbox-3/themerc:
313 fix to be up-to-date with the theme spec
315 * openbox/translate.c:
316 allow the use of keycodes directly in key bindings
318 2003-09-16 Ben Jansens <xor@zed.orodu.net>
320 * openbox/moveresize.c:
321 dont assert if a moveresize is started while one is in progress. apps could do this with client messages, or the user can easily do it with actions.
324 grab the pointer on the screen_support_win, causing all mouse events during a grab to not be acted on as if they were on the root window/context
326 * Makefile.am: dont use -release for libtool
329 fallback when nothing is focused and we switch desktops!
331 * openbox/event.c: ifdef DEBUG_FOCUS focus output
333 * data/rc.xml: default to "TheBear"
335 * Makefile.am: fix properly
337 * Makefile.am: make TheBear install poroerly in its openbox-3 dir
339 * Makefile.am, configure.ac:
340 install the libs with release and version info via libtool
342 2003-09-15 Ben Jansens <xor@zed.orodu.net>
344 * render/theme.c: look in ~/.themes for themes also
346 * render/icon.h: new icon from merry, more clarity when small
348 * Makefile.am, configure.ac, openbox/action.c, openbox/config.c, openbox/menu.c, openbox/openbox.c, openbox/openbox.h, openbox/session.c, parser/parse.c, parser/parse.h, render/obrender-3.0.pc.in, render/theme.c:
349 make openbox base-dir spec compliant, and change the theme dir structure, so that themes go in $XDG_DATA_DIRS/themes/ with gtk/metacity/whateverelse themes
351 * openbox/client.c, openbox/event.c, openbox/focus.c, openbox/mainloop.c, openbox/mainloop.h, openbox/startupnotify.c:
352 revert my commit of d3th, it fucked up focus badly
354 * openbox/stacking.c: raise all the windows with the transient
356 * openbox/stacking.c: raise all parents with a transient
358 * openbox/client.c, openbox/event.c, openbox/focus.c, openbox/mainloop.c, openbox/mainloop.h, openbox/stacking.c, openbox/startupnotify.c:
359 break focus. or maybe make it better.
360 these changes make it work when you alt-tab off a fullscreen window, that it doesnt iconify, and that it is immediately restacked instead of waiting for a FocusIn event to arrive. The code now assumes that if the window says it can focus, that if we focus it, it is focused.
361 add the XDone handler to ObMainLoop, which is fired upon the occurance of there being no more X events to read.
364 dont leave non-submenu items selected when the mouse isnt over them
366 * ChangeLog: recent changes
368 * data/rc.xml, openbox/config.c, openbox/config.h, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/screen.c:
369 remove focusLast and focusLastOnDesktop
371 * openbox/focus.c: fix directional focus when nothing is focused
373 * ChangeLog: recent changes
375 * configure.ac: beta3
377 * openbox/session.c: use the sm_client_id in the client struct
379 * openbox/client.c, openbox/client.h:
380 save the sm_client_id just like saving other properties, dont query each time its needed
383 propogate property changes on the group leader to the whole group
385 * openbox/popup.c: remove debug prints
387 * openbox/startupnotify.c: remove debug print
389 * openbox/event.c: sloppy focus fixes, ignore a few more enter events
392 fix crashing when doing a directional focus with no windows on the desktop
394 * openbox/place.c: best fit only one direction
396 * openbox/place.c: no center in the first smart-place
398 * openbox/place.c: sort smallest to largest area
400 * openbox/place.c: 2 passes at smart placement
403 smart placement only avoids the focused window, and centers in its area
405 * openbox/stacking.h: whitespace
407 * openbox/place.c: fallback to random when focus follows mouse is off
409 * openbox/place.c: fix comment
411 * openbox/place.c: oops backwarsd
413 * openbox/place.c: dont use continue
415 * openbox/place.c: remove blank line
417 * openbox/mainloop.c: allow more than one timer to work at a time
419 * openbox/mainloop.c: allow more than one timer to process at a time
422 apply gravity to the chosen coords, bound the undermouse placement
425 always use smart placement, add under-mouse placement for the fallback
427 * openbox/place.c: dont count !normal clients for placement
429 * openbox/place.c: added smart placement
431 * openbox/resist.c: use the new RECT_LEFT/RIGHT/TOP/BOTTOM for clarity
434 add some interesection shit, and RECT_LEFT/RIGHT/TOP/BOTTOM
436 2003-09-14 Ben Jansens <xor@zed.orodu.net>
438 * openbox/menuframe.c: kill the padding in the menu title
440 * openbox/stacking.c:
441 dont raise parents of transients when the transient is raised
443 * render/theme.c: fix 2 mem leaks
445 * Makefile.am: install the openbox.png pixmap icon
448 adjust the themes for the frames before everything else happens, cuz they store pointers to the freed theme, then redraw them at the end
450 * openbox/frame.c: dont redraw the frames when changing their theme
452 * openbox/startupnotify.c: remove the x event handler
455 dont bother fucking everythign up when the desktops number hasnt changed
457 * openbox/popup.c: fix mem leak
459 * openbox/menuframe.c:
460 update the menus before putting them in the visible list
463 fix a mem leak, and make suer the menus arent visible when they are modified
465 * openbox/event.c: fix mem leak, remove teh ice watch handler
467 * openbox/config.c, openbox/action.c: fix mem leak
469 * data/openbox.png: add the .png version of the icon.h
472 dont impose staying on-screen for non-normal windows like kicker
474 * render/icon.h: add a default icon made by merry.
477 move moveresize_startup/shutdown so its between its deps
479 * openbox/moveresize.c: only sopt moveresize when shutting down
481 * render/font.c: remove debug print
483 * openbox/moveresize.c: stop any moveresizes on shutdown
485 * configure.ac: dont need libtool doing dlopen capable libs
487 * render/theme.c: use the values passed to the function
489 * render/theme.h: code style
491 * render/render.c: free XImages
493 * render/font.c: destroy 'pat' always
496 X allocs more bytes than i thought, new algo to pick the amount of memory for the bitmap data
498 * openbox/client.c: dont waste a strdup which is never freed
500 * openbox/mainloop.c:
501 fix a memory leak in the mainloop timers correctly
503 * openbox/mainloop.c: fix a memory leak in the mainloop timers
505 2003-09-12 Ben Jansens <xor@zed.orodu.net>
507 * openbox/focus.c, openbox/moveresize.c, openbox/openbox.c, openbox/popup.c, openbox/popup.h, openbox/screen.c:
508 new popups with subclasses, added an ObIconPopup for popups with icons, and ObPagerPopup, for a popup with a pager on it.
510 better logic also for the desktop layout code figuring out how many rows and columns there are.
512 * render/theme.c, render/theme.h:
513 add app_(un)hilite_fg, which is never parentrelative
515 * render/font.c: wasted variable
518 handle parentrel app labels, by using the title's texture instead
520 * render/theme.c: better more valid C
522 * openbox/popup.c: 80 cols
525 start the session shit, and grab the params before grabbing the rest of the parameters (and erroring on invalid ones)
527 * Makefile.am, openbox/client.c, render/theme.c, render/theme.h:
528 add support for a default icon, but no icon has been made yet.
530 * configure.ac: allow building of static libs
532 2003-09-10 Ben Jansens <xor@zed.orodu.net>
534 * openbox/event.c, openbox/mouse.c, openbox/mouse.h:
535 frame context fallbacks when there is no binding on the context
537 * themes/Allegro/openbox-3/themerc: requested update from safarial
540 make menu hiding-on-release based on a timer rather than on where it is released (on the frame border)
542 * openbox/config.h: s/milli/micro/
544 * openbox/menu.c: hide menus before showing a new menu root
546 * openbox/menuframe.c:
547 keep menus taller than the screen from jittering. also keep the half of the menu you're in visible. more precision would be nicer but meh for now (ever) i guess.
549 * Makefile.am: distribute the .pc.in files
551 * openbox/focus.c: save the new glist!
553 * openbox/keyboard.c:
554 when the client for an interactive action is closed, kill the action
556 * openbox/moveresize.c:
557 use the current size not the start size for moving
560 use the focus client when the client is null for keyboard events
562 * openbox/action.c: oops, copypaste
564 * openbox/action.c: dont deref the client before checking for null
566 * openbox/frame.c: use theme.show_handle
568 2003-09-09 Ben Jansens <xor@zed.orodu.net>
570 * ChangeLog: more changes
572 * openbox/event.c, openbox/keyboard.c, openbox/keyboard.h:
573 save teh client for interactive actions cuz after teh keyboard is grabbed there is no client
575 * configure.ac: beta2
577 * ChangeLog: recent changes
579 * openbox/action.c, openbox/action.h, openbox/event.c, openbox/keyboard.c, openbox/keyboard.h, openbox/mouse.c, openbox/mouse.h, openbox/screen.c:
580 no more interactive mouse actions, they are evil etc. actions now "feel" much more solid. if move/resizing a window while changing workspaces, it will follow.
582 * openbox/action.c: no mouse interactive actions. no bugs.
584 2003-09-08 Ben Jansens <xor@zed.orodu.net>
586 * openbox/client.c: remove debug prints
588 * render/theme.c: allow a padding.width of 0
590 * tools/themeupdate/themeupdate.py: warn about the right shit
592 * openbox/focus.h: remove comment that isnt right anymore
594 * openbox/frame.c, openbox/framerender.c, openbox/popup.c, render/theme.c, render/theme.h, themes/Allegro/openbox-3/themerc, themes/Artwiz/openbox-3/themerc, themes/Blah41/openbox-3/themerc, themes/Om4Ob/openbox-3/themerc, themes/TheBear/openbox-3/themerc, tools/themeupdate/themeupdate.py:
595 bigtime theme changes. bigtime.
597 * openbox/focus.c, openbox/focus.h: expose focus_cycle_client
600 act on the visibly focused window when that differs from the actual focused window
602 * openbox/client.c: round 2 for this shit
604 * openbox/client.c: flush after resizing a client
607 if the client is growing, resize it before the frame. if its shrinking, then resize the frame first. reduces flicker lots.
610 watch for windows with titlecounts changing their title and getting an incorrect titlecount
612 * openbox/client.c: oops
614 * openbox/client.c: some simpler code
617 grab the pointer befoer shading a window to prevent focus moving in sloppy focus
620 dont reset all the states to FALSE in client_get_state, this made an initial IconicState get ignored
622 * data/rc.xml: oops missed a capitalization
624 * data/menu.xml: add obconf to the menu
626 * openbox/menuframe.c: flush after drawing each menu item
628 * openbox/config.h: timeouts are all in millisecond
631 if the menu path starts with a /, then just load it, don't try the prefixes
633 * openbox/dock.c: fix autohiding
635 * openbox/dock.c: dont modify the time from the config parser
638 make both focusDelay and hideTimeout in milliseconds
641 fix crash when reconfigure changes the stacking layer of the dock
643 * data/rc.xml: capitalize mouse actions
646 move windows around before removing the focus order lists to prevent nasty segfault when it removes a window from an already freed list
648 2003-09-07 Ben Jansens <xor@zed.orodu.net>
650 * parser/parse.c: dont use obsolete xmlChildrenNode
652 * po/Makevars: add my email address
654 * Makefile.am, configure.ac, parser/.cvsignore, parser/obparser-3.0.pc.in, render/.cvsignore, render/obrender-3.0.pc.in:
655 remove obconf from this tree.
656 add versioning for the libraries and pkgconfig files for them.
658 * openbox/config.c, openbox/menu.c, openbox/session.c:
659 dont use obsolete xmlChildrenNode
661 * openbox/framerender.c, openbox/menuframe.c: xflush after rendering
663 * data/rc.xml, openbox/action.c, openbox/action.h, openbox/client_list_menu.c, openbox/client_menu.c, openbox/config.c, openbox/event.c, openbox/keyboard.c, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h, openbox/misc.h, openbox/mouse.c, openbox/mouse.h:
664 little bit of an actions overhaul, added action_run* so that duplicated code can all be in the same place now woot.
665 allow actions to specify when they can be used (ShowMenu cant in the OB_USER_ACTION_MENU_SELECTION case)
666 remove KeyboardMove ad KeyboardResize. Instead, just use Move and Resize and determine if it should be a keyboard move/resize in the code
668 2003-09-06 Ben Jansens <xor@zed.orodu.net>
670 * openbox/plugin.c, openbox/plugin.h:
671 these shoulda been removed long ago
673 * openbox/event.c: \n's at the end of strings passed to ob_debg
675 * openbox/client.c: Closes #799. i think im too high to say more.
678 sync before removing all the enter events. this way it actually catches them
681 add the margins to the label_height so that the text doesnt cover the bevel/border
683 2003-09-04 Ben Jansens <xor@zed.orodu.net>
685 * openbox/menu.c: code style fix
688 optimization. don't need a glist where a simple pointer will suffice.
690 * openbox/openbox.c: was adding an extra / in ob_expand_tilde
692 * openbox/menu.c, openbox/menu.h:
693 when a pipe menu is killed, kill all its submenus as well
695 * openbox/geom.h: fix RECT_CONTAINS, name clash
697 * render/image.h, render/render.c:
698 new scaling based on the Bresenham algorithm
700 * render/image.c: new scaling, based on the Bresenham algorithm
702 * openbox/moveresize.c:
703 off by one caused clients to be resized a little during a move
705 * openbox/menuframe.c: oops missed a !
707 * data/rc.xml, openbox/config.c: turn off focusDelay by default
709 * openbox/openbox.c, openbox/session.c, openbox/session.h, po/POTFILES.in:
710 move session code out of openbox.c all into session.c
711 remove --sm-save-file and --sm-client-id from argv so that they dont get reused when doing a restart.
713 * openbox/grab.h: match the declarations in the header
715 * openbox/keyboard.c: ungrab only as many times as we grabbed
717 * openbox/openbox.c: remove the reconfigure popup
719 * openbox/grab.c: match the func prototypes in the header
721 2003-09-03 Ben Jansens <xor@zed.orodu.net>
723 * ChangeLog: recent changes
725 * openbox/startupnotify.c: fix for not using startup notification
727 * ChangeLog: recent changes
729 * configure.ac: beta1 time. fuck yah.
732 kill the window mapping.. its not doing anything anyways? whatever..
735 dont ungrab/grab all the mouse bindings every time a new one is added. just do it once on startup.
738 dont exit when a theme can't be loaded during reconfigure
741 handle the case where a transient is a child of a dockapp
743 * openbox/moveresize.c:
744 don't let move/resize occur on non-visible clients
747 display a popup and perform a smooth transition when reconfiguring
749 * openbox/keyboard.c: grab keys on the client windows themselves
752 only remove one flash timer at a time, so all frames dont stop flashing just cuz a window closed
754 * openbox/client_list_menu.c: remove from desktop_menus when freed
757 use the ob_main_loop_timeout_remove_data to only remove one timer
759 * openbox/dock.c: dont set a strut when there are no apps in the dock
762 support getting the desktop from the startup notification protocol
763 pass on to the startup notification code that a window has mapped with a given wmclass
765 * openbox/client.h: add the startup_id
767 * openbox/openbox.c, openbox/openbox.h: add the NONE cursor.
768 remove startup notification code from openbox.c and openbox.h
769 call the new sn_startup/shutdown for startupnotification.c
771 * openbox/moveresize.c: use NONE cursor when not specifying one
774 remove startup hacks and add startup notification in its own files
777 remove the startup notification code from event.c, it all lives in its own file now
779 * openbox/startupnotify.c, openbox/startupnotify.h:
780 add startup notification in its own .c/.h files
782 * openbox/menuframe.c: use the NONE cursor when not specifying one
784 * openbox/mainloop.c, openbox/mainloop.h:
785 add ob_main_loop_timeout_remove_data.
786 make the timeout remove functions remove *all* timeouts that match
788 * openbox/startup.c, openbox/startup.h:
789 remove teh startup state saving hacks since we can reconfigure now. no more restarting for the average user anymore.
791 * openbox/grab.c: use the NONE cursor when not specifying one
793 * openbox/screen.c, openbox/screen.h:
794 remove all the startup notification code from screen.c
796 * openbox/prop.c, openbox/prop.h: add the startup_id atom
798 * openbox/action.c, openbox/keyboard.c, openbox/mouse.c:
799 use the NONE cursor when not specifying a cursor
801 * openbox/misc.h: add a NONE cursor, to not change the cursor at all
803 * data/menu.xml: add reconfigure to the menu
805 * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/event.h, openbox/focus.c, openbox/focus.h, openbox/frame.c, openbox/frame.h, openbox/grab.h, openbox/group.c, openbox/group.h, openbox/keyboard.c, openbox/keyboard.h, openbox/menu.c, openbox/menu.h, openbox/mouse.c, openbox/mouse.h, openbox/moveresize.c, openbox/moveresize.h, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/screen.h, openbox/window.c, openbox/window.h:
806 add a reconfigure action, also reconfigure on SIGUSR2.
807 support reconfiguring throughout the entire codebase.
809 * themes/TheBear/openbox-3/themerc: updates for thebear from merry
812 make focusDelay check the destroying window properly before killing the timer
814 * data/rc.xml: add default A-space binding for the client menu
816 * AUTHORS: add teh focusDelay option for mikachu
818 * openbox/menuframe.c, openbox/menuframe.h:
819 track the maximum margin of menu items. use this to keep icons in the menus inside the bevel/borders of the menu items
821 * ChangeLog: recent changes
823 * configure.ac: alpha8
825 * data/rc.xml, openbox/config.c, openbox/config.h, openbox/event.c:
826 add the focusDelay option
829 dont grab frame context mouse bindings on desktop windows
831 * openbox/client.c, openbox/client.h, openbox/menu.c, openbox/moveresize.c:
832 make the client destructor a GDestroyNotify
834 * Makefile.am: add themeupdate.py to the distribution
836 * data/rc.xml: add focus the desktop on left click binding
838 * openbox/menuframe.c: rm empty line
840 * openbox/menuframe.c: limit menus' width to 400px
842 * data/rc.xml, openbox/config.c:
843 rename the theme name node from 'theme' to 'name'
845 * data/rc.xml: fix capitalization and empty tags. cleanup.
847 * data/rc.xml: remove obsolete placement/remember option
849 * openbox/moveresize.c:
850 only show resize popups for clients with size increments. no move popup at all. waste of screen space.
852 * openbox/popup.c: use the provided margins to layout the popup better
854 * render/render.c, render/render.h:
855 provide a function to give the margins for an appearance
857 * data/rc.xml, openbox/config.c:
858 make the default screen-edge resistance 20 (double what it is for windows)
861 we use the offsets we get from the server, we should use the byte order too..
863 * render/color.c: remove bad comment
865 2003-09-02 Ben Jansens <xor@zed.orodu.net>
867 * openbox/moveresize.c:
868 more fixes to keep the pointer stuff aligned when doing keyboard move/resize
870 * openbox/moveresize.c:
871 fix flashing when using keyboard move against the edge of the screen
874 interlace is drawn first, so bevels n shit cover it
876 * openbox/client_menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h:
877 use new menu.bullet.selected.imageColor. use the text colors for the menu mask icons instead of teh bullet color, and set it based on selected/disabled/normal like the text.
879 * render/theme.c, render/theme.h: add menu.bullet.selected.imageColor
882 grab the mouse before any move/resizes in actions, preventing focus from moving when followMouse is on and the window moves/resizes out from under the pointer
884 * Makefile.am, data/menu, data/menu.xml, data/rc.xml, openbox/menu.c:
885 move the default menu to menu.xml
887 * openbox/session.c: remove debug prints
889 * render/render.c: remove debug print
891 * render/color.c: remove XXX comment, it was right, now its done :>
893 * render/color.c, render/color.h:
894 use the new color hash to cache RrColors
896 * render/instance.c, render/instance.h, render/render.h:
897 move some internal functions from render.h to instance.h
898 add a color hash table to the RrInstance
900 * openbox/resist.c: remove debug print
902 * openbox/mainloop.c: make the segfault swearing more clear
904 * openbox/moveresize.c:
905 add comment about the new code in moveresize for size increment windows
907 * openbox/client.c, openbox/moveresize.c:
908 stop doing stupid shit for the size increments in client_configure, it belongs in the moveresize code. add it there.
910 * openbox/resist.c, openbox/resist.h:
911 separate window and screen snapping so only one or the other can be used
913 * openbox/action.c: grow to edge is a move and a resize, oops
915 2003-09-01 Ben Jansens <xor@zed.orodu.net>
917 * Makefile.am, data/rc.xml, data/rc3, parser/parse.c:
920 * Makefile.am: update for the new theme selections
922 * data/rc3: make thebear the default theme
924 * themes/TheBear/openbox-3/themerc:
925 add a menu overlap and smaller font size for the menu items
927 * themes/Allegro/openbox-3/bullet.xbm, themes/Allegro/openbox-3/themerc, themes/Artwiz/openbox-3/themerc, themes/Blah41/openbox-3/themerc, themes/Om4Ob/openbox-3/themerc, themes/TheBear/openbox-3/themerc:
928 add/fix themes for 3.0
930 * openbox/menuframe.c, openbox/popup.c, render/theme.c, render/theme.h:
931 rename back the app_selected appearances to app_hilite
933 * tools/themeupdate/themeupdate.py: some stuff is exact
935 * tools/themeupdate/themeupdate.py: remove menu.bullet from themes
937 * tools/themeupdate/themeupdate.py: show errors on stderr
939 * tools/themeupdate/themeupdate.py: nicer usage output
941 * openbox/moveresize.c: this move is not final
944 make ob_expand_tilde expand all tildes in the string
946 * tools/themeupdate/themeupdate.py: global valid
948 * tools/themeupdate/themeupdate.py: more checks, for pixelsize fonts
950 * tools/themeupdate/themeupdate.py:
951 add more checks, for fonts, and for missing stuff
953 * tools/themeupdate/themeupdate.py:
954 update oldschool .xft.font options from ob2
956 * tools/themeupdate/themeupdate.py: enable all the tests
958 * tools/themeupdate/themeupdate.py: check for oldschool fonts
960 * tools/themeupdate/themeupdate.py: check window.button.pressed
962 * tools/themeupdate/themeupdate.py:
963 themeupdate already fixes some recent changes
965 * openbox/popup.c: couple more xrdb theme format cleanups:
966 window.focus.font -> window.label.focus.font
967 window.unfocus.font -> window.label.unfocus.font
968 window.justify -> window.label.justify
969 menu.frame.* -> menu.items.*
970 menu.hilite.* -> menu.selected.*
971 *.picColor -> *.imageColor
973 * openbox/client_list_menu.c: remove an old plugin call
975 * openbox/menuframe.c, render/theme.c, render/theme.h:
976 couple more xrdb theme format cleanups:
977 window.focus.font -> window.label.focus.font
978 window.unfocus.font -> window.label.unfocus.font
979 window.justify -> window.label.justify
980 menu.frame.* -> menu.items.*
981 menu.hilite.* -> menu.selected.*
982 *.picColor -> *.imageColor
984 * data/rc3: remove the urgent options
987 dont crash when flashing a window when it goes away, remove the timer when dying
989 * openbox/client.c: flash when urgent
991 * openbox/action.c, openbox/action.h: remove vibrate and flash actions
993 * openbox/frame.c, openbox/frame.h:
994 improved frame flashing code, can start and stop it on command
996 * openbox/config.c, openbox/config.h: remove the urgent actions
998 * render/render.c: i rul.. at typos..
1000 * render/render.c: copy/free the new interlaced color
1002 * render/gradient.c, render/render.h, render/theme.c:
1003 add interlaceColor, and support interlaced gradients
1005 * data/rc3: add flashing urgent windows
1007 * openbox/action.c, openbox/action.h: add flash action
1009 * openbox/frame.c, openbox/frame.h: add code to flash the frame
1011 * openbox/menuframe.c:
1012 make separators span the width of the entire menu
1014 * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/config.c, openbox/config.h, openbox/moveresize.c:
1016 add some macros for moving/resizing clients
1017 add 'vibrate' action
1019 * openbox/action.c: s/expand_tile/ob_expand_tilde/
1021 * openbox/config.h: missing 'extern' for a bunch of vars
1023 * openbox/action.c, openbox/config.c, openbox/menu.c, openbox/openbox.c, openbox/openbox.h:
1024 move expand_tilde to ob_expand_tilde in openbox.c to make it global.
1025 use it on the command read in the menu parsing for pipe menus.
1026 use it on the command read for execute/restart actions.
1028 2003-08-31 Ben Jansens <xor@zed.orodu.net>
1030 * openbox/menu.c: parse all the menu files specified
1032 * openbox/mainloop.c: oops, now is in the loop :>
1034 * openbox/mainloop.c: get the current time when adding timers
1036 * configure.ac: i dont use sed for anything, no need to check for it
1038 * Makefile.am: rm some plugin stuff that i missed
1040 * configure.ac: alpha7
1042 * ChangeLog: changes
1044 * openbox/action.c, openbox/action.h, openbox/screen.c, openbox/screen.h:
1045 add the DesktopLast action, props to marius nita for this one
1047 * openbox/event.c: remove debug print
1049 * openbox/client_list_menu.c:
1050 add a separator in the client-list-menus above iconic windows
1052 * openbox/menuframe.c:
1053 dont lose the menu selection while puttin the mouse over a separator (properly)
1055 * openbox/event.c: compress events properly
1057 * openbox/menuframe.c:
1058 only hide menus if theyre supposed to when executing
1060 * openbox/action.c, openbox/action.h:
1061 make directional focusing an interactive action
1063 * data/rc3: the <interactive> tags are no longer needed
1066 make desktop cycling work properly when non-interactive
1068 * openbox/keyboard.c, openbox/mouse.c:
1069 when no modifiers are in a binding, then make it non-interactive
1071 * openbox/focus.c, openbox/focus.h:
1072 make focus cycling work when not interactive
1073 add focus_directional_cycle
1075 * AUTHORS: tore did some more actions :)
1077 * openbox/keyboard.c:
1078 ungrab keys before grabbnig keys at the next chain level
1081 grab the pointer Async for key grabs, lets key bindings like <execute>xkill</execute> work
1083 * openbox/menuframe.c, openbox/menuframe.h: draw menu separators
1085 * render/render.c, render/render.h: add RrColorGC
1086 add a LineArt texture type for drawing a line, this is used for drawing the menu separators
1088 * render/gradient.c, render/mask.c: use RrColorGC
1090 * render/color.c: add RrColorGC
1092 * openbox/stacking.c: kill a warning
1095 move_onscreen was supposed to go away.. :) thanks mikachu
1097 2003-08-30 woodblock <woodblock@zed>
1099 * AUTHORS: *** empty log message ***
1101 2003-08-30 Ben Jansens <xor@zed.orodu.net>
1103 * openbox/client_menu.c:
1104 add masks from the titlebar buttons to the client menu's options
1106 * openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h:
1107 add suppot for showing pixmap masks in menus where the rgba icons go too
1109 * openbox/client.c: use the nwe theme's show_handle value
1111 * render/theme.c, render/theme.h:
1112 allow handlewidth of 0, which sets show_handle to false
1114 * openbox/event.c: compress motion events
1116 * render/theme.c: bugz, wrong vars
1118 * openbox/menuframe.c: add padding in the menu title too
1120 * openbox/client.c, openbox/client.h, openbox/menu.c, openbox/moveresize.c:
1121 add destructor functions for clients that you acn subscribe with, and use these instead of hardcoding special cases in the unmanage code
1123 * data/rc3, openbox/action.c, openbox/action.h, openbox/client_list_menu.c, openbox/config.c, openbox/config.h, openbox/focus.c, openbox/focus.h, openbox/keyboard.c, openbox/mouse.c, openbox/screen.c, openbox/screen.h:
1124 make interactive actions a type and not special cases.
1125 add the <interactive> option to them to turn off interactivity
1127 * openbox/grab.c: remove debug print
1129 * Makefile.am, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/event.h, openbox/grab.c, openbox/keyboard.c, openbox/mainloop.c, openbox/mainloop.h, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/timer.c, openbox/timer.h:
1130 using the ObMainLoop, which rulz the planet
1132 * data/rc3: put debian menu file first
1134 * openbox/menu.c, openbox/menu.h: add pipe-menus
1136 * openbox/menuframe.c: fix grabbing and not releasing with menus
1138 2003-08-29 Ben Jansens <xor@zed.orodu.net>
1140 * openbox/menuframe.c: dont ungrab twice when hiding menus
1143 properly select the first menu item in the child menu when using the 'right' keycode
1145 * openbox/menuframe.c: dont keyboard nav onto disabled menu items
1148 missing break would be bad in future if added more cases
1150 * Makefile.am, configure.ac: dont need gmodule anymore
1152 * openbox/event.c, openbox/menu.c, openbox/menuframe.c, openbox/menuframe.h:
1153 ultra-keyboard-controlled-menus
1155 * openbox/translate.c, openbox/client_list_menu.c, openbox/client_menu.c:
1158 * po/POTFILES.in: update which files have translatable strings
1160 * Makefile.am, configure.ac: the kernel/ dir has been moved to openbox/
1162 * openbox/openbox.c: remove the plugin stuffs
1164 * openbox/resist.c: remove a dispatch.h
1166 * openbox/action.c, openbox/menu.c, openbox/menu.h:
1167 remove plugins from the menu parsing
1169 * Makefile.am, data/menu, data/rc3, openbox/client_list_menu.c, openbox/client_list_menu.h, openbox/client_menu.c, openbox/client_menu.h:
1170 move the client and client-list menus into the 'kernel'
1172 * Makefile.am, openbox/client.c, openbox/dispatch.c, openbox/dispatch.h, openbox/event.c, openbox/focus.c, openbox/moveresize.c, openbox/openbox.c, openbox/screen.c:
1173 remove the event dispatcher
1176 typo, reading from the wrong member of the actiondata union
1178 * Makefile.am, openbox/place.c, openbox/place.h:
1179 add window placement routines to the kernel
1181 * openbox/menuframe.c:
1182 place submenus with their borders over the parent's
1184 * render/theme.c: nicer default bullets
1186 2003-08-28 Ben Jansens <xor@zed.orodu.net>
1189 only left-justify menus, remove the menu.frame.justify option
1191 * openbox/menu.c, openbox/menuframe.c, openbox/openbox.c, openbox/prop.c, openbox/screen.c, render/color.c, render/font.c, render/theme.c:
1192 fix a bunch of memleaks from valgrind and stuff
1194 * render/render.c: free rgba texture caches
1196 * openbox/menuframe.c: only execute enabled items
1198 * data/rc3, openbox/config.h, openbox/event.c, openbox/event.h, openbox/menu.c, openbox/menu.h:
1199 new method for loading menu files etc
1201 * openbox/config.c: fix crash bug is parsing menu section of the rc3
1203 * openbox/menuframe.c: missed one thing, using invalid mem still
1205 * openbox/menu.c, openbox/menu.h, openbox/menuframe.c:
1206 fix for using freed memory to exec stuff
1208 * openbox/menuframe.c: free the menu entry frames
1210 * openbox/action.c: rm double ;;
1212 * openbox/menu.h, openbox/menuframe.c:
1213 add icons to the client-list-menu
1215 * data/menu, data/rc3: load the plugins in the rc3 for the menus
1217 * openbox/menu.c, openbox/menu.h, openbox/menuframe.c:
1218 make submenus not require the menu to exist when they are created, not until they are shown.
1219 crash fix in client_menu
1221 * Makefile.am, data/menu, openbox/action.c, openbox/action.h, openbox/config.c, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h:
1222 make client-list-menu work too
1225 * data/menu, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/plugin.c, openbox/plugin.h, openbox/screen.c, openbox/session.c, parser/parse.c:
1226 load menu plugins automatically from whats in the menu file
1228 move enabled into the 'normal menu item' specific data stuff
1230 * Makefile.am, data/menu, openbox/client.c, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menuframe.c, openbox/menuframe.h, openbox/openbox.c, openbox/plugin.c, openbox/plugin.h:
1231 change the menu plugin interface, no need for the create/destroy functions any more.
1232 redo the client-menu plugin to work with the new menu api
1234 * openbox/action.c, openbox/action.h:
1235 add follow option back for sendto actions
1237 * data/menu: split the menus out so they aren't nested in the example
1239 * Makefile.am, openbox/client.c, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/menuframe.c, openbox/menuframe.h, openbox/popup.c, openbox/window.c, openbox/window.h, render/font.c, render/theme.c, render/theme.h:
1240 half way through the changes to new menu code/design. hot shit. static menus work, on to plugins next.
1242 2003-08-27 Ben Jansens <xor@zed.orodu.net>
1244 * openbox/geom.h: oooops RECT_SET_POINT was broken
1246 * openbox/event.c: more typo :)
1248 * openbox/event.c: typo :)
1250 * openbox/client.c, openbox/event.c:
1251 dont be rude to non-normal windows with keeping them onscreen
1253 * openbox/frame.c: fix border on shaded maximized windows
1255 * openbox/event.c: double deref, props to 'mmj' for spotting this
1257 2003-08-25 Ben Jansens <xor@zed.orodu.net>
1260 remove the last of the cool stuff thanks to GTK fuck fuck. no more not focusing windows in groups that arent focused on map
1262 * openbox/session.c: blef
1264 * openbox/session.c: type change
1266 * openbox/session.c: make --disable-session-management work i think
1268 * openbox/focus.c: dont force fallbacks within groups
1270 * openbox/client.c, openbox/frame.c, openbox/frame.h:
1271 better handling of maximizing, wrt changing decorations on the windows, and showing the correct decor for the max state especially for windows which dont change size (Xnest) when maximized cuz they are at their maximum size already
1273 * openbox/geom.h: add STRUT_EQUAL
1276 set the client decorations to match the frame's so that there is not thot to be changes later on whene there were actually none
1278 * openbox/client.c, openbox/client.h:
1279 restore the stacking order of a saved session
1281 * openbox/session.c, openbox/session.h:
1282 save the stacking order of the windows, and sort the saved session data based on stacking when it is loaded. make the list public.
1285 dont put #define values into the supported atoms list
1287 * openbox/stacking.h: clarify that stacking_below sucks
1289 * openbox/stacking.c, openbox/stacking.h:
1290 add stacking_below which moves a window to immediately below another window. use with care it doesn't enforce transient shit etc..
1292 2003-08-23 Ben Jansens <xor@zed.orodu.net>
1294 * openbox/keyboard.c: better handling of multiple niteractive actions
1296 * m4/x11.m4: better ac macro usage
1298 * configure.ac: alpha6
1300 * ChangeLog: recent changes
1302 * openbox/keyboard.c:
1303 end the other action when starting a new interactive action while one was in place
1305 * render/render.c: formatting
1307 * render/render.c: 80 cols
1309 * render/render.c: stupid function name die
1311 2003-08-22 Ben Jansens <xor@zed.orodu.net>
1313 * render/theme.c: nevermind
1316 default font size one smaller to make default bitmaps fit better
1319 only use visible windows when calcing for raiselower
1321 * openbox/action.c: maybe smarter
1323 * openbox/action.c: make the raiselower action smarter
1325 * render/theme.c, render/theme.h, themes/Om4Ob/openbox-3/themerc, themes/TheBear/openbox-3/themerc:
1326 make focus and unfocus fonts for window titles. change 'xftfont' to 'font' in the themes.
1328 2003-08-20 Ben Jansens <xor@zed.orodu.net>
1330 * ChangeLog: recent changes
1332 * openbox/keyboard.c:
1333 better handling of starting a new interactive grab while one is in progress
1335 * data/rc3, openbox/frame.c, openbox/frame.h, openbox/mouse.c:
1336 rename the 'root' context to 'desktop'
1338 * openbox/action.c, openbox/action.h:
1339 add the 'raiselower' action for raising obscured windows and lowering fully visible ones
1341 * openbox/event.c, openbox/frame.c, openbox/frame.h:
1342 add an obscured flag that tracks if the frame is at all obscured
1344 * openbox/mouse.c: use the result from XGetGeometry correctly
1346 * openbox/mouse.c: handle the XGetGeomtry failing for button releases
1349 dont grab client context stuff on desktop windows. check that clint is non-null
1351 * openbox/frame.c, openbox/mouse.c:
1352 grab root mouse bindings on desktop windows also, since they are conceptually the desktop.
1355 reset first to TRUE properly when the desktop popup is off
1357 * openbox/moveresize.c:
1358 move the pointer while doing a keyboard move/resize
1360 2003-08-16 Ben Jansens <xor@zed.orodu.net>
1362 * openbox/keyboard.c: fix whitespace
1364 2003-08-14 Ben Jansens <xor@zed.orodu.net>
1367 was reading the menu bullet color into the wrong place
1370 skip windows in the alt-tabbing which have the SKIP_TASKBAR hint set on them
1372 * README.CVS: add the gettext version
1374 * ChangeLog: recent changes
1376 * openbox/menu.c: fix the offsets used to keep the menus on screen
1378 * openbox/menu_render.c:
1379 dont show titles on submenus. kill the extra 1px at the top of titleless menus
1382 make putting plugin menus in a menu closer to working..
1384 * data/menu: rename root to root-menu
1386 * data/rc3: add the client-list-menu
1388 * Makefile.am, openbox/plugin.c: add the client_list_menu plugin
1390 * openbox/menu.c, openbox/menu.h: add a menu destructor callback.
1391 fix a possible crasher where a callback was called with a different menu.
1393 * openbox/stacking.c: 80 cols
1395 * openbox/openbox.c: shutdown the menus before the plugins are unloaded
1397 * openbox/focus.c, openbox/event.c, openbox/client.c, openbox/client.h:
1398 make activate take a here parameter
1400 * openbox/action.c: parse <here>true</here> for the activate action
1402 * openbox/action.c, openbox/action.h:
1403 make the activate action have a 'here' parameter
1405 * openbox/action.c, openbox/action.h: add an 'activate' action
1407 2003-08-12 Ben Jansens <xor@zed.orodu.net>
1409 * Makefile.am, openbox/config.c, openbox/config.h, openbox/moveresize.c, openbox/plugin.c, openbox/resist.c, openbox/resist.h:
1410 move the resistance plugin into the kernel. dont resist when move/resizing with the keyboard, only when doing it with the mouse.
1412 * openbox/client.c: oops i fucked up tore's patch. better.
1414 * openbox/action.c, openbox/client.c:
1415 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.
1417 * Makefile.am, data/menu, data/rc3, openbox/config.c, openbox/config.h, openbox/menu.c, openbox/menu.h, openbox/mouse.c, openbox/openbox.c, openbox/plugin.c, openbox/plugin.h:
1418 adjust for changes to the parsing api.
1419 split the menu into its own file.
1421 * parser/parse.c, parser/parse.h:
1422 create ObParseInst structuer which can be then used to parse more than one file/memory thing at a time.
1423 add function to parse memory block.
1425 * openbox/config.c, openbox/mouse.c, openbox/mouse.h:
1426 prefix/capitalize the mouse actions enum
1429 oops read the mouse cnofig vars into the right place
1431 * data/rc3, openbox/config.c, openbox/config.h, openbox/keyboard.c:
1432 add the chainQuitKey option to teh <keyboard> section of the rc3
1434 * render/font.h, render/render.h, render/test.c:
1435 add Xutil includes for these badboys on older X versions/solaris
1438 make all the masks unsigned chars for consistancy woot
1440 * render/theme.c: kill some warnings
1442 * openbox/extensions.h: include Xutil for shape.h on old X versions
1444 * openbox/menu_render.c, render/theme.c:
1445 rendering fixups for submenu bullets
1447 * data/rc3: add the cyclingDialog option
1450 remove the scrolling on root without alt since that fucks up with the dialog since there are no modifiers
1452 * openbox/config.c, openbox/config.h, openbox/mouse.c, openbox/screen.c:
1453 add an option for if the popup is used for desktop cycling. defaults on.
1455 * openbox/client.c: dont move windows when starting
1457 * ChangeLog: recent changes
1459 * configure.ac: alpha5
1461 * openbox/screen.c: when cancelling return the first desktop
1463 * openbox/action.c, openbox/action.h:
1464 use the new client_directional_edge_search for the movetoedge actions.
1465 add new growtoedge actions.
1467 * openbox/client.c, openbox/client.h:
1468 small bugfix to the directional focus code.
1469 add the client_directional_edge_search function.
1471 * openbox/keyboard.c:
1472 only do shit with the grabbed_* when a grab is in place
1474 * openbox/action.c, openbox/mouse.c, openbox/screen.c:
1475 remove debug printings
1477 * ChangeLog, Makefile.am, openbox/.cvsignore, openbox/action.c, openbox/action.h, openbox/client.c, openbox/config.c, openbox/config.h, openbox/event.c, openbox/focus.c, openbox/keyboard.c, openbox/keyboard.h, openbox/keytree.c, openbox/keytree.h, openbox/menu.c, openbox/menu.h, openbox/mouse.c, openbox/mouse.h, openbox/openbox.c, openbox/plugin.c, openbox/screen.c, openbox/screen.h, openbox/translate.c, openbox/translate.h:
1478 move the keyboard and mouse plugins into the kernel for mucho sexiness.
1479 make workspace changing a grabbed/interactive process like focus cycling is, with the popup and all.
1480 this is some hot shit.
1483 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.
1485 2003-08-11 woodblock <woodblock@zed>
1487 * openbox/menu.c, openbox/menu.h, openbox/menu_render.c, render/theme.c, render/theme.h:
1488 Some fixes and new bugs. Someone else can do the menus because it is
1489 clear no one gives a fuck what I think and no one else wants a window
1490 manager that doesn't suck the same balls as every other window manager.
1492 2003-08-10 Ben Jansens <xor@zed.orodu.net>
1495 save the frame decorations in client_configure_full before causing the fake frame adjust, since that loses its old value.
1497 * openbox/framerender.c:
1498 clear the window after setting the background color, this isnt implicit
1500 2003-08-09 Ben Jansens <xor@zed.orodu.net>
1502 * openbox/focus.c, openbox/popup.c, openbox/popup.h, openbox/screen.c, openbox/timer.c, openbox/timer.h:
1503 changes to the timer api, pass the timer to the callback function.
1504 add a desktop-switch popup with the desktop's name
1506 2003-08-08 Ben Jansens <xor@zed.orodu.net>
1508 * render/render.h: include Xlib.h for other platforms
1510 2003-08-07 woodblock <woodblock@zed>
1513 Fix lock up when not using a session manager and doing fd management.
1515 2003-08-06 Ben Jansens <xor@zed.orodu.net>
1518 remove the <windows> option from the resistance plugin since window and edge resistance have been separated, a 0 value will work now
1520 2003-08-05 Ben Jansens <xor@zed.orodu.net>
1522 * openbox/screen.c: dont ignore topleft layouts
1525 dont map the tl/tr invisible grips when the grip decors are turned off
1527 * render/gradient.c: split the increment into a separate macro
1529 * openbox/client.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c:
1530 a couple frame layout bugfixes hidden inside all this.. wee
1531 fixes for maximizing windows:
1532 - 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.
1533 - 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.
1534 - when maxed horizontally and vertically, remove the handle from the decorations
1537 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
1539 * openbox/moveresize.c:
1540 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
1542 2003-08-03 Ben Jansens <xor@zed.orodu.net>
1544 * ChangeLog: recent changes
1546 * data/rc3, openbox/client.c, openbox/config.c, openbox/config.h, openbox/moveresize.c:
1547 kill non-opaque move/resize
1548 add an option for redrawing/resizing the client window while resizing, when disabled the client is not touched until the resize is complete.
1550 * openbox/framerender.c:
1551 give the plate the same background color as its border
1553 2003-08-02 Ben Jansens <xor@zed.orodu.net>
1555 * openbox/client.c, openbox/event.c:
1556 use the frame size not the client size when figuring out if stuff fits on the screen
1558 * themes/Om4Ob/openbox-3/themerc:
1559 add disabled button styles (from miklos)
1561 * tools/kdetrayproxy/kdetrayproxy.c: missing sys/time.h
1563 * configure.ac: alpha4
1565 * ChangeLog: recent changes
1567 * Makefile.am, themes/Om4Ob/openbox-3/close.xbm, themes/Om4Ob/openbox-3/close_hover.xbm, themes/Om4Ob/openbox-3/desk.xbm, themes/Om4Ob/openbox-3/desk_hover.xbm, themes/Om4Ob/openbox-3/desk_toggled.xbm, themes/Om4Ob/openbox-3/iconify.xbm, themes/Om4Ob/openbox-3/iconify_hover.xbm, themes/Om4Ob/openbox-3/iconify_pressed.xbm, themes/Om4Ob/openbox-3/max.xbm, themes/Om4Ob/openbox-3/max_disabled.xbm, themes/Om4Ob/openbox-3/max_hover.xbm, themes/Om4Ob/openbox-3/max_pressed.xbm, themes/Om4Ob/openbox-3/max_toggled.xbm, themes/Om4Ob/openbox-3/shade.xbm, themes/Om4Ob/openbox-3/shade_disabled.xbm, themes/Om4Ob/openbox-3/shade_hover.xbm, themes/Om4Ob/openbox-3/shade_toggled.xbm, themes/Om4Ob/openbox-3/themerc:
1570 * ChangeLog: recent changes
1572 * render/theme.c: oops indenting
1575 look in theme dirs first, use the theme as the path as a last attempt only!
1577 * openbox/frame.c: the grips go below the titlebar buttons
1579 * openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/geom.h, openbox/prop.c, openbox/prop.h:
1580 add partial struts tho they arent useful eyt
1582 * data/rc3, openbox/frame.c, openbox/frame.h, openbox/framerender.c, render/theme.h:
1583 invisible resizing areas/grips in the top corners of the window
1585 * render/theme.c: use the toggled mask for shade and desk buttons
1587 * openbox/client.c: that line ended up in teh if somehow...
1589 2003-08-01 Ben Jansens <xor@zed.orodu.net>
1591 * openbox/grab.c: oops buttons not keycodes
1594 if a dock app has a button grabbed already then dont die
1596 * render/theme.c: look for masks only where the themerc was read from
1598 * Makefile.am: rename stick buttons to desk
1600 * render/theme.c, render/theme.h:
1601 add pressed bitmaps. rename stick bitmaps to desk
1603 * openbox/framerender.c, render/theme.c, render/theme.h:
1604 add toggled textuers for titlebar buttons
1606 * Makefile.am: make obconf_interface.h belong to the obconf sources
1608 * data/openbox.desktop, openbox/openbox.desktop, render/gradient.c, render/render.c, render/render.h:
1609 move the dekstop file to data/
1611 * Makefile.am: install the .desktop file again
1613 * themes/TheBear/openbox-3/themerc: remove old stuff
1615 * Makefile.am: install greenz theme
1617 * Makefile.am: s/_t.xbm/_toggled.xbm/
1619 * render/theme.c, render/theme.h:
1620 renamed the _t bitmaps, and added disabled and hover bitmaps
1622 * Makefile.am, render/theme.c, themes/TheBear/openbox-3/themerc, 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/ob20, themes/operation, themes/outcomes, themes/paper, themes/purplehaaze, themes/shade, themes/steelblue, themes/steelblue2, themes/the_orange, themes/trisb, themes/twice, themes/warp-xp:
1623 make themes inside a directory
1625 * Makefile.am, tools/kdetrayproxy/.cvsignore, tools/kdetrayproxy/Makefile, tools/kdetrayproxy/kdetrayproxy.c:
1626 add the kdetrayproxy tool
1629 configre teh dock after finding the new screen sizes
1631 * openbox/session.c: compile fixes
1633 * render/theme.c: add missing includes
1635 2003-07-31 Ben Jansens <xor@zed.orodu.net>
1637 * ChangeLog: recent changes
1639 * configure.ac: alpha3
1641 * openbox/frame.c: fix a long-lurknig gravity bug
1643 * ChangeLog: recent changes
1645 * openbox/openbox.c: oops missed one
1647 * openbox/openbox.c, openbox/openbox.h: expose exit_with_error
1649 * openbox/session.c: kill some output
1651 * openbox/openbox.c:
1652 only load the session from file if a file was provided
1654 * render/font.c: missing a header
1656 * README.CVS: remove shit i no longer use
1658 * parser/parse.c: always return a string from parse_string
1661 set the desktop hint if the desktop is changed by the session code
1664 set the desktop hint after everything is read/setup even session stuff
1667 add the window to the lists before setting the client list hint
1669 * openbox/session.c:
1670 declare functions that are needed when built without session support
1672 * openbox/session.c:
1673 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.
1675 * openbox/client.c, openbox/client.h:
1676 add a function to retrieve the sm_client_id value
1678 2003-07-30 Ben Jansens <xor@zed.orodu.net>
1680 * openbox/client.c, openbox/prop.c, openbox/prop.h, openbox/session.c, openbox/session.h:
1681 restore saved session data for applications
1683 * data/rc3, openbox/config.c, openbox/config.h, openbox/frame.c, render/theme.c, render/theme.h:
1684 move the titlebar layout from the theme to the rc file
1686 * openbox/client.c: attemp #3
1688 * openbox/client.c: attempt #2 at better logical size values
1690 * openbox/client.c: include the base size in the logical size
1692 * ChangeLog: recent changes
1694 * openbox/client.c: the size can be 0 when there is a base size
1696 * openbox/client.c, openbox/client.h, openbox/event.c:
1697 improved ICCCM compliance!
1698 a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
1699 b) send the corrent coords in the ConfigureNotify, including the border width
1700 c) remove the WM_STATE property when unmanaging a window
1702 * openbox/frame.c: code cleaning
1704 * openbox/menu.c: only ignore wheel buttons
1706 2003-07-29 Ben Jansens <xor@zed.orodu.net>
1708 * openbox/event.c: i am the king of copy/paste errors
1710 2003-07-29 woodblock <woodblock@zed>
1712 * openbox/event.c: more menu fixes.
1715 * openbox/menu.c: Clear current_menu when hiding menus.
1717 * openbox/event.c, openbox/menu.c: Close menu properly on unbound keys.
1719 * openbox/menu.c: Fix some keyboard control issues.
1721 2003-07-28 Ben Jansens <xor@zed.orodu.net>
1723 * openbox/client.c, openbox/event.c:
1724 base rudeness on if they have a strut even smarter!
1726 * openbox/client.c, openbox/event.c:
1727 base rudeness on if they have a strut or not
1729 * openbox/client.c, openbox/event.c, openbox/screen.c:
1730 make the new placement restrictions not affect !normal windows like panels
1732 * openbox/menu.c: use plugin_open_reopen not plugin_open_full
1734 * render/theme.c: typo thanks merry
1736 * openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c:
1737 hover theme elements for window titlebar buttons
1739 * openbox/client.c, openbox/client.h, openbox/event.c, openbox/screen.c:
1740 make those apps stay/map on screen!! fuck stupid apps. thats right im talking to you mozilla and you too java.
1742 * openbox/event.c: make things compile again. hover does not work yet.
1744 * openbox/client.c: use the macro
1746 * openbox/client.c, openbox/event.c:
1747 keep apps from moving/maping their titlebar underneath left/top panels
1749 * openbox/session.c: set teh clone comamnd
1751 * openbox/session.c:
1752 use char not a long, since we're telling the SM that its 1 byte lone
1754 * openbox/session.c: save the commands on startup
1756 * openbox/session.c: use the path properly for the session file
1758 * openbox/session.c: use teh save file not the session id
1760 2003-07-28 woodblock <woodblock@zed>
1762 * openbox/menu.c: demand load plugins from the menu
1764 * openbox/event.c, openbox/menu.c: Menu stuff.
1767 2003-07-27 Ben Jansens <xor@zed.orodu.net>
1769 * render/theme.c, render/theme.h: fix mem leaks/crashes
1771 * render/theme.c, render/theme.h: add pressed colors for buttons
1773 2003-07-26 woodblock <woodblock@zed>
1775 * openbox/event.c: Close menu on click if outside the menu.
1776 I think, haven't tested.
1778 * openbox/menu.c: more fixes
1780 2003-07-26 Ben Jansens <xor@zed.orodu.net>
1782 * Makefile.am, configure.ac: restarting work on obconf
1784 * ChangeLog: recent changes
1787 split resistance strengths for screen edges and windows. also a fix for parsing changes,
1789 * openbox/stacking.c: dont stack groups together
1791 2003-07-26 woodblock <woodblock@zed>
1793 * openbox/event.c, openbox/menu.c, openbox/menu.h: Some menu updates.
1794 Don't talk to me about menus.
1796 2003-07-25 Ben Jansens <xor@zed.orodu.net>
1798 * openbox/client.c, openbox/client.h:
1799 add client_search_transient which searches the tree from a client down for a client
1801 * render/theme.c: dont allow parentrelative on top-level appearances
1803 * openbox/stacking.c: stacking fixes
1805 2003-07-24 Ben Jansens <xor@zed.orodu.net>
1807 * Makefile.am, openbox/openbox.c, openbox/openbox.h, openbox/session.c, openbox/session.h:
1808 save and load the session save file, though its data is not used yet!
1810 2003-07-24 woodblock <woodblock@zed>
1812 * openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c:
1813 I had a commit message but my commit got stepped on so fuck it.
1814 No one cares what I think anyway.
1815 If the menu navigation isn't EXACTLY FUCKING RIGHT I WILL REMOVE IT
1816 AND SOME OTHER POOR FUCK CAN PUT UP WITH ALL THE FUCKING BULLSHIT.
1818 2003-07-24 Ben Jansens <xor@zed.orodu.net>
1820 * ChangeLog: updates to changelog
1823 dont display the build type at the end its already in the output
1825 * configure.ac, openbox/action.c, openbox/client.c, openbox/debug.h, openbox/dock.c, openbox/event.c, openbox/focus.c, openbox/menu.c, openbox/menu_render.c, openbox/openbox.c, openbox/screen.c, parser/parse.c, render/color.c, render/gradient.c, render/instance.c, render/theme.c:
1826 use ob_debug for any debug printing and only display the output when its a debug build or when --debug is passed to it
1828 * render/gradient.c:
1829 draw the bevel stuff in the pixel data buffer so parent-relative stuff can use it.
1831 * render/render.c: space
1833 2003-07-23 Ben Jansens <xor@zed.orodu.net>
1836 init the parent shit in the surface when making a copy
1838 * Makefile.am: use rm -f
1840 * Makefile.am: include obconf_interface.h in the dist
1842 * Makefile.am: remove headers that dont exist
1844 * m4/Makefile.am: add the new m4s
1846 * openbox/menu.c: unhilite the entry for the submenu when it is closed
1848 * configure.ac: alpha2
1850 * DESIGN/themes.txt: add hover
1852 2003-07-23 woodblock <woodblock@zed>
1855 Added include_menu.c as an example of how one could write a plugin.
1857 * openbox/config.c, openbox/menu.c, parser/parse.c:
1858 * Change xml parsing to pass the parent node, rather than the first
1860 * Add x,y co-ordinates on showmenu action so we can place menus on keypress.
1862 2003-07-22 Ben Jansens <xor@zed.orodu.net>
1864 * openbox/event.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c:
1865 add the --replace command line option, and support for the WM_Sn selection
1867 * openbox/prop.c, openbox/prop.h: add the MANAGER atom.
1868 allow prop_message to be used with a user-defined mask instead of only with the NetWM mask
1870 * openbox/client.c: stop shownig the desktop when a new window maps
1872 * openbox/menu.c: add a func to find a menu entry from a submenu.
1873 keep menu entries highlighted while they have their submenu open
1875 * openbox/menu.h: add a func to find a menu entry from a submenu
1877 * openbox/menu.c, render/theme.c, render/theme.h:
1878 add a menuOverlap property to themes, and use it in the submenu placement
1880 * configure.ac: update to new version of gettext
1882 * m4/.cvsignore, po/.cvsignore: more stuff to ignore
1884 2003-07-21 woodblock <woodblock@zed>
1886 * openbox/event.c, openbox/menu.c, openbox/menu.h:
1887 Keyboard navigatable menus
1889 2003-07-19 woodblock <woodblock@zed>
1891 * openbox/action.c, openbox/menu.c: Fix a couple memory leaks.
1893 2003-07-17 woodblock <woodblock@zed>
1895 * openbox/menu.c, openbox/menu.h, openbox/plugin.c, openbox/plugin.h:
1896 Menu parsing updates for plugins.
1898 FIFO menus are the only plugin that takes advantage of this.
1900 <menu id="root" label="Openbox 3">
1901 <menu id="fonk" label="fonk" plugin="fifo_menu">
1905 This creates a FIFO ~/.openbox/fifo_menu/fonk to which you can send
1906 menus to. The menus sent to it must be like
1912 I think. If my memory serves me right.
1914 It is all hideous, but I just wanted to experiment and see if it was
1917 2003-07-12 Ben Jansens <xor@zed.orodu.net>
1919 * render/theme.c: useless code move
1921 * openbox/client.c: simple code cleanup
1923 2003-07-11 Ben Jansens <xor@zed.orodu.net>
1925 * render/color.c, render/render.c:
1926 removed the RrEndian so using LSBFirst always now. hopefully this works!
1929 when a transient maps on another desktop, give it focus when it deserves it
1931 * render/render.h: same default offsets for all endian machines
1933 * DESIGN/themes.txt: some input from woobie and changed the menu stuff
1935 * DESIGN/themes.txt: extra menu tag
1937 * openbox/openbox.c: add --g-fatal-warnings
1940 fix a seggie i introduced, going too far in the dockapps list
1942 * DESIGN/themes.txt: attempt #2
1944 * DESIGN/themes.txt: oops extra menu_layout
1946 * DESIGN/themes.txt: a full style defn..
1948 * openbox/client.c: move to the desktop of the activated window
1950 2003-07-10 Ben Jansens <xor@zed.orodu.net>
1952 * openbox/action.c, openbox/client.c, openbox/client.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/openbox.c, render/theme.c, render/theme.h, tests/.cvsignore, tests/noresize.c:
1953 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.
1955 when a window cant be resized, its handle is not removed but its grips are.
1957 change allowing the user to disable individual decorations as that is overkill,
1958 instead allow a toggle through the client.decorate boolean.
1960 * tests/Makefile: readd the Makefile
1962 * openbox/focus.c: simply startup/shutdown
1964 * AUTHORS: add some more contributors
1966 * openbox/openbox.c: sync is in unistd.h
1968 * openbox/client.c, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/window.c, openbox/window.h:
1969 prefix and capitalize ObMenu ObMenuEntry and ObMenuEntryRenderType
1970 make the ObMenuEntryRenderType a standard enum instead bitflags
1972 * openbox/focus.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/screen.h:
1973 move ob_pointer_pos to screen_pointer_pos
1975 * openbox/client.c, openbox/dock.c, openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/stacking.c:
1976 make ob_state a function so it cant be changed outside of openbox.c
1978 * openbox/client.c, openbox/dock.c, openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/grab.c, openbox/menu.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/prop.c, openbox/screen.c, openbox/stacking.c, openbox/startup.c:
1979 remove the ob_root var, its redundant of what Xlib already provides
1981 * openbox/openbox.c, openbox/openbox.h: use gint
1983 * openbox/openbox.c, openbox/openbox.h:
1984 ob_remote has been killed, remove ob_sync from the public header, its only used internally
1986 * openbox/openbox.c, openbox/openbox.h:
1987 the --rc arg and rc_path var wasnt even being used so just rm it
1989 * openbox/action.c, openbox/event.c, openbox/openbox.c, openbox/openbox.h:
1990 make the ob_restart/shutdown stuff static vars and expose them only through functions ob_restart_other(), ob_restart() and ob_exit()
1992 * openbox/stacking.c: remove useless include
1994 * openbox/focus.c, openbox/focus.h, openbox/screen.c, openbox/screen.h, openbox/stacking.c:
1995 replace the focus_backup with the screen_support_win, we dont need 2 offscreen windows.
1998 use the xerror stuff to trap errors instead of dupliacted the effort here
2000 * openbox/dock.c, openbox/dock.h, openbox/screen.c, openbox/timer.c, openbox/timer.h:
2001 prefix the Timer->ObTimer and TimeoutHandler->ObTimeoutHandler shitz
2003 * openbox/action.h, openbox/client.c, openbox/client.h, openbox/config.c, openbox/config.h, openbox/dispatch.c, openbox/dispatch.h, openbox/dock.c, openbox/event.c, openbox/extensions.h, openbox/framerender.c, openbox/framerender.h, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/popup.h, openbox/screen.h, openbox/stacking.c, openbox/stacking.h, openbox/window.c, openbox/window.h:
2004 prefixing and capitalizing the StackLayer -> ObStackingLayer enum.
2005 less includes in headers for less rebuilding on changes
2007 * openbox/client.c, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/screen.c:
2008 prefix and capitalize the ObFocusFallbackType enum
2010 * openbox/config.c, openbox/config.h, openbox/dock.c:
2011 use the ObOrientation enum instead of a horz bool for configuring the dock's orientation
2013 * openbox/config.c, openbox/config.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/window.c, openbox/window.h:
2014 prefixing for the dock. use ObDirection instead of dupliacting it in another enum for the dock's placement
2016 * openbox/popup.c, openbox/popup.h:
2017 prefixing for the Popup->ObPopup struct
2019 * openbox/moveresize.h: dont need client.h in this header
2021 * openbox/client.h, openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/framerender.h, openbox/popup.c:
2022 prefixing and capitalization for the Frame->ObFrame struct and the Context->ObFrameContext enum and its constants.
2024 * openbox/client.h, openbox/group.c, openbox/group.h:
2025 prefix Group to ObGroup
2027 * openbox/client.c, openbox/client.h, openbox/focus.c, openbox/stacking.c:
2028 prefix TRAN_GROUP to OB_TRAN_GROUP
2030 * openbox/action.c, openbox/client.c, openbox/client.h, openbox/frame.h, openbox/screen.c:
2031 prefix and capitalize some more constants/enums in client.h (Function -> ObFunctions and WindowType -> ObClientType)
2033 * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/dispatch.c, openbox/dispatch.h, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/group.c, openbox/group.h, openbox/menu.c, openbox/menu.h, openbox/moveresize.c, openbox/moveresize.h, openbox/popup.c, openbox/popup.h, openbox/screen.c, openbox/screen.h, openbox/stacking.c, openbox/window.c, openbox/window.h:
2034 rename the Client struct to ObClient
2036 * Makefile.am: add the new misc.h and mwm.h to the kernel sources
2038 * openbox/client.c, openbox/client.h, openbox/mwm.h:
2039 add a mwm.h for the mwm hint structure and flags.
2040 use proper prefixing and capitalization for the new mwm stuff.
2042 * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h, openbox/dispatch.c, openbox/dispatch.h, openbox/dock.c, openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/grab.c, openbox/grab.h, openbox/misc.h, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c, openbox/screen.h, openbox/stacking.c:
2043 add misc.h with some standard enumerations with proper prefixing and capitalizations.
2045 use the new enums throughout.
2047 provide keycodes and cursors through ob_cursor and ob_keycode functions, which use the new misc.h enums for picking the cursor and keycode.
2049 * openbox/client.c, openbox/client.h, openbox/event.c, openbox/extensions.c, openbox/focus.c, openbox/menu.c, openbox/moveresize.c, openbox/screen.c, openbox/screen.h:
2050 rename 'xinerama' stuff to 'monitors' to be more generic and descriptive.
2052 * openbox/stacking.c: speed up pick_group_windows too
2054 * openbox/stacking.c: make pick_windows waaaay faster
2056 * openbox/openbox.c:
2057 remove the use of the BINARY define. kill a compiler warning.
2059 * openbox/stacking.c: allow restacking of transients above one another
2062 put the transient's title before the parent's in the focus popup
2064 * openbox/extensions.c, openbox/extensions.h:
2065 remove the xinerama active boolean, just count the extension as not present if it is not active
2067 * openbox/client.c, openbox/client.h: add client_search_top_transient.
2068 keep transients all on the same desktop together. use client_search_top_transient where possible in client.c
2070 * openbox/debug.c, openbox/debug.h:
2071 add ob_debug for printing stuff only when debug is enabled
2073 * 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:
2074 remove rependancy on geom.h from the kernel, provide what is used in its own geom.h
2076 * Makefile.am, configure.ac, data/.cvsignore, data/Makefile, data/Makefile.am, openbox/.cvsignore, openbox/Makefile, openbox/Makefile.am, parser/.cvsignore, parser/Makefile, parser/Makefile.am, render/.cvsignore, render/Makefile, render/Makefile.am, themes/.cvsignore, themes/Makefile, themes/Makefile.am, tools/Makefile.am:
2077 update the build system, using a single Makefile.am for a sexyass non-recursive make. booyah!
2079 * gettext.h, openbox/gettext.h:
2080 move the gettext header out to the root source dir
2082 2003-07-07 Ben Jansens <xor@zed.orodu.net>
2084 * render/font.c: include stdlib for exit()
2086 2003-07-06 Ben Jansens <xor@zed.orodu.net>
2088 * bootstrap: add ACLOCAL_FLAGS to the aclocal call.
2090 2003-07-05 Ben Jansens <xor@zed.orodu.net>
2092 * openbox/openbox.c: use --foo instead of -foo for cmd line arguments
2094 * render/color.c, render/render.h:
2095 try some better default offsets for big endian machines.
2096 print what the conversion is so i can see what it should be if im wrong though
2099 used RrColorShift when RrColorOffset was what we wanted
2101 * configure.ac, openbox/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:
2102 use the gdk-pixbuf-xlib library to render with
2104 * configure.ac: coment the USE_LIBSN defined variable
2106 2003-07-02 Ben Jansens <xor@zed.orodu.net>
2108 * openbox/stacking.c:
2109 rename the raise and lower functions. raise is claimed by signal.h already
2111 2003-06-30 Ben Jansens <xor@zed.orodu.net>
2113 * openbox/dock.c: set te strut smaller when autohide is on
2115 2003-06-30 woodblock <woodblock@zed>
2118 Makes a simple click not so accidently annoying by making it not
2119 execute a menu action if nothing is highlighted.
2121 2003-06-30 Ben Jansens <xor@zed.orodu.net>
2123 * openbox/extensions.c:
2124 messed up the indexes while finding the combined size of all xineerama heads
2126 * openbox/extensions.c:
2127 oops, i want the max edges to find the full area
2129 * CHANGELOG, ChangeLog: using a changelog generated off of CVS
2131 2003-06-29 Ben Jansens <xor@zed.orodu.net>
2134 the prop_get_strings_locale function looked for a utf8 typed property
2136 * openbox/focus.c, openbox/openbox.c, openbox/stacking.c:
2137 add some comments and asserts to make sure I don't ever add this bug again
2140 create the popup's window before adding it to the stacking list, so that it is stacked properly and doesnt wreck everything
2142 * Makefile.am, configure.ac, data/Makefile.am, openbox/Makefile.am, parser/Makefile.am, render/Makefile.am, themes/Makefile.am:
2143 prepare for alpha1 release.
2144 make 'make dist' work.
2146 * m4/.cvsignore, m4/Makefile.am:
2147 add a makefile so i can put stuff into the make dist
2149 * m4/python.m4: python support is gone
2152 we dont really have any translatable stuff yet but this was pointing at old cpp shit
2154 * render/gradient.c:
2155 missed setting 'current' at the end of the pyramid gradient
2157 * openbox/stacking.c:
2158 waste of energy in stacking_add, and it even caused bugs. woops.
2160 2003-06-29 woodblock <woodblock@zed>
2162 * openbox/menu.c, openbox/menu_render.c:
2163 Handle menu events a little better: don't bother updating a submenu on
2164 mouseover if it is already open, and call update on menus, even if
2165 they aren't marked as invalid.
2167 2003-06-28 Ben Jansens <xor@zed.orodu.net>
2169 * openbox/openbox.c:
2170 use fprintf not g_message in the signal handler. no mallocing allowed.
2172 * render/font.c: remove debug print
2174 * openbox/prop.c: set the values of the array at teh right indexes
2176 * openbox/prop.c: fix memory bugs
2178 * data/rc3: remove the switch to... menu
2181 don't destroy font patterns, i think this is a double free
2183 * openbox/stacking.c:
2184 put group members above the window when lowering it
2186 * openbox/stacking.c: set the stacking list when stacking changes
2189 add the themes path to the struct. make the name never include a path
2191 * configure.ac, themes/Makefile.am:
2192 adjust the themes with buttons to match how they are read now
2194 * AUTHORS: simplify this shit
2196 * render/theme.c: hardcode the button names for themes
2198 * openbox/popup.c: dont need to raise after adding
2200 * render/theme.c: rename the button_dir var to data_dir.. pointless :>
2202 2003-06-27 Ben Jansens <xor@zed.orodu.net>
2204 * openbox/Makefile.am: build 'openbox' instead of 'openbox3'.
2205 add the openbox.desktop file for gnome compat.
2207 * openbox/screen.c: set "Openbox" as the name no "Openbox3"
2209 * openbox/openbox.desktop:
2210 add a .desktop file which gets installed for gnome
2212 * openbox/.cvsignore: add the openbox binary
2214 * openbox/openbox.c: add a call to g_set_prgname
2216 * openbox/stacking.c:
2217 stacking changes, its more like the old code without being shitty and with support for raising groups at a time.
2219 * openbox/stacking.c: core when the list gets out of order
2221 * openbox/client.c, openbox/client.h, openbox/dock.c, openbox/extensions.c, openbox/extensions.h, openbox/focus.c, openbox/geom.h, openbox/menu.c, openbox/menu.h, openbox/moveresize.c, openbox/screen.c, openbox/screen.h:
2224 * data/rc3: root menu on right click
2226 * openbox/event.c: 4 space indents
2228 2003-06-26 Ben Jansens <xor@zed.orodu.net>
2231 return true when ungrabbing so that it can ungrab them all on shutdown
2234 set ret to true when grabbing and we alerady have it grabbed
2237 dont destroy the match pattern, it seems that Xft holds onto the pointer
2240 check that extensions_vidmode is set before trying to use the vidmode functions
2242 * openbox/grab.c, openbox/grab.h: return FALSE if a grab fails
2245 set the desktop hint when the window already has a hint but its out of range
2247 * openbox/event.c: clear the over item in the menu when executing shit
2249 * openbox/stacking.h:
2250 add NUM_STACKLAYER, fix some comments that dont apply
2252 * openbox/menu.c: remove unused variable
2255 remove/add instead of raising to put a window into a new layer
2257 * openbox/stacking.c:
2258 new stacking code that doesnt suck ass to look at, woot
2261 use the minsize to keep the stuff ni the dock off of the bevel edges etc
2263 * render/theme.c: add comment
2265 * render/font.c, render/font.h, render/render.c, render/render.h, render/theme.c, render/theme.h:
2266 read fonts and titlebar layout from theme files
2268 2003-06-25 Ben Jansens <xor@zed.orodu.net>
2270 * data/rc3: add right click on icon to open the client menu
2272 * render/font.c: set teh X so it gets used right
2275 keep a small space on the sides of windows between the edge and the text
2277 * openbox/event.c: only render if there was an over existing
2279 * openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c:
2280 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
2282 * data/rc3: show the client meun on "press" on the icon
2284 * openbox/grab.c: grab all motion events for pointer grabs
2286 2003-06-24 Ben Jansens <xor@zed.orodu.net>
2288 * openbox/menu.c: position submenus correctly horizontally
2290 * openbox/menu_render.c: menus were too short by a border width
2293 check to make sure the window is on screen *after* positioning it
2295 * render/gradient.c: do horz grads without any multipliaction
2297 * render/gradient.c, render/render.h, render/test.c, render/theme.c:
2298 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.
2300 * render/gradient.c, render/test.c:
2301 integer math for gradients. horz vert and diags and pipecross work so far.
2303 2003-06-22 Ben Jansens <xor@zed.orodu.net>
2305 * openbox/menu.c, openbox/menu_render.c: add a simple menu parser.
2306 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.
2308 * openbox/openbox.c: reorder startup so menu goes before config parsing
2310 * data/rc3: add a root menu
2312 2003-06-21 Ben Jansens <xor@zed.orodu.net>
2314 * openbox/client.c, openbox/frame.c, openbox/frame.h:
2315 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.
2318 make client_reconfigure a non-user-type client_configure
2321 strdup the exec path cuz it gets freed by the time we restart otherwise
2323 * openbox/event.c: moveresize messages are not user-requests
2325 * openbox/client.c: remove debug print
2328 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.
2331 always create the bg pixmap, X seems to not like it if i dont?
2333 * openbox/openbox.c:
2334 always use the session id from the session manager when setting the restart property
2336 * openbox/openbox.c: add -sm-disable option
2338 * openbox/openbox.c:
2339 only show -sm-client-id in the help when session management is build in
2341 * openbox/openbox.c:
2342 session management works, and it can resume with its old ID, so it works with gnome-session
2344 * configure.ac, m4/x11.m4, openbox/Makefile.am, openbox/event.c, openbox/openbox.c:
2345 make session management optional
2347 * openbox/openbox.c:
2348 set the required properties so that session managers see openbox
2350 * render/font.c, render/theme.c:
2351 don't exit in the render lib, rather return a NULL font/theme on failure
2353 * openbox/event.c, openbox/openbox.c:
2354 add libSM *client* support, so we should work with gnome-session now!
2356 * render/instance.c, render/render.c: more namespacing with Rr*
2358 * render/color.c: use the pseudo shit in the instance now
2360 * render/gradient.c, render/gradient.h, render/render.c, render/color.c, render/color.h, render/image.c, render/image.h, openbox/client.c, openbox/screen.c, render/font.c, render/render.h, render/theme.h:
2361 more namespacing with Rr*
2363 * openbox/menu.h, openbox/menu.c: kill a warning
2365 * openbox/openbox.c, render/font.c, render/font.h, render/render.c, render/render.h, render/theme.c, render/theme.h:
2366 more namespacing to Rr*
2368 * openbox/menu.c: fix a warning
2370 * openbox/client.c, openbox/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:
2371 rename pixel32/16 to RrPixel32/16
2373 * render/color.c, render/color.h, render/render.h, render/theme.c, render/theme.h:
2374 rename color_rgb to RrColor
2376 * openbox/dock.c, openbox/frame.c, openbox/framerender.c, openbox/menu.c, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, render/font.c, render/font.h, render/theme.c, render/theme.h:
2377 put the render theme into a struct
2379 * openbox/client.c, openbox/dock.c, openbox/dock.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/screen.c:
2380 fixed to accomodate the changes to the render/ API.
2382 2003-06-20 Ben Jansens <xor@zed.orodu.net>
2384 * 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:
2385 this is going to break the kernel/ building.
2387 lots of modifications to the render API, prefixing everything, making proper
2388 names for everything. the structures are not hidden/opaque yet, but the naming scheme of the public API works much better now.
2390 * render/font.c: oops typo
2393 take the bevel width into account for the width available
2395 * openbox/dock.c, openbox/frame.c, openbox/framerender.c, openbox/menu_render.c, openbox/popup.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:
2396 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.
2398 * AUTHORS: miklos does themes like mad
2400 * render/gradient.c:
2401 slight optimizations, and make the last 4 gradients work properly
2404 center text vertically. use the font's height because all that space is needed for some charcters
2406 * openbox/frame.c, openbox/framerender.c, openbox/menu_render.c, openbox/popup.c, openbox/screen.c, render/gradient.c, render/render.c, render/render.h, render/test.c, render/theme.c:
2407 remove non-planar surfaces
2409 2003-06-19 Ben Jansens <xor@zed.orodu.net>
2411 * configure.ac, m4/gl.m4: remove --enable-gl
2414 fix for how base-size is used to comply with the icccm
2416 2003-06-18 Ben Jansens <xor@zed.orodu.net>
2418 * openbox/framerender.c: copy the frame's surface from the prototype
2420 2003-06-17 Ben Jansens <xor@zed.orodu.net>
2422 * bootstrap: export the WANT_AUTOMAKE var before running acloacl
2424 2003-06-17 manmower <manmower@zed>
2426 * openbox/client.c: wake up old icon grabbing code
2428 * render/color.c: remove unneeded/uncompiled junk
2430 2003-06-09 manmower <manmower@zed>
2432 * openbox/client.c: try swapping bytes on textures
2434 * openbox/client.c: | != &
2436 * openbox/client.c: fix? color on icons
2438 * openbox/client.c: remove bogus byte permutations in icon code
2440 2003-06-08 Ben Jansens <xor@zed.orodu.net>
2443 remove an extra useless call to focus_set_client(NULL)
2445 * openbox/client.c: describe the complicated if a bit :)
2447 * openbox/client.c: more checks for when to do an XResizeWindow
2450 send the configure notify for resizes too, just to be a little more safe
2453 onlt send configurenotify if the client actually moved, to work around emacs, hopefully :)
2456 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.
2458 * openbox/client.c: from icccm:
2459 If a base size is not provided, the minimum size is to be used in its place and vice versa.
2461 Added support for this.
2463 * openbox/frame.c: missing another bwidth
2465 * openbox/frame.c: position titlebars better, was missing a bwidth
2467 * openbox/client.c: i was backwards
2469 * openbox/event.c: this cnofigure is FINAL!
2472 don't resize the client itself while doing a resize if its not final when config_opaque_resize is not on
2474 2003-06-04 Ben Jansens <xor@zed.orodu.net>
2477 better VIDMODE support, handle the cases where the functions fail
2480 size fullscreen applications to the resolution with the VIDMODE extension
2482 * openbox/client.c, openbox/client.h, openbox/screen.c:
2483 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.
2485 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.
2486 call client_reconfigure when uniconifying a window, so that fullscreen windows are put at the point of the view port.
2489 remove that fancy new leftHanded option, it should be done via xmodmap instead
2492 add a leftHanded option for mouse bindings, reverses the left/right keywords
2494 * openbox/grab.c, openbox/grab.h:
2495 make key grabbing per window instead of always root
2497 * openbox/focus.c: allow cycling to iconic windows
2500 use client_can_focus from client_focus to always get the same result
2502 * openbox/client.c, openbox/client.h, openbox/focus.c:
2503 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
2506 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
2509 dont try change focus while looping thru the focus list
2511 * openbox/client.c, openbox/client.h, openbox/focus.c:
2512 allow focus_fallback to query if a client can be focused without changing the focus order on it
2514 2003-06-03 Ben Jansens <xor@zed.orodu.net>
2516 * openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/popup.c:
2517 modifications to keep up with libobrender2
2519 * openbox/popup.c: use theme stuff for the gfx/font
2521 * openbox/frame.c: layout fixes
2523 * openbox/frame.c: position the grips
2525 * openbox/framerender.c: fix some theme colors/display
2527 * m4/gl.m4, openbox/Makefile.am, openbox/client.c, openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/screen.c, openbox/window.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:
2528 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.
2530 * openbox/stacking.c: remove debug print
2533 more unique error for unhandles image bit depths, remove debug prints
2535 * render/color.c: handle increase_depth on 1bpp images
2538 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.
2540 * openbox/client.c: rm g_messages.. ones that segfault.. :>
2542 2003-06-02 Ben Jansens <xor@zed.orodu.net>
2544 * openbox/client.c: also dont increment the nicons if the w*h is 0
2546 * openbox/client.c: watch out for 0x0 icons, and skip them
2548 * openbox/menu_render.c, openbox/popup.c:
2549 create some temporary fonts to use for rendering text
2551 * openbox/frame.c, openbox/menu_render.c, openbox/popup.c:
2554 * openbox/frame.c, openbox/popup.c:
2555 adjust for some api extensions in render2
2557 * bootstrap: add env var to get automake 1.7
2559 2003-06-01 Ben Jansens <xor@zed.orodu.net>
2561 * COPYING, COPYING.FDL, COPYING.GPL, COPYING.LGPL, Makefile.am, README, configure.ac, m4/gl.m4, openbox/Makefile.am, openbox/client.c, openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/screen.c, openbox/window.c, openbox/window.h, 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:
2562 Merging in th gl2 branch. Adding a --enable-gl option to the configure script, which defaults off.
2564 2003-05-30 manmower <manmower@zed>
2566 * openbox/frame.c: adjust title bar text
2568 2003-05-30 Ben Jansens <xor@zed.orodu.net>
2571 adjust what gets raised on map a bit, a little less selective.
2573 2003-05-30 manmower <manmower@zed>
2575 * openbox/frame.c: add some test cases for the font crap
2577 2003-05-29 Ben Jansens <xor@zed.orodu.net>
2579 * m4/openbox.m4: better alpha/beta check :)
2581 * m4/openbox.m4: look for 'alpha' and 'beta' releases also
2583 * openbox/stacking.c:
2584 only add non-nonintrusively when both windows share a stacking layer
2586 * data/rc3: raise on client clicks
2588 2003-05-28 Ben Jansens <xor@zed.orodu.net>
2590 * COPYING: remove the generic COPYING
2592 * COPYING.FDL, COPYING.GPL, COPYING.LGPL: New file.
2594 * COPYING.FDL, COPYING.GPL, COPYING.LGPL, README:
2595 specify different licenses for different directories
2597 * openbox/action.c, openbox/action.h:
2598 rm the 'focusraise' action, it is redundant.
2600 * openbox/frame.c: use the new shape API from the render libs
2603 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
2606 no button mask on the plate, and some cleanups with redundant if's
2608 2003-05-28 manmower <manmower@zed>
2610 * openbox/frame.c: slightly improved theme
2612 2003-05-28 Ben Jansens <xor@zed.orodu.net>
2614 * openbox/popup.c: proper centering of the text in popups without icons
2616 2003-05-27 manmower <manmower@zed>
2618 * openbox/frame.c, openbox/frame.h: fixed the flicker in shape
2619 (we use a shapewindow now. it rules, I rule, fuck X, blah blah MOOOOOOO)
2621 2003-05-27 Ben Jansens <xor@zed.orodu.net>
2623 * openbox/frame.c: and typod
2625 * openbox/frame.c, openbox/frame.h:
2626 some cleanups, got rid of the border shit
2628 * openbox/event.c: toss out expose events to render
2630 * openbox/popup.c: no more seg
2632 * openbox/frame.c, openbox/frame.h: some cleanups
2634 2003-05-27 manmower <manmower@zed>
2636 * openbox/frame.c: free decor when removing frame
2638 * openbox/frame.c: HOW DO YOU LIKE MY SEXY NEW DECOR?!?
2640 * openbox/frame.c: I get my events on decor again
2641 and probably ruined exposure for some weird case. bwa ha ha
2643 * openbox/frame.c, openbox/frame.h: how about some UGLY decor!
2645 2003-05-27 Ben Jansens <xor@zed.orodu.net>
2647 * openbox/popup.c: paints are now recursive
2649 2003-05-27 manmower <manmower@zed>
2651 * openbox/frame.h: surface pointer please
2653 2003-05-27 Ben Jansens <xor@zed.orodu.net>
2655 * openbox/popup.c: proper layout
2657 * openbox/popup.c: i suck so much
2659 * openbox/event.c, openbox/menu.c, openbox/popup.c: DRAWS!!
2661 2003-05-27 manmower <manmower@zed>
2663 * openbox/frame.c, openbox/frame.h: added shape support for decor
2665 2003-05-27 Ben Jansens <xor@zed.orodu.net>
2667 * openbox/popup.c: dont try use an icon when where isnt one
2669 * openbox/client.c, openbox/client.h, openbox/dock.c, openbox/dock.h, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h, openbox/popup.c, openbox/screen.c, openbox/window.c:
2670 port to the new render stuff.. but this isnt complte since we don't have themes yet.
2672 * 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:
2673 removing the old render stuffs
2675 2003-05-27 manmower <manmower@zed>
2677 * openbox/frame.c, openbox/frame.h: added % based decoration sizes
2679 * openbox/frame.c, openbox/frame.h: fixed right decor anchors properly
2681 * openbox/frame.c: fix right anchor point offsets
2683 * openbox/frame.c: position windows for all anchor types
2685 * openbox/frame.c: all decor anchors supported
2687 * openbox/event.c, openbox/frame.c:
2688 change event.c to use a frame pointer instead of client pointer in framedecor
2689 frame.c now supports more decor anchors
2691 yay for 1 to many commit logs
2693 2003-05-26 Ben Jansens <xor@zed.orodu.net>
2695 * openbox/Makefile.am: link render version 2
2697 2003-05-26 manmower <manmower@zed>
2699 * openbox/frame.c, openbox/frame.h:
2700 frame pointer in framedecor instead of client pointer
2702 2003-05-26 Ben Jansens <xor@zed.orodu.net>
2704 * openbox/event.c, openbox/window.c: add case for Window_Decoration
2706 2003-05-26 manmower <manmower@zed>
2708 * openbox/frame.c, openbox/frame.h: client pointer in framedecor
2710 * openbox/frame.c: crap
2712 * openbox/frame.c, openbox/frame.h:
2713 I can now map arbitrarily sized invalid space above my windows!
2717 we now have no decor at all, but are otherwise functional
2719 2003-05-26 Ben Jansens <xor@zed.orodu.net>
2722 use frame->visible, not the desktop number, other states exist too, like show_desktop
2724 * openbox/dock.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/menu.c, openbox/popup.c, openbox/screen.c, openbox/window.h:
2725 merge in the changes made in the gl branch
2727 * Makefile.am, configure.ac:
2728 create the glft library. it will be using freetype and fontconfig to render fonts in GL.
2729 flesh out render2 a bit more.. actually just in comments
2731 * Makefile.am, configure.ac:
2732 add a new render2 lib, which has a proper API and uses only OpenGL to render.
2734 * render/render.c: remove GL from the old render lib for now
2736 * configure.ac, m4/gl.m4:
2737 gl support in configure, fontconfig instead of xft
2739 2003-05-26 manmower <manmower@zed>
2741 * openbox/frame.c: add back some frame adjust stuff
2743 * openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/window.h:
2744 complete destruction of all current frame functionality.
2747 2003-05-25 manmower <manmower@zed>
2749 * render/gradient.c, render/mask.c, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h, openbox/dock.c, openbox/frame.c, openbox/framerender.c, openbox/menu.c, openbox/popup.c, openbox/screen.c, render/color.c, render/color.h:
2750 everything compiles. everything is broken.
2752 rendertest works, yay.
2754 * render/render.c: now it even links.
2756 * render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/render.c, render/render.h:
2757 once again it compiles.
2759 no, it does not work
2761 much has been removed.
2763 2003-05-25 Ben Jansens <xor@zed.orodu.net>
2765 * configure.ac, m4/gl.m4:
2766 right branch. no more xft. fontconfig. gl. woot.
2768 * configure.ac, m4/gl.m4: omg wrong branch!
2770 * configure.ac, m4/gl.m4: always gl. fontconfig instead of xft.
2772 2003-05-25 manmower <manmower@zed>
2774 * render/gradient.c: gl.h shouldn't be required when not enabling gl
2776 2003-05-25 Ben Jansens <xor@zed.orodu.net>
2778 * README.CVS: add the glade/gtk deps for debian
2780 2003-05-25 manmower <manmower@zed>
2782 * render/gradient.c, render/test.c: all grads done
2784 * render/gradient.c, render/test.c: pipecross
2786 * render/gradient.c, render/test.c: rectangle and diagonal grads yay
2790 2003-05-25 Ben Jansens <xor@zed.orodu.net>
2792 * data/rc3: Shade not Shaded
2794 * README.CVS: add debian package list
2796 * README.CVS: automake 1.7
2798 * README.CVS: mention glib, xml, gtk and glade
2801 make autoconf 2.54 required. makes automake1.6 get used on some systems
2803 2003-05-25 manmower <manmower@zed>
2805 * render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
2806 gl is starting. it's gonna get really ugly really fast, folks
2808 2003-05-24 Ben Jansens <xor@zed.orodu.net>
2810 * Makefile.am, configure.ac, openbox/Makefile.am, openbox/action.c, openbox/action.h, openbox/config.c, openbox/focus.c, openbox/openbox.c, openbox/parse.c, openbox/parse.h, openbox/plugin.c, parser/.cvsignore, parser/Makefile.am, parser/parse.c, parser/parse.h, tools/.cvsignore, tools/Makefile.am:
2811 this is a big one! im putting stats in here just cuz!
2812 59 files changed, 1691 insertions(+), 607 deletions(-)
2813 Adding the beginings of ObConf. Adding a resistance-config plugin for ObConf.
2814 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)
2817 convert shit from utf8 to filename before execing it
2819 * configure.ac, data/rc3, openbox/Makefile.am, openbox/config.c, openbox/openbox.c, openbox/parse.c, openbox/parse.h, openbox/parse.l, openbox/parse.y:
2822 * openbox/action.c, openbox/action.h:
2823 add actions for showing the desktop
2825 * openbox/action.c, openbox/action.h: soem changes to desktop actions.
2826 instead of having *wrap actions, just default to having wrap on, and let it be optionally placed into the rc to disable it.
2827 instead of next/prev desktop, just have actions for desktop to the right/left/up/down. this applies to sendtodesktop actions too.
2829 * openbox/focus.c: add a DEBUG_FOCUS print
2832 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.
2834 * openbox/client.c: use the user friendly desktop number
2836 * openbox/focus.c: clarify comment
2838 2003-05-23 Ben Jansens <xor@zed.orodu.net>
2841 dont refocus the focused window, that just causes so many problems (with alt-tab :)
2843 * openbox/prop.c: validate utf8 strings before using them
2845 * configure.ac, m4/gl.m4, openbox/Makefile.am, render/Makefile.am:
2846 add --enable-gl support, and put the flags/libs in the appropriate makefiles
2848 * openbox/focus.c: remove a todo item that seems to be.. done!
2851 missed a case of using the stacking list and assuming that its all clients still. fixed that assumption now.
2854 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.
2856 2003-05-22 manmower <manmower@zed>
2858 * render/test.c: fix cut'n'paste bug
2860 2003-05-22 Ben Jansens <xor@zed.orodu.net>
2862 * openbox/event.c: only button 1 can use menu items
2864 2003-05-22 manmower <manmower@zed>
2866 * render/render.c: removed a piece of code I suspect has never been run
2867 this is for XServers that report less than 8 bpp default visual and support
2868 8bpp or higher visuals
2870 hopefully nothing is really that stupid. we'll see.
2872 * render/render.h, render/render.c:
2873 keep XVisualInfo around in preparation for opengl stuff
2875 2003-05-22 Ben Jansens <xor@zed.orodu.net>
2878 remove shit for my own makefiles that i dont need no more
2880 * openbox/event.c: a missing break!
2882 2003-05-22 woodblock <woodblock@zed>
2884 * openbox/menu.c: layers submenu on client
2886 2003-05-22 Ben Jansens <xor@zed.orodu.net>
2888 * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h:
2889 add actions for changing client layers to abov/below/normal
2891 * openbox/client.c: typo
2893 * openbox/plugin.c: load the client_menu by default for nowc
2895 2003-05-21 woodblock <woodblock@zed>
2897 * data/rc3, openbox/client.c, openbox/event.c, openbox/menu.c, openbox/menu.h:
2899 Add "client_menu" to pluginrc to use.
2901 2003-05-21 Ben Jansens <xor@zed.orodu.net>
2903 * render/font.c: optimize it a bit
2906 pass the number of bytes, not characters to the xft draw functions
2908 * openbox/action.c, openbox/action.h: add 'movetoedge' actions
2910 * openbox/screen.c: add xerror.h
2913 Openbox3 in the WM name, FUCK OFF XINE, YA YOU HEARD ME.
2915 * render/gradient.c: allocate the border_color's gc
2917 2003-05-20 Ben Jansens <xor@zed.orodu.net>
2919 * render/color.c, render/render.c:
2920 put the devation back how it used to be, it aws definately no better..
2922 2003-05-20 manmower <manmower@zed>
2924 * render/gradient.c:
2925 of by one error in pyramid, rectangle, and crosspipe
2927 2003-05-20 Ben Jansens <xor@zed.orodu.net>
2929 * render/gradient.c: remove debug prints
2931 * render/gradient.c: reindent the file....
2932 but while i'm at it:
2933 - add support for bevels/borders on solid textures.
2934 - reverse the colors in the rectangle gradient, the pipecross and pyramid
2935 ones may need to be reversed as well.
2937 * render/render.c, render/render.h: remove the elliptic gradient type.
2938 add bevel light/dark colors for solid textures with bevels
2941 use the rectangle gradient when the theme asks for elipse
2943 * m4/openbox.m4: argh put it back right!*(
2945 * m4/openbox.m4: fuck it, put it back
2947 * m4/openbox.m4: smarter default debug value :)
2949 * m4/openbox.m4: default debug off (for non-cvs builds!)
2952 ignore errors when playing with application defined colormaps
2954 2003-05-19 Ben Jansens <xor@zed.orodu.net>
2956 * openbox/dock.c: get the size for all the apps before positioning them
2959 set teh dock sizes before the app uses it for positioning
2961 * openbox/dock.c: center dock apps
2963 * openbox/action.c: use the resize increment when resizing relative
2965 * openbox/action.c, openbox/action.h, openbox/client.c, openbox/client.h:
2967 a) directional focus actions
2968 b) action system changes i.e. use structs/arrays for convertings strings to actions instead of gross if-else chains
2970 2003-05-18 woodblock <woodblock@zed>
2972 * openbox/menu.c: Added a fifo_menu plugin
2974 2003-05-18 manmower <manmower@zed>
2976 * render/gradient.c, render/test.c: PipeCross
2978 * render/gradient.c: there's the rect grad. now stop bugging me :(
2980 * render/gradient.c: is that a rectangle grad? damned if I know
2982 2003-05-18 Ben Jansens <xor@zed.orodu.net>
2984 * openbox/client.c, openbox/client.h, render/color.c, render/color.h, render/image.c, render/render.c, render/render.h:
2985 make icons use pixel32 data, and image_draw takes pixel32 data.
2986 client.c gets pixmap icons as a backup to netwm ones, and they are converted into pixel32 data.
2988 * openbox/focus.c: include grab.h
2990 2003-05-18 manmower <manmower@zed>
2992 * render/test.c: whatever, it's a junk file.
2994 * render/gradient.c: change badly named offsets
2995 add stubs for rectangle and pipecross
2997 * render/image.c: rename poorly named offsets
2999 * render/gradient.h: add stubs for pipecross and rectangle
3001 * render/color.h: fix poor naming of default offset
3003 * render/color.c: fix poor naming of the default offset
3005 2003-05-18 woodblock <woodblock@zed>
3008 this is actually xor :) - fixing the focus search function to not return NULL if no valid group members exist to be a transient for
3010 2003-05-18 Ben Jansens <xor@zed.orodu.net>
3012 * openbox/stacking.c:
3013 proper check to see if something was raised, the it==NULL would cause it to always return, incorrectly.
3015 * openbox/client.c, openbox/client.h, openbox/event.c, openbox/stacking.c, render/render.c, render/render.h:
3018 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).
3020 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.
3022 2003-05-18 woodblock <woodblock@zed>
3024 * HACKING: Indentation stuff
3026 2003-05-18 Ben Jansens <xor@zed.orodu.net>
3028 * configure.ac: actually optional now.
3030 * configure.ac: make LIBSN optional
3033 grab the mouse during focus cycling. this removes the bug of focusing following the mouse when the popup disappears and fuck up your cycling.
3035 * render/Makefile.am: need the libsn flags
3037 * configure.ac, openbox/Makefile.am, openbox/event.c, openbox/openbox.c, openbox/openbox.h, openbox/screen.c:
3038 add (optional) support for showing a busy cursor via startup notification
3040 2003-05-17 Ben Jansens <xor@zed.orodu.net>
3042 * openbox/event.c: disallow drag events on title buttons.
3043 dont redraw title button when the wheel buttons are used on them.
3045 2003-05-16 Ben Jansens <xor@zed.orodu.net>
3047 * openbox/client.c: print the class not the name
3049 * openbox/prop.c: get all the strings!
3051 * openbox/client.c, openbox/dock.c, openbox/dock.h:
3052 save the dock's class/name for future evil purposes!
3053 also print names of windows being managed/unmanaged
3055 * data/rc3: discourage floating a bit, capitalize better.
3057 * openbox/dock.c: FUCK dock is not an array anymore!
3059 * openbox/dock.c, openbox/dock.h, openbox/screen.c:
3060 give the dock a strut and use it
3062 * openbox/event.c: remove debug prints
3064 * openbox/dock.c, openbox/dock.h, openbox/event.c:
3065 dockapps are ObWindows now.
3066 set the type when creating new dockapps.
3068 * data/rc3, openbox/Makefile.am, openbox/client.c, openbox/client.h, openbox/config.c, openbox/config.h, openbox/dock.c, openbox/dock.h, openbox/event.c, openbox/frame.c, openbox/menu.c, openbox/menu.h, openbox/openbox.c, openbox/screen.c, openbox/slit.c, openbox/slit.h, openbox/window.c, openbox/window.h:
3069 rename "Slit" to "Dock".
3070 add config options to the rc3 for the dock.
3071 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).
3073 * openbox/client.c, openbox/menu.c, openbox/moveresize.c, openbox/popup.c, openbox/slit.c, openbox/stacking.c, openbox/stacking.h:
3074 add anotehr stacking_add function.
3075 make stacking_add take care of raising also.
3076 make new windows that dont get focus also not raise above the focused window.
3078 * openbox/event.c: movnig shit around
3080 2003-05-14 Ben Jansens <xor@zed.orodu.net>
3082 * openbox/menu.c: watch out for not loading the timed_menu plugin
3084 * openbox/client.c: pass teh correct values for config notify events
3086 2003-05-14 woodblock <woodblock@zed>
3088 * openbox/event.c, openbox/event.h, openbox/menu.c:
3089 Added a menu to read from a pipe.
3090 File descriptors added to the event loop.
3092 2003-05-12 woodblock <woodblock@zed>
3094 * openbox/event.c, openbox/event.h, openbox/menu.c:
3095 woodblock's failed attempt at making pipes work
3097 2003-05-11 Ben Jansens <xor@zed.orodu.net>
3099 * data/rc3, openbox/config.c, openbox/config.h, openbox/moveresize.c:
3100 add opaque move/resize to the rc3
3102 * openbox/stacking.c:
3103 was using the frame window in the stacking list hint
3105 * openbox/event.c, openbox/menu.c, openbox/moveresize.c, openbox/popup.c, openbox/stacking.c, openbox/window.c, openbox/window.h:
3106 add internal popups n shit to the stacking list.
3107 some cleanups for the stacking order hint.
3108 add non-opaque move/resize. cant toggle it yet.
3110 * openbox/menu.c: rm comment for shit i fixed
3112 * TODO: updated... it sucks tho anyways
3115 not everything in the stacking_list is a client anymore
3117 * openbox/event.c, openbox/menu.c:
3118 Menus put themselves into the stacking list.
3119 Clicking on the menu (but not on an entry) will raise it.
3121 * openbox/Makefile.am, openbox/action.c, openbox/client.c, openbox/client.h, openbox/config.h, openbox/event.c, openbox/focus.c, openbox/menu.c, openbox/menu.h, openbox/openbox.c, openbox/slit.c, openbox/slit.h, openbox/stacking.c, openbox/stacking.h, openbox/window.c, openbox/window.h:
3122 Clients Menus and Slits are all 'ObWindow's now.
3123 Stacking is done with ObWindows.
3124 Slits add themselves to the stacking order, as do clients of course.
3125 Added some macros for adding/removing to the stacking order.
3128 garb press events so they dont break bindings... X sucks
3131 grab button events on the slit so they dont go through to root
3133 * openbox/client.c, openbox/slit.c, openbox/slit.h:
3134 use the size of the icon window for slit apps, not the client window
3136 * openbox/event.c, openbox/grab.c, openbox/grab.h, openbox/slit.c, openbox/slit.h:
3137 can drag slit-apps around in the slit
3139 2003-05-10 Ben Jansens <xor@zed.orodu.net>
3141 * openbox/event.c, openbox/slit.c, openbox/slit.h, openbox/timer.h:
3142 add autohiding to the slit
3144 * openbox/event.c, openbox/slit.c, openbox/slit.h:
3145 some slit fixes, support resizing slitapps
3147 * Makefile.am, configure.ac: rm the tools dir
3149 * tools/Makefile.am: rm this garbage...
3151 * openbox/Makefile.am, openbox/client.c, openbox/event.c, openbox/frame.c, openbox/openbox.c, openbox/screen.c, openbox/slit.c, openbox/slit.h:
3152 add a slit to the kernel
3154 * doc/.cvsignore: add the sgml dir
3156 * openbox/menu.c: make the client menu not have a title
3159 be more careful about ignoring focusin/out event pairs
3161 2003-05-10 woodblock <woodblock@zed>
3163 * openbox/menu.c: Turn off timed_menu by default
3165 * openbox/menu.c, openbox/menu.h:
3166 Timed menu that reads output from a process while the window is hidden
3168 * openbox/event.c, openbox/menu_render.c: whitespace
3170 2003-05-09 Ben Jansens <xor@zed.orodu.net>
3172 * configure.ac: nice merge
3174 2003-05-09 woodblock <woodblock@zed>
3176 * configure.ac, openbox/event.c, openbox/menu.c, openbox/menu.h, openbox/menu_render.c, openbox/plugin.c, openbox/plugin.h, openbox/timer.c:
3178 Since we have no menu parser see menu_startup() to customize
3180 2003-05-09 Ben Jansens <xor@zed.orodu.net>
3182 * openbox/client.c, openbox/client.h, openbox/event.c, openbox/focus.c:
3183 add a client_activate function, use it for net_wm_active mesgs and for focus cycling.
3185 * openbox/focus.c: unshade windows when you cycle focus to them
3187 * openbox/openbox.c, openbox/popup.c, openbox/popup.h, tools/Makefile.am:
3188 add shit that i made in the last week!
3190 * HACKING, Makefile.am, configure.ac, data/rc3, m4/x11.m4, openbox/Makefile.am, openbox/client.c, openbox/client.h, openbox/config.c, openbox/config.h, openbox/event.c, openbox/extensions.c, openbox/extensions.h, openbox/focus.c, openbox/framerender.c, openbox/framerender.h, openbox/menu.c, openbox/moveresize.c, openbox/moveresize.h, openbox/openbox.c, openbox/parse.h, openbox/parse.l, openbox/parse.y, openbox/screen.c, openbox/screen.h, openbox/stacking.c, render/font.c, render/image.c, render/render.c, render/render.h, render/theme.c, render/theme.h:
3191 all my changes while i was offline.
3192 better alt-tabbing. better transient handling. i dont even know. lots of fucking cool shit so WATCH the FUCK OUT.
3194 2003-04-28 Ben Jansens <xor@zed.orodu.net>
3197 move windows before calcing struts. watch for windows on DESKTOP_ALL when removeing a desktop
3199 2003-04-27 Ben Jansens <xor@zed.orodu.net>
3201 * openbox/client.c, openbox/stacking.c:
3202 a more correct for the missing frame problem. don't restack windows when changing the window's layer while it is being managed.
3204 * openbox/stacking.c:
3205 watch for windows without frames, they can be in the transient order before they get fully managed
3207 * doc/themerc.txt: no longer pertinent
3209 * render/image.c, render/image.h, render/render.c:
3210 fix window icon rendering, was using incorrect size.
3212 * render/color.h: its G_BYTE_ORDER not G_ENDIAN.
3214 2003-04-26 Ben Jansens <xor@zed.orodu.net>
3216 * openbox/moveresize.c:
3217 show the move coords for where the window will actually be
3219 2003-04-25 Ben Jansens <xor@zed.orodu.net>
3221 * openbox/client.c: only focus on startup if focus_new is true
3223 * openbox/Makefile.am, openbox/client.c, openbox/openbox.c, openbox/screen.c, openbox/startup.c, openbox/startup.h:
3224 restore the desktop and focused window on restarts if possible
3226 * openbox/action.c, openbox/client.c, openbox/client.h, openbox/focus.c, openbox/focus.h:
3227 add helper functions for manipulating the focus_order list.
3228 move the focus popup into focus.c, out of action.c
3229 allow cycling to iconic windows, which are kept at the bottom of the focus_order lists.
3231 * openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c:
3232 let the frame hold a focus state so that it can lie.
3233 dont focus windows while cycling, just highlight them as if they are focused
3235 * openbox/framerender.c: icons are not at +1 anymore
3237 2003-04-24 Ben Jansens <xor@zed.orodu.net>
3240 some more checks for transients looping on eachother when they are transients of a group
3242 2003-04-22 Ben Jansens <xor@zed.orodu.net>
3245 client side shit ISNT 32 bits on 64 bit platforms, its 64 bits. fuck X so hard.
3247 2003-04-22 woodblock <woodblock@zed>
3249 * CHANGELOG: NLS update
3251 2003-04-22 Ben Jansens <xor@zed.orodu.net>
3254 even better checks for when to focus new windows. focus dialogs when they are the only member of their group
3256 2003-04-22 woodblock <woodblock@zed>
3258 * openbox/menu.c, openbox/menu.h, openbox/menu_render.c:
3259 More menu changes to facilitate plugins.
3261 * openbox/Makefile.am, openbox/menu.c, openbox/menu.h, openbox/menu_render.c:
3262 Render menus only when they are invalid.
3264 2003-04-21 Ben Jansens <xor@zed.orodu.net>
3266 * README.CVS: add automake
3268 * data/rc3: focus on press onm the titlebar buttons
3271 yet more changes to choosing to focus windows when they mapp
3273 * openbox/parse.h, openbox/parse.y:
3274 try avoid cicular includes with the bison shit
3276 2003-04-20 woodblock <woodblock@zed>
3280 2003-04-20 Ben Jansens <xor@zed.orodu.net>
3282 * openbox/frame.c, openbox/framerender.c:
3283 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
3285 * openbox/client.c: new focus-new rules
3287 2003-04-20 woodblock <woodblock@zed>
3289 * CHANGELOG: Update log
3291 2003-04-19 Ben Jansens <xor@zed.orodu.net>
3293 * openbox/client.c: i lied.. fuck @ those gnome dialogs
3295 * openbox/client.c: lighten up a bit on the focus new windows criteria
3297 * openbox/event.c: rm invalid comment
3299 * openbox/event.c: only look for FocusOut events on the same window
3302 convert STRING properties from "ISO-8859-1" instead of from the current locale, since this is what they apparently are, according to gdk.
3304 * openbox/prop.c: check the string not the pointer to it
3306 2003-04-18 Ben Jansens <xor@zed.orodu.net>
3308 * openbox/event.c: the mouse grab screws that up
3310 * openbox/event.c: dispatch presses and releases during a move/resize
3312 * openbox/event.c: kill the debug prints for now
3314 * openbox/event.c: nm cant do it.. damn
3317 ignore another type of crossing event, caused when leaving gtk popup menus
3319 * openbox/focus.c: just formatting
3322 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.
3325 adjust choosing to focus new windows, make it more strict.
3326 eat all Enter events when unmapping a window so focus fallback can be more smarter..
3328 * openbox/screen.c: dont need to sync
3330 * openbox/focus.c: check for client_normal before focusing
3333 when unfocusing a window (e.g. unmanaging) try fallback to transient relations, if that fails, try group relations, then fallback to other window.
3336 try focus other transients of the parent window when a transient falls back before focusing the parent
3338 * openbox/moveresize.c: unset it AFTER using it...
3340 * openbox/moveresize.c: unset the client when done moveresizing
3342 * openbox/openbox.c:
3343 don't wait(), the glib function does that for us woot.
3346 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.
3348 * openbox/focus.h: comment typo
3350 * openbox/client.c, openbox/moveresize.c, openbox/moveresize.h:
3351 watch out when unmanaging a window, that it is not being move/resized
3353 2003-04-17 Ben Jansens <xor@zed.orodu.net>
3356 a) put transient windows on the same desktop as their parent
3357 b) if a window is attempted to be focused but it is not on the current desktop,
3358 then move it to the top of the focus order on its desktop
3361 distribute focus when entering/leaving show-the-desktop mode
3363 * openbox/event.c: remove debug print
3365 * openbox/moveresize.c, openbox/openbox.c, openbox/openbox.h:
3366 add the left/right/top/bottom direction arrows and use them for resizing those ways
3368 * openbox/event.c: dont ignore all Virtual pointer events
3370 * openbox/action.c: 02:33 (@xor) omg yes
3371 02:33 (@xor) grid workspace cycling of d3th
3373 * openbox/action.c: fix grip workspace cycling
3375 * openbox/event.c, openbox/grab.c, openbox/grab.h, openbox/moveresize.c, openbox/moveresize.h:
3376 fix up support for moveresize. make keyboard grabs Async so that i can hit escape to cancel a moveresize process.
3378 * openbox/openbox.c: do not shadow parameter pls
3380 * openbox/moveresize.c: initialize start_x/y
3382 * openbox/focus.c, openbox/moveresize.c, openbox/moveresize.h, openbox/openbox.c, openbox/openbox.h:
3383 add support for interactive/keyboard move/resize
3385 * openbox/event.c, openbox/prop.c, openbox/prop.h, openbox/screen.c:
3386 add support for net_moveresize_window and net_wm_moveresize
3388 * openbox/frame.c: use the new cursor defn's
3390 * openbox/screen.c: use the new ptr cursor defn
3392 * openbox/Makefile.am, openbox/action.c, openbox/action.h, openbox/event.c, openbox/moveresize.c, openbox/moveresize.h, openbox/prop.c, openbox/prop.h:
3393 move the move/resize functionality into moveresize.c, for use with the netwm atoms. use it from teh plugins. combine the two actions.
3395 * openbox/framerender.c: put text centered in the popup dialog properly
3397 * data/rc3: make alt-middle the default resize binding
3399 * openbox/openbox.c, openbox/openbox.h:
3400 add more cursors for move/resizing, and use the arrows not the angle brackets
3403 grab pointer during cycling to remove focus screwups from focus-follows-mouse.
3404 grab during move/resize and assign a cursor while doing the move/resize too!
3406 * openbox/event.c: ignore virtual crossing events..
3408 * openbox/focus.c: that was dumb, it was metacity's fault
3410 * openbox/focus.c: only cycle to visible windows
3412 2003-04-16 Ben Jansens <xor@zed.orodu.net>
3414 * openbox/event.c: dont send menu events to plugins
3416 * data/rc3: show the root menu on right click
3418 * openbox/event.c, openbox/grab.c, openbox/grab.h, openbox/menu.c, openbox/menu.h:
3419 menus works on some level. add a built-in root menu
3421 * openbox/client.c: code cleanup
3423 * openbox/client.c: when flags are not set assume bette defaults
3425 * openbox/event.c, openbox/focus.c, openbox/menu.c, openbox/menu.h, openbox/openbox.c, openbox/stacking.c, openbox/stacking.h:
3426 raise menus above clients.
3427 hilight menu entries as the cursor passes over them.
3429 * openbox/menu.c, openbox/menu.h:
3430 save the window ids in a map for the menus
3432 * openbox/client.c: only change the group info if the group flag is set
3434 * openbox/client.c: only add transients if we are IN a group
3436 * openbox/client.c: oops nm
3438 * openbox/client.c: less ()s cleanup
3441 remove transients before removing ourlselves from teh group
3444 set the group to null when removeing ourselves from it
3446 2003-04-15 Ben Jansens <xor@zed.orodu.net>
3448 * openbox/action.c: watch out for missing a name
3450 * render/theme.c: make menu font smaller and !bold for now
3452 * openbox/action.c, openbox/action.h, openbox/framerender.c, openbox/menu.c, openbox/menu.h, openbox/openbox.c:
3453 start of showing/rendering menus. woot!
3455 * render/theme.c, render/theme.h: load menu style stuff
3457 * render/render.c, render/render.h:
3458 make minsize take int*'s not a Size*
3461 remove transients of the group from teh window when it leaves the group
3463 * openbox/client.c: add group transients when setting up the group
3465 * openbox/client.c: bug in the search for transient_for's
3467 * data/rc3: update the theme stuff
3469 2003-04-15 manmower <manmower@zed>
3471 * render/gradient.c: PYRAMID PARTY PART 2!!!
3473 * render/gradient.c, render/gradient.h: PYRAMID PARTY!!!
3475 2003-04-15 Ben Jansens <xor@zed.orodu.net>
3477 * openbox/screen.c: remove debug print
3479 2003-04-14 Ben Jansens <xor@zed.orodu.net>
3481 * openbox/client.c, openbox/prop.c, openbox/screen.c:
3482 fixes for handling char**s
3484 * render/font.c: indenting oopsie
3487 dont get a null at the end of the data, so use strndup
3489 * openbox/screen.c: fix a seg from ignoreing PROP_GETSS failure
3491 * openbox/screen.c: more fixes for working with char**s
3493 * openbox/screen.c: nullify the ends of the char**
3495 * openbox/client.c, openbox/prop.h, openbox/screen.c:
3496 remove casts from PROP defines. use proper vars and cast elsewhere if needed.
3498 * render/font.c: text justification
3501 shrink the area that the textures are rendered into by the bevels/borders
3503 * openbox/client.c, openbox/prop.c, openbox/prop.h, openbox/screen.c, openbox/screen.h, openbox/stacking.c:
3504 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.
3506 * openbox/menu.c, openbox/menu.h:
3507 these menus should not be removed, they are good and will be used.
3509 * openbox/event.c: clean up this mess of crap a lot
3511 * openbox/prop.c, openbox/prop.h:
3512 do not commit bad char* foo that breaks on !32 bit platforms
3514 2003-04-14 woodblock <woodblock@zed>
3516 * openbox/menu.c, openbox/menu.h: *** empty log message ***
3518 2003-04-14 Ben Jansens <xor@zed.orodu.net>
3520 * openbox/parse.l: allow _'s in identifiers
3522 * openbox/stacking.c: raise and lower all transients along with parents
3525 apply layers to all transients. only raise once on the highest window who's layer changed after applying layers to them all
3527 2003-04-13 Ben Jansens <xor@zed.orodu.net>
3529 * openbox/client.c: ifdef not ifndef
3531 * openbox/stacking.c: keep all transient windows above their parents
3533 * openbox/client.c: simple cleanups for the client_iconify function.
3534 also dont follow into other groups when searching up the transient_for tree
3536 * openbox/client.c: rm the unused vars
3538 * openbox/client.c: onyl focus 'normal' windows on map
3541 only keep fullscreen windows on top while they are focused
3543 * openbox/client.c, openbox/client.h:
3544 make fullscreen decorations and functions be calculated by the setup_decor_and_functions func
3546 * openbox/group.c: rm the group debug prints
3548 * openbox/client.c: only print that when debuggin focus
3550 * .cvsignore, openbox/.cvsignore, render/.cvsignore:
3551 ignore the remaining new shit from automaking everything again
3553 * .cvsignore, INSTALL, Makefile.am, Makefile.in, bootstrap, configure.ac, data/.cvsignore, data/Makefile.am, openbox/.cvsignore, openbox/Makefile, openbox/Makefile.am, po/.cvsignore, render/.cvsignore, render/Makefile, render/Makefile.am, tests/Makefile, themes/.cvsignore, themes/Makefile.am:
3556 * AUTHORS: shrimpx above miklos?
3558 * openbox/event.c, openbox/frame.c, openbox/frame.h:
3559 pass the Client for frame_context cuz the client might be NULL
3561 * themes/ebox: comment properly
3563 * render/theme.c: load the font shadow stuff from the old ob2 shitz
3565 * openbox/config.c, openbox/config.h, openbox/openbox.c:
3566 let specify theme in the rc3 file. rm the other old engine options
3568 * Makefile.in: break on errors
3570 * Makefile.in, openbox/.cvsignore, openbox/action.c, openbox/client.c, openbox/config.h, openbox/engine.c, openbox/engine.h, openbox/event.c, openbox/focus.c, openbox/frame.c, openbox/frame.h, openbox/framerender.c, openbox/framerender.h, openbox/openbox.c, openbox/parse.l, openbox/parse.y, openbox/screen.c, render/.cvsignore, render/font.h, render/mask.h, render/render.h, render/theme.c, render/theme.h:
3571 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.
3573 * themes/ob20, themes/operation, themes/outcomes, 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:
3576 * render/render.c: allow freeing NULL appearances
3578 * render/font.c: allow closing NULL fonts
3580 * render/mask.c: allow freeing NULL pixmap masks
3582 * render/color.c: dont fux self in color_free if the color is NULL
3584 2003-04-12 Ben Jansens <xor@zed.orodu.net>
3586 * tests/fullscreen.c: set the right mask for the client msg!
3588 2003-04-12 woodblock <woodblock@zed>
3590 * CHANGELOG: Fixed another damned focus bug. Pray.
3592 2003-04-11 Ben Jansens <xor@zed.orodu.net>
3594 * data/rc3: add right click in client focuses
3596 * openbox/client.c: make utility windows able to be resized
3598 * Makefile.in: rm the main Makefile in a distclean
3600 2003-04-10 Ben Jansens <xor@zed.orodu.net>
3603 deiconify transient parents when a child is deiconified.
3605 * openbox/client.h: no fuck that it was working fine
3607 * openbox/client.h: make the TRAN_GROUP an unsigned long
3609 * openbox/event.c: add MapRequest print
3612 some smarter rules for focusing new window when focus_new is not set
3614 2003-04-09 Ben Jansens <xor@zed.orodu.net>
3616 * Makefile.in, render/.cvsignore: add libcwmcc and libobcl
3618 * HACKING: describe the code subdirs
3621 dont show the focus popup when theres no target client
3623 2003-04-08 Ben Jansens <xor@zed.orodu.net>
3625 * openbox/event.c: rm debug print
3627 * tests/.cvsignore: add override
3629 * tests/override.c: add a test that maps an override redirect window
3631 * openbox/client.c, openbox/config.c, openbox/config.h, openbox/engine.c, openbox/engine.h, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/openbox.c, openbox/prop.c, openbox/screen.c:
3632 move config option loading for the kernel into config.c/h
3633 add options for the number of desktops and the names of the desktops
3635 * data/rc3: add the desktops options
3637 * data/rc3: better clickfocus friendliness
3639 * openbox/client.c: check for focus before unfocusing
3641 * openbox/client.c, openbox/event.c, openbox/focus.c, openbox/focus.h, openbox/screen.c:
3642 add more options for focus fallback, use an enum for all the types of fallbacks.
3644 * openbox/focus.c: only cycle focus to normal windows
3646 * data/rc3: make stacked cycling the default
3648 * openbox/action.c: show a popup with the focus target while cycling
3650 * openbox/focus.c, openbox/focus.h:
3651 fallback to transients' parents when possible.
3652 return the Client* which was focused from focus_cycle
3654 * openbox/client.c: fallback focus while unmanaging the window
3656 2003-04-07 Ben Jansens <xor@zed.orodu.net>
3658 * data/rc3: FocusRaise to be more clickfocus friendly too
3660 * data/rc3, openbox/focus.c, openbox/focus.h:
3661 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.
3663 * openbox/event.c: ignore inferior enternotifies
3664 add anotehr focusdebug print
3666 * openbox/client.c: check for new windows always being onscreen.
3667 rename the client pointer to self in teh manage&