| Age | Commit message (Collapse) | Author |
|
|
|
|
|
but this means we can't use actions in it. oh well?
can kill the desktop notifiers now too. yay for more obvious code paths.
|
|
|
|
non-normal windows.
let you focus windows that wouldnt normally by clicking on their decor (if they have any)
|
|
enter them.
|
|
|
|
instead which are the inverse. helper windows are utility/menu/toolbar windows.
|
|
|
|
menu if it changes. it does this by closing/opening the menu.. thats about the best we can do tho with this menu code without huge changes
|
|
"client leader" which is in the WM_CLIENT_LEADER property. also they are all set when the window maps, and not to be changed thereafter.
|
|
understand.
some cleanup for perapp settings.
make monitor and desktop be specified starting at 1, like elsewhere in the config file.
|
|
improvements. with ksmserver we can save a few things before the clients go messing with stuff during the interactive phase.
|
|
1. soem bug fixes for window stacking
2. clarify some functions behavior with their names
3. add (untested) support for legacy fullscreen apps. i have no idea what they do on a multihead xinerama setup though and if this would help there or need some changes.
|
|
|
|
let you alt-tab to non-application windows when they dont have an application window in their group
|
|
is removed, for those apps that think it is 1917 or something
|
|
non-northwest gravities. now it is not. at least, that is the idea.
|
|
|
|
you focus it
|
|
|
|
|
|
|
|
user_time on the currently focused window I think. that will handle panels and things too.
|
|
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.
hoefully it works, so far it seems to.
|
|
http://bugzilla.gnome.org/show_bug.cgi?id=399552
on unmap, when we move the client window, we need to send a synthetic configurenotify.
|
|
a focusout for the window after the unmapnotify anyways.
show new windows when switching desktops before hiding the old windows.
|
|
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
|
|
client messages provide a timestamp.
|
|
|
|
1) THIS ONE IS IMPORTANT: don't set client->iconfied if the window is not actually going to be allowed to iconify. heh!
2) changes to focus fallback to avoid crashing and to avoid losing focus all at the same time.
|
|
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)
|
|
on other desktops too.
as well, this turned out to be a nice cleanup of the wmstate code.
regards to the random dude in #openbox complaining about the ICCCM to make me think to look this up and see if openbox was compliant.
|
|
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..
|
|
|
|
more clever algorithm. It deals with group transients much better.
On that note, utility and menu and toolbar window types are now treated as group transients in terms of stacking and focus and such.
|
|
this was a pretty invasive change in client.c though, so it may break things?
it did expose some bugginess in client_calc_layer, which is now better than ever, hopefully there isn't more to be found.
|
|
request it
|
|
all related to _NET_WM_USER_TIME and focus stealing prevention
a) add launcher startup notification. this means when you run something from
the openbox menu or a key/mouse binding, that startup notification will go
on in openbox and other applications like your panel or something
b) add the _NET_WM_USER_TIME property for windows
c) use the _NET_WM_USER_TIME data and startup notification to prevent focus
stealing.
d) cookie party !! ! all are invited.
e) oh yeah, and pass around timestamps for a lot more things. like, when you
run an action, send the timestamp for the event that is running the action.
this is important for startup notification. this also affects menus.
f) yes.. cookies..
would it be a good idea to disable focus stealing prevention if a window takes
too long to load? i mean.. maybe after a certain length of time, a user can't be
expected to not do anything in any other windows, but would they still want the
new application to focus then? HMM. open question i guess..
|
|
focus new windows if the user is doing something in another window since it launched. If we can tell when it launched, either from the _NET_WM_USER_TIME or from startup notification.
|
|
within Openbox
2) Add support for _NET_WM_STATE_DEMANDS_ATTENTION. Yay!
|
|
1. some random compiling/style cleanups
2. some bigfixes
- mislogic in per-window-settings and focusing new windows
- use client_can_focus rather than checking variables for directional focus
- MAYBE fix all those lock-ups forever. using event_curtime (a new variable) now instead of event_lasttime. event_lasttime is still used however when the event being processed did not have a time associated with it. this may or may not be a problem, and will be seen.
3. um.. i forget
4. oh yeah, 3rd party docks are now treated like the internal ob dock irt focus. that is, clicking on them won't pass them focus. this is going to be ratified as expected behavior in the wm-spec just now. if docks/panels want focus they can request it with _net_active_window, and then they can have all the focus they want! one day alt-tabbing around dock windows might be nice. but not until the ob dock is moved out into a separate application. going to have to add a wmapp selection and stuff for that though... ugly. who uses wmdockapps anymore !? someone must.. *sigh*
|
|
handy #defines
|
|
|
|
|
|
leaks in the code that _set_ the per app list
|
|
that frees the per app list
|
|
|
|
possibility to put windows slightly offscreen with the -geometry argument (which is why i broke it in the first place)
|
|
|