summaryrefslogtreecommitdiff
path: root/openbox/place.c
AgeCommit message (Collapse)Author
2011-01-24fix segfault for placing windows without a groupDana Jansens
2011-01-24Big changes to placement across multiple monitors.Dana Jansens
Add a Primary option for which monitor to place new windows on. Make "Active" the default instead of "Any", which is just totally crazy. When a window is being placed in the FOREGROUND, use a monitor chosen in the following order: 1. same monitor as parent 2. primary monitor if placement=PRIMARY active monitor if placement=ACTIVE pointer monitor if placement=MOUSE 3. primary monitor 4. other monitors where the window has group members on the same desktop 5. other monitors where the window has group members on other desktops 6. other monitors When a window is being placed in the BACKGROUND, use a monitor chosen in the following order: 1. same monitor as parent 2. other monitors where the window has group members on the same desktop 2a. primary monitor in this set 2b. other monitors in this set 3. other monitors where the window has group members on other desktops 3a. primary monitor in this set 3b. other monitors in this set 4. other monitors 4a. primary monitor in this set 4b. other monitors in this set Decide to focus the new window before placing it, so we know if it will be placed in the foreground or background. Always choose a single monitor, then place on it, rather than possibly moving to a "backup" monitor. Unpredictable monitor placement is horrible.
2010-05-17Add support for using relative expressions in move and resize actionsMikael Magnusson
Have MoveResizeTo use config_parse_gravity_coord instead of duplicating it locally Allow MoveResizeTo positions and sizes and per app positions to be relative to screen size Rename to config_parse_relative_number so it can be used for sizes too Add relative numbers to width/height in MoveResizeTo Add relative numbers to MoveRelative Add relative numbers to ResizeRelative, these are for the client size, not screen size
2010-04-16use const Rect* not Rect const*Dana Jansens
2010-02-12remove a bunch of g_new()/g_free() by returning Rect const*'s from screen ↵Dana Jansens
area functions when possible
2010-02-12use g_slice_new() instead of g_new() part 2Dana Jansens
2010-02-12using g_slice_new() instead of g_new() part 1Dana Jansens
2010-01-14If a window places itself at (0,0) and there are struts there, assume it is ↵Dana Jansens
a bug. Also allow oldschool fullscreen windows that cover all monitors on a multihead setup to work properly Added a test 'oldfullscreen' that makes a oldschool fullscreen window
2010-01-10allow application rules to place transient/dialog/splash windows, and allow ↵Dana Jansens
application rules to match only on the role or type if you wish.
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-09Add a primaryMonitor config option, where the focus-cycle and keychain ↵Dana Jansens
popups will appear
2008-02-07Merge branch 'backport' into workDana Jansens
Conflicts: openbox/config.c
2008-02-03allow you to force the position of windows with rc.xml's per-app settings ↵Dana Jansens
with the force="yes" attribute
2008-01-31make ob_debug use the g_log system, and make openbox log messages to..a log ↵Dana Jansens
file ! this will help everyone since most people do not run openbox in a terminal..
2008-01-27replace the <active> placement option with <placeOn>active/mouse/any</placeOn>Dana Jansens
2008-01-11make a GravityPoint and GravityCoord data structures for those --x, ++y type ↵Dana Jansens
values
2008-01-11add an <active> option for window placement, to try force new windows on the ↵Dana Jansens
active monitor (for xinerama)
2007-09-04Fix shadowed variablesMikael Magnusson
2007-08-06more clear code?Dana Jansens
2007-08-07Fix another memleakMikael Magnusson
2007-08-03place windows in the largest area not the widest one, reverts to 3.4.2 ↵Dana Jansens
behavior so the dock doesn't screw up placement
2007-07-17remove trailing whitespaceMikael Magnusson
2007-07-15a number for placing windows, to keep them on screen, but let you place them ↵Dana Jansens
off-screen 1. when a window is not on any monitor, don't just ignore it, stick it on the first monitor arbitrarily (rather than the closest monitor - room for improvement?) 2. when placing a window with per-app settings, don't rudely force it back on screen fully.
2007-07-15don't use freed memory as the coordinates to place windowsDana Jansens
2007-07-11merge r7699 from 3.4-working, (let per-app settings override program ↵Mikael Magnusson
specified position but not user specified)
2007-06-22add the moveto actionDana Jansens
2007-06-13add center option to placement sectionMikael Magnusson
2007-06-13dont fallback to undermouseDana Jansens
2007-06-13xinerama support like crazy for struts and everything else too. this ↵Dana Jansens
probably crashes but its been way too long without a commit.
2007-06-13ignore the dock in placing as a last resortDana Jansens
2007-06-13some typosDana Jansens
2007-06-13plug memory leaks from the new strut codeDana Jansens
2007-06-13very cool struts. partial struts actually are partial struts now. possibly ↵Dana Jansens
way broken with xinerama?
2007-06-12i dont think people shade windows with the intention of having them hidden ↵Dana Jansens
by stuff. also bug fix.
2007-06-12try place under the mouse when theres no free space? maybe thats dumbDana Jansens
2007-06-12basically this is smart placement but its better now..Dana Jansens
2007-06-12new window placement, but i was a lil tipsy when i started this so maybe its ↵Dana Jansens
not so good. smart placement was just as useless anyways though, so yeah. and this code is much cleaner. on to stealing fvwm code now.
2007-06-10let you use +-+-x in the positions for per-app settings, like x geometryDana Jansens
2007-06-07nice code cleanup that's been needed for a long time. add parents list to ↵Dana Jansens
client, which you can iterate instead of going thru the group.
2007-06-04dont place transients based on non-normal parentsDana Jansens
2007-06-04dont use non-normal windows to pick a monitor for transientsDana Jansens
2007-06-04dont let windows place over menu or toolbars if they don't have a parentDana Jansens
2007-06-04don't place windows over docks. but let them place over menus and toolbars. ↵Dana Jansens
i guess not utility windows though?
2007-06-04placement improvements?Dana Jansens
when placing transients don't place them relative to iconified parents. try place avoiding max/fullscreen windows first, then ignore them entirely if that fails.
2007-05-29dont center utility and stuff windows on screenDana Jansens
2007-05-29center splash screens like parentless transientsDana Jansens
2007-05-20fix windows moving to monitors other than their own. client_find_onscreen ↵Dana Jansens
uses their desired coordiantes instead of their old ones
2007-05-08only place dialogs above other windowsDana Jansens
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-05yay. way way cleaner code for iconify animations. let people show/hide the ↵Dana Jansens
frame logically and it will do everything except during animations the frame will show what it needs to for visual display.