Allow desktop-type windows to only span one xrandr/mergedfb/xinerama-screen instead of all screens combined.
svn path=/trunk/KDE/kdebase/workspace/; revision=803349
This commit is contained in:
parent
c907b8acc1
commit
1819ad69b2
2 changed files with 12 additions and 2 deletions
|
@ -32,6 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include <kapplication.h>
|
||||
#include <kglobal.h>
|
||||
#include <QPainter>
|
||||
#include <QDesktopWidget>
|
||||
#include <kwindowsystem.h>
|
||||
|
||||
#include "placement.h"
|
||||
|
@ -875,6 +876,11 @@ void Client::checkWorkspacePosition()
|
|||
{
|
||||
if( isDesktop())
|
||||
{
|
||||
if (geometry() == workspace()->clientArea( ScreenArea, this ))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
QRect area = workspace()->clientArea( FullArea, this );
|
||||
if( geometry() != area )
|
||||
setGeometry( area );
|
||||
|
|
|
@ -33,6 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
#include "notifications.h"
|
||||
#include <QX11Info>
|
||||
#include <QDesktopWidget>
|
||||
#include "rules.h"
|
||||
#include "group.h"
|
||||
|
||||
|
@ -235,8 +236,11 @@ bool Client::manage( Window w, bool isMapped )
|
|||
if ( isDesktop() )
|
||||
{
|
||||
// desktops are treated slightly special
|
||||
geom = workspace()->clientArea( FullArea, geom.center(), desktop());
|
||||
placementDone = true;
|
||||
if (geom != workspace()->clientArea( ScreenArea, geom.center(), desktop()))
|
||||
{
|
||||
geom = workspace()->clientArea( FullArea, geom.center(), desktop());
|
||||
placementDone = true;
|
||||
}
|
||||
}
|
||||
|
||||
bool usePosition = false;
|
||||
|
|
Loading…
Reference in a new issue