Option for specifying Xinerama screen where new windows open.
FEATURE: 56827 svn path=/trunk/KDE/kdebase/workspace/; revision=662071
This commit is contained in:
parent
d510baf365
commit
c0412fbf23
4 changed files with 13 additions and 3 deletions
|
@ -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" />
|
||||
|
|
|
@ -202,9 +202,14 @@ bool Client::manage( Window w, bool isMapped )
|
|||
if( isMapped || session )
|
||||
area = workspace()->clientArea( FullArea, geom.center(), desktop());
|
||||
else if( options->xineramaPlacementEnabled )
|
||||
area = workspace()->clientArea( PlacementArea, cursorPos(), desktop());
|
||||
{
|
||||
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, geom.center(), desktop());
|
||||
area = workspace()->clientArea( PlacementArea, cursorPos(), desktop());
|
||||
|
||||
if( int type = checkFullScreenHack( geom ))
|
||||
{
|
||||
|
|
|
@ -103,9 +103,10 @@ unsigned long Options::updateSettings()
|
|||
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 );
|
||||
|
||||
|
|
|
@ -138,6 +138,9 @@ class Options : public KDecorationOptions
|
|||
bool xineramaMovementEnabled;
|
||||
bool xineramaMaximizeEnabled;
|
||||
bool xineramaFullscreenEnabled;
|
||||
|
||||
// number, or -1 = active screen (Workspace::activeScreen())
|
||||
int xineramaPlacementScreen;
|
||||
|
||||
/**
|
||||
MoveResizeMode, either Tranparent or Opaque.
|
||||
|
|
Loading…
Reference in a new issue