Summary: | Would like option to have all new windows open on primary Xinerama display | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Jason Keirstead <jason> |
Component: | xinerama | Assignee: | Lubos Lunak <l.lunak> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | gullevek |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Jason Keirstead
2003-04-04 05:27:52 UTC
What you can do is disable xinerama. When you want an application to be on the secondary screen, set DISPLAY accordingly just for that app. Example command: DISPLAY=0.1 myapp This is no answer. Disabling Xinerama means my kicker is all over the place. Also, right-rocking the kicker onto the primary monitor is not possible. Windows popup in between monitors, Mplayer full screen is broken, etc etc... You shouldn't need to disable Xinerama to do something as simple as "open all windows on this monitor unless I say otherwise". We've had options for this for ages. Where is this option? The only option in the Xinerama config which would be even remotely like this is "Show unmanaged windows on..". But I don't only want to show unmanaged windows on monitor 1. I want to show ALL new windows on Monitor 1. I don't want them following my mouse everywhere it's really annoying. Ah I understand. I did have this at one time but I must have forgot to re-add it when I threw out my old kcmxinerama. 3.2 feature Argh, 3.2 feature freeze prevents this for now If this existed in the previous kcmxinerama won't not having it in 3.2 be a regression? Subject: Re: Would like option to have all new windows open on primary Xinerama display
On Monday 24 November 2003 10:35, you wrote:
> ------- If this existed in the previous kcmxinerama won't not having it in
> 3.2 be a regression?
It was never released - it was my local first attempt, which I junked and
rewrote.
Since this was already coded before it seems, is there any way we can sneak support for it into 3.3? Even if it was a hidden, manually adjustable KConfig setting it would satisfy me, as this is by far the biggest pet-peeve for me in all of KDE right now. This bug plagues me several times every day... *** Bug 92004 has been marked as a duplicate of this bug. *** SVN commit 662071 by lunakl: Option for specifying Xinerama screen where new windows open. FEATURE: 56827 M +1 -0 kwin.kcfg M +7 -2 manage.cpp M +2 -1 options.cpp M +3 -0 options.h --- trunk/KDE/kdebase/workspace/kwin/kwin.kcfg #662070:662071 @@ -62,6 +62,7 @@ <entry key="ShowDesktopIsMinimizeAll" type="Bool" /> <entry key="SeparateScreenFocus" type="Bool" /> <entry key="ActiveMouseScreen" type="Bool" /> + <entry key="XineramaPlacementScreen" type="Int" /> </group> <group name="WM" > <entry key="frame" type="Color" /> --- trunk/KDE/kdebase/workspace/kwin/manage.cpp #662070:662071 @@ -202,9 +202,14 @@ if( isMapped || session ) area = workspace()->clientArea( FullArea, geom.center(), desktop()); else if( options->xineramaPlacementEnabled ) + { + int screen = options->xineramaPlacementScreen; + if( screen == -1 ) // active screen + screen = workspace()->activeScreen(); + area = workspace()->clientArea( PlacementArea, workspace()->screenGeometry( screen ).center(), desktop()); + } + else area = workspace()->clientArea( PlacementArea, cursorPos(), desktop()); - else - area = workspace()->clientArea( PlacementArea, geom.center(), desktop()); if( int type = checkFullScreenHack( geom )) { --- trunk/KDE/kdebase/workspace/kwin/options.cpp #662070:662071 @@ -103,9 +103,10 @@ delete gc; placement = Placement::policyFromString( config.readEntry("Placement"), true ); + xineramaPlacementScreen = qBound( -1, config.readEntry( "XineramaPlacementScreen", -1 ), + qApp->desktop()->numScreens() - 1 ); animateShade = config.readEntry("AnimateShade", true); - animateMinimize = config.readEntry("AnimateMinimize", true); animateMinimizeSpeed = config.readEntry("AnimateMinimizeSpeed", 5 ); --- trunk/KDE/kdebase/workspace/kwin/options.h #662070:662071 @@ -138,6 +138,9 @@ bool xineramaMovementEnabled; bool xineramaMaximizeEnabled; bool xineramaFullscreenEnabled; + + // number, or -1 = active screen (Workspace::activeScreen()) + int xineramaPlacementScreen; /** MoveResizeMode, either Tranparent or Opaque. |