summaryrefslogtreecommitdiff
path: root/openbox/client.h
AgeCommit message (Collapse)Author
2007-05-06change the perapp settings "head" option to "monitor" i think its easier to ↵Dana Jansens
understand. some cleanup for perapp settings. make monitor and desktop be specified starting at 1, like elsewhere in the config file.
2007-05-06save session state for old clients that dont use XSMP. more session ↵Dana Jansens
improvements. with ksmserver we can save a few things before the clients go messing with stuff during the interactive phase.
2007-05-06a bunch of thigns got squashed into this commit.. sorry..Dana Jansens
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.
2007-05-05animate iconify/reestore. yeah.Dana Jansens
2007-05-03add the notion of "application windows" meaning normal or dialog type windows.Dana Jansens
let you alt-tab to non-application windows when they dont have an application window in their group
2007-05-02turn on demands_attention when urgent gets set, and turn it off when urgent ↵Dana Jansens
is removed, for those apps that think it is 1917 or something
2007-05-01a whole lot of changes to the moving/resizing code. it was broken for ↵Dana Jansens
non-northwest gravities. now it is not. at least, that is the idea.
2007-04-24add support for _NET_WM_SYNC_REQUESTDana Jansens
2007-04-24save windows' colormaps rather than querying them from the server every time ↵Dana Jansens
you focus it
2007-04-23cycling between dock windows now possible with the <panels>yes</panels> optionDana Jansens
2007-04-23include the header that has gethostnameMikael Magnusson
2007-04-23show the hostname of forwarded clients in the titlebarMikael Magnusson
2007-04-20remove the client_time_heap thing. actually its better to just use the ↵Dana Jansens
user_time on the currently focused window I think. that will handle panels and things too.
2007-04-18get rid of global client_last_user_time variable.Dana Jansens
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.
2007-04-12better synthetic configurenotify handling. in particular..Dana Jansens
http://bugzilla.gnome.org/show_bug.cgi?id=399552 on unmap, when we move the client window, we need to send a synthetic configurenotify.
2007-04-12don't fallback when a window is hidden right away, it's redundant, we'll get ↵Dana Jansens
a focusout for the window after the unmapnotify anyways. show new windows when switching desktops before hiding the old windows.
2007-03-24kill window title numbering...Dana Jansens
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
2007-03-19not passing timestamps sometimes and not others. set event_curtime when ↵Dana Jansens
client messages provide a timestamp.
2007-03-16mention when the logicalx/y is actually returnedDana Jansens
2007-03-14oh, 2 things in this commit..Dana Jansens
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.
2007-03-14a) fix resizerelative moving windows when they reach their minimum size do ↵Dana Jansens
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)
2007-03-13set IconicState on windows that are not visible always. this means windows ↵Dana Jansens
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.
2007-03-13save and restore pre-maximized/fullscreen sizes properlyDana Jansens
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..
2007-03-12don't validate inside client_focus. instead, validate before you call it!Dana Jansens
2007-03-12Rewrite the stacking code. It's a lot faster now, I should think. It's def a ↵Dana Jansens
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.
2007-03-11stacking has been made more reliable with groups and group transients.Dana Jansens
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.
2007-03-11make _NET_ACTIVE_WINDOW requests look at the timestamp when the user didn'tDana Jansens
request it
2007-03-11wow... this is a big commit...Dana Jansens
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..
2007-03-11add the _NET_WM_USER_TIME property support. When focus_new is enabled, don't ↵Dana Jansens
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.
2007-03-101) Remove support for the Urgent hint. This will no longer do anything ↵Dana Jansens
within Openbox 2) Add support for _NET_WM_STATE_DEMANDS_ATTENTION. Yay!
2007-03-02this includes a number of things since my magnificent return....Dana Jansens
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*
2006-10-31Add MoveFromEdge* actions, shorten client_directional_edge_search with some ↵Mikael Magnusson
handy #defines
2006-08-22update copyright step 2Mikael Magnusson
2006-06-09lollerskatesMikael Magnusson
2006-06-09add the rest of the possible states to per app settings, and fix some mem ↵Mikael Magnusson
leaks in the code that _set_ the per app list
2006-06-09add role matching to per app settings and fix a small memleak in the code ↵Mikael Magnusson
that frees the per app list
2006-06-08move stuff around some moreMikael Magnusson
2005-08-11fix programs showing their child windows outside the screen, but retain the ↵Mikael Magnusson
possibility to put windows slightly offscreen with the -geometry argument (which is why i broke it in the first place)
2004-03-21yay no tabs in the sourceMikael Magnusson
2003-10-15consistant glib type usageDana Jansens
2003-10-09provide function to tell if a client has any group siblingsDana Jansens
2003-09-28halfway through client changes but...Dana Jansens
should fix crashes irt actions in the action queue for clients that have been destroyed. now those actions are skipped or performed without a client as possible.
2003-09-26add client_raise and client_lower which just fire off actionsDana Jansens
2003-09-26add some more client tree searching functions. make transients always get ↵Dana Jansens
focused when a parent has focus, not just direct parents.
2003-09-26comment the client_search_transient functionDana Jansens
2003-09-25add client_set_undecorated().Dana Jansens
add support for the _OB_WM_STATE_UNDECORATED state hint.
2003-09-25dont use the _OPENBOX_PREMAX window property anymore, save max and ↵Dana Jansens
fullscreen pre-areas in the client struct
2003-09-21move the code to find the window under the pointer out of focus.c to client.cDana Jansens
2003-09-17no tabsDana Jansens
2003-09-17add copyright headers, adjust --version output to include copyright, and ↵Dana Jansens
--help output to not include version output.