summaryrefslogtreecommitdiff
path: root/openbox/client.h
AgeCommit message (Collapse)Author
2013-09-02Allow FillToEdge to grow when all its edges are blocked.Dana Jansens
This change points out how useless the return value from client_find_resize_directional() was, so it also removes that. When all edges are blocked, the FillToEdge action will try to grow all four edges agin without blocking any of them on their current edge. This more closely matches the behaviour of the GrowToEdge action.
2013-09-02Clean up the FillToEdge action implementationDana Jansens
This extend the client_find_resize_directional() method to support two growing modes, and return a bool for whether it was able to grow/shrink. The client_find_resize_directional() method now takes an enum instead of a bool, with two growing modes. The old mode which always tries to grow, the a new mode that will only grow if the client's edge is not already at a grow stopping point (ie against the edge of another window).
2013-08-19Add window type to If as wellMikael Magnusson
This one required some extra helpers so is separate commit
2012-10-06Fix duplicate const warningDana Jansens
2012-10-06Allow window matching based on the group leader's name and class (Fix bug 5721)Dana Jansens
In Openbox 3.4 we used the group leader's WM_CLASS value when it was available. This prevents windows in the group from overriding with a specific value, however which is bad. More rationale can be found in http://icculus.org/pipermail/openbox/2010-September/006790.html Some applications (eg. Firefox) use command line flags to set the WM_CLASS property on the group leader but do not change the property on the mapped windows themselves. This makes matching these windows not possible in Openbox 3.5. We resolve this by exposing the group's WM_CLASS values alongside the individual window's values. We add _OB_APP_GROUP_NAME and _OB_APP_GROUP_CLASS properties along with "groupname" and "classname" attributes for the rc.xml application tag.
2012-10-06Make LeastOverlap placment replace the behaviour of Smart and address style nitsDana Jansens
2012-09-30Allow client destroy notify functions to be removed based on the data ↵Dana Jansens
associated with them.
2011-10-16Propagate _NET_WM_WINDOW_OPACITY to the frame window (bug #5132)Dana Jansens
2011-01-24if no launch time is provided for an application, make one up.Dana Jansens
if the window is related to other existing windows and one of those windows was the last used then we will give it a launch time equal to the last user time, which will end up giving the window focus probably. else the window is related to other windows, but you are not working in them? seems suspicious, so we will give it a launch time of NOW - STEAL_INTERVAL, so it will be given focus only if we didn't use something else during the steal interval. else the window is all on its own, so we can't judge it. give it a launch time equal to the last user time, so it will probably take focus. this way running things from a terminal will give them focus, but popups without a launch time shouldn't steal focus so easily.
2010-03-01add a function client_is_oldfullscreen() that determines if a window is an ↵Dana Jansens
"oldschool fullscreen window" or not. use this throughout. and allow oldschool fullscreen windows to move to 0,0 even with a strut there.
2010-01-15Remember the maximized state of a window when it goes fullscreen and try ↵Dana Jansens
restore it after
2010-01-11Merge branch 'backport' into workDana Jansens
Conflicts: configure.ac data/rc.xml openbox/client.c openbox/event.c openbox/focus_cycle.c openbox/focus_cycle_popup.c openbox/openbox.c openbox/prop.c openbox/prop.h openbox/screen.c parser/parse.c version.h.in
2010-01-11Redraw the focus cycle popup when the list of focusable windows changes, ↵Dana Jansens
rather than closing it
2009-12-21Set up work for making a 3.5 prerelease.Dana Jansens
Set version stuff to 3.5.0-rc1. Copy the CHANGELOG from 3.4-working. Rename the obt-4.0 and obrender-4.0 pkgconfig stuff to obt-3.5 and obrender-3.5 Rename the "render" directory to "obrender" so that the public headers can be installed in <obrender/*>
2009-12-11Merge branch 'backport' into workDana Jansens
Conflicts: openbox/config.c openbox/event.c openbox/prop.c openbox/prop.h openbox/screen.c openbox/screen.h
2009-12-09Fix the Focus/Activate actions to focus windows on other desktops correctlyDana Jansens
2009-12-08Merge branch 'backport' into workDana Jansens
Conflicts: openbox/actions/all.h openbox/actions/session.c openbox/client.c openbox/event.c openbox/grab.c
2009-12-08Fix client_activate() to work for internal Openbox menusDana Jansens
client_activate() is a helpful way to focus a window on another desktop, but only Openbox is allowed to do such things, user messages cannot.
2009-09-20Merge branch 'backport' into workMikael Magnusson
2009-09-20Reload motif wm hints when property changesMikael Magnusson
Google's chrome does this when you toggle window decorations. Based on patch in #4250 by Daniel Erat.
2009-01-29Merge branch 'backport' into workMikael Magnusson
Conflicts: openbox/event.c openbox/frame.c
2009-01-29Handle InputShape type shaping too.Mikael Magnusson
Many composite apps use this to pass through clicks where they are transparent.
2008-10-27Revert "make windows stay on screen when they..."Mikael Magnusson
This reverts commit 73adc6480d59fc5dccf9fe19ed5234c9582b328c. I know I had a good reason for reverting this commit, I don't know what that reason was though.
2008-03-27make windows stay on screen when they are resized due to their normal hints ↵Dana Jansens
changing
2008-03-06Merge branch 'backport' into workDana Jansens
Conflicts: openbox/client.c
2008-03-06when a window pops up a child, don't avoid focusing it because you were ↵Dana Jansens
working in its parent window before this. that's probably what made the window appear in the first place
2008-02-15() -> (void) also in .h files, and fix a place that gave arguments when it ↵Mikael Magnusson
shouldn't have.
2008-02-14Introducing the icon cache.Dana Jansens
If an icon is the same as one in the cache, then it uses that one. icons of different sizes (from the same client) are linked together into one, and resizes of icons are cached and linked to all the various sizes. so you only need one icon in memory for all your terminals now. ya!
2008-02-14don't ping everything all the time. yay. ping when you close, and if it ↵Dana Jansens
doesn't reply then show the kill prompt. also show a more correct prompt for windows connecting from non-local machines - ask to disconnect them from the X server.
2008-02-14if a prompt is already showing and you try show it again, then make it ↵Dana Jansens
active. in the "kill this?" prompt use the window's original title without any of the openbox-appended-ness
2008-02-14prompt to kill windows when they are not respondingDana Jansens
2008-02-14Make ObPrompt windows get managed as clients, and make them able to ↵Dana Jansens
reconfigure as well.
2008-02-14Introducing the icon cache.Dana Jansens
If an icon is the same as one in the cache, then it uses that one. icons of different sizes (from the same client) are linked together into one, and resizes of icons are cached and linked to all the various sizes. so you only need one icon in memory for all your terminals now. ya!
2008-02-14don't ping everything all the time. yay. ping when you close, and if it ↵Dana Jansens
doesn't reply then show the kill prompt. also show a more correct prompt for windows connecting from non-local machines - ask to disconnect them from the X server.
2008-02-07if a prompt is already showing and you try show it again, then make it ↵Dana Jansens
active. in the "kill this?" prompt use the window's original title without any of the openbox-appended-ness
2008-02-07prompt to kill windows when they are not respondingDana Jansens
2008-02-07Make ObPrompt windows get managed as clients, and make them able to ↵Dana Jansens
reconfigure as well.
2008-02-07Merge branch 'backport' into workDana Jansens
Conflicts: openbox/config.c
2008-02-02improve commentDana Jansens
2008-02-02Merge branch 'backport' into workDana Jansens
Conflicts: openbox/client.c openbox/event.c openbox/mouse.c openbox/openbox.c openbox/prop.c openbox/prop.h openbox/screen.c parser/parse.c parser/parse.h
2008-02-02make fullscreen windows more xinerama and multi-screen awareDana Jansens
instead of calling it every time a window loses focus, it is only called when a window gains focus. then, check fullscreen layered windows, if they should be moved to a lower layer. when moving a window between monitors, also check its layer and that of any fullscreen windows. let a window stay in the fullscreen layer even when it is not focused, if it is on a non-visible desktop, or if it is on a different monitor from the focused window, or if nothing else is focused
2008-01-31generalize the window managing process into window_manage, which handles ↵Dana Jansens
dock apps and the like
2008-01-15cant consistently tell if we should use WM_DESTROY after the first time they ↵Dana Jansens
try close a window.. so just kill when "not responding" is showing
2008-01-15ping all the windows every 3 seconds, and show "not responding" if they stop ↵Dana Jansens
replying for 3 times (9-12 seconds). show [Killing...] in the titlebar when trying to kill an app off
2008-01-15when you close an app and it stops responding.. if you hit close again, it ↵Dana Jansens
will try kill -TERM. if that fails and you close again, it will kill -9 ! (assuming the app is running on the local host and provided its PID)
2008-01-15show [Not Responding] in the titlebar when closing an app and it stops ↵Dana Jansens
responding to pings
2008-01-15check if a client will respond to pingsDana Jansens
2008-01-11make it possible to temporarily raise a window to the top, and restore it. ↵Dana Jansens
also fix the return val for window_layer.
2007-08-01remove focus-stealing-prevention stuff, don't use user_time crap at all. it ↵Dana Jansens
is broken in every application that has ever used it. ever. ever. \^_^/;;;
2007-07-17remove trailing whitespaceMikael Magnusson