Dana Jansens [Sat, 21 Apr 2007 21:32:21 +0000 (21:32 +0000)]
fixes for transients
1) don't count non-normal windows as parents when placing/stacking transients
2) in stacking.c, when a window is transient for the group but has no parents, then don't loop forever looking for its parents
Dana Jansens [Fri, 20 Apr 2007 05:22:23 +0000 (05:22 +0000)]
remove the client_time_heap thing. actually its better to just use the user_time on the currently focused window I think. that will handle panels and things too.
Dana Jansens [Wed, 18 Apr 2007 19:22:59 +0000 (19:22 +0000)]
get rid of global client_last_user_time variable.
add ObClientTimeHeap. This is a max-heap of the clients based on their user times. this only includes the clients whose user time is not CurrentTime. the maximum from this heap replaces the client_last_user_time variable, so that you always have the latest time, not the last time that was changed.
Send ConfigureNotify events when a window is mapped at the position it has specified. When we add decorations, the window gets moved in reference to the root window, so it needs to be told.
Dana Jansens [Wed, 28 Mar 2007 06:00:19 +0000 (06:00 +0000)]
use setenv to set up the DESKTOP_STARTUP_ID when launching programs.
before, if DESKTOP_STARTUP_ID was set in openbox, it would mess up adding it to the child's environment because it would appear twice. so now it will only appear once for the child always.
Dana Jansens [Sun, 25 Mar 2007 17:19:41 +0000 (17:19 +0000)]
better placement for top level menus under the mouse cursor. middle placement is not used for this now. it was behaving differently than submenus so i'd like to have some consistency
Dana Jansens [Sat, 24 Mar 2007 17:01:40 +0000 (17:01 +0000)]
kill window title numbering...
probably it was a dumb idea all along. you're not picking the numbers yourself and you're probably not remembering which window they apply to and the focus indicator thinger is much more clever than numbers
Dana Jansens [Wed, 21 Mar 2007 15:54:30 +0000 (15:54 +0000)]
allow focus to disappear to black holes. (that is, windows not managed by openbox). the black hole may just be a window on another monitor. keyboard events aren't going to work in this scenario, though.
Dana Jansens [Wed, 14 Mar 2007 21:07:30 +0000 (21:07 +0000)]
make focus_order into one long list instead of having one per desktop. this actually fixes bugs with omnipresent windows and adding desktops. it is just overall a little nicer i think.
also this is not tested. sorry if it breaks everything.
Dana Jansens [Wed, 14 Mar 2007 03:45:56 +0000 (03:45 +0000)]
a) fix resizerelative moving windows when they reach their minimum size do this by...
b) adding a function to let you see what size/position a window will be given when you actually try move/resize it to some given values. (client_try_configure)
Dana Jansens [Tue, 13 Mar 2007 02:29:08 +0000 (02:29 +0000)]
save and restore pre-maximized/fullscreen sizes properly
much cleanup on how per-app settings are applied to new mapping windows. maybe i broke it? but it'll be much quicker now, and it's consistant with the rest of the code, so hooray for that. pls let me know if i broke any of it :( hee..
Dana Jansens [Mon, 12 Mar 2007 17:31:11 +0000 (17:31 +0000)]
fallback is still getting x errors. instead, fallback when the client iconifies, and don't fallback when nothing has focus, send it to where we can control things though.
Dana Jansens [Mon, 12 Mar 2007 06:09:02 +0000 (06:09 +0000)]
focusins can occur on windows that aren't clients when there's latency involved. wm_torture proved this point. fallback in that situation. also fallback when nothing is focused.
Dana Jansens [Mon, 12 Mar 2007 05:25:34 +0000 (05:25 +0000)]
i rewrote handling of focus events. this is pretty much based on blackbox's current form, as well as reading the xlib programming manual at:
http://tronche.com/gui/x/xlib/events/input-focus/normal-and-grabbed.html
this may break for people. that'd be nice to hear about, so it can be fixed. but hopefully this is more robust. it sure is a lot more simple.