diff options
author | Ken Moore <ken@pcbsd.org> | 2016-07-26 14:24:56 -0400 |
---|---|---|
committer | Ken Moore <ken@pcbsd.org> | 2016-07-26 14:24:56 -0400 |
commit | 3c661b7c8e5e37abf82f42e9b470bdc3d6ca3959 (patch) | |
tree | c49d572a8f32f7771fcb0c7637b140345a99757c /src-qt5/core/lumina-desktop/LDesktop.cpp | |
parent | Update the defaults for lumina a tiny bit (compton settings, Glass colors, fl... (diff) | |
download | lumina-3c661b7c8e5e37abf82f42e9b470bdc3d6ca3959.tar.gz lumina-3c661b7c8e5e37abf82f42e9b470bdc3d6ca3959.tar.bz2 lumina-3c661b7c8e5e37abf82f42e9b470bdc3d6ca3959.zip |
Fix up the y-coordinate offsets for the panels and desktop plugin area so that vertical arrangements of monitors are better supported.
Diffstat (limited to 'src-qt5/core/lumina-desktop/LDesktop.cpp')
-rw-r--r-- | src-qt5/core/lumina-desktop/LDesktop.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src-qt5/core/lumina-desktop/LDesktop.cpp b/src-qt5/core/lumina-desktop/LDesktop.cpp index c759d641..0dd28f11 100644 --- a/src-qt5/core/lumina-desktop/LDesktop.cpp +++ b/src-qt5/core/lumina-desktop/LDesktop.cpp @@ -87,15 +87,11 @@ void LDesktop::UpdateGeometry(){ //if(desktop->screenGeometry(desktopnumber)==bgWindow->geometry()){ return; } //Now update the screen // NOTE: This functionality is highly event-driven based on X changes - so we need to keep things in order (no signals/slots) - qDebug() << "Changing Desktop Geom:" << desktopnumber; + //qDebug() << "Changing Desktop Geom:" << desktopnumber; bgWindow->setGeometry(desktop->screenGeometry(desktopnumber)); - qDebug() << " - Update Desktop Plugin Area"; + //qDebug() << " - Update Desktop Plugin Area"; UpdateDesktopPluginArea(); - /*qDebug() << " - Update Panel Geometry"; - for(int i=0; PANELS.length(); i++){ - PANELS[i]->UpdatePanel(true); //only update geometry - }*/ - qDebug() << " - Done With Desktop Geom Updates"; + //qDebug() << " - Done With Desktop Geom Updates"; QTimer::singleShot(0, this, SLOT(UpdatePanels())); } @@ -441,6 +437,7 @@ void LDesktop::UpdatePanels(){ void LDesktop::UpdateDesktopPluginArea(){ QRegion visReg( bgWindow->geometry() ); //visible region (not hidden behind a panel) QRect rawRect = visReg.boundingRect(); //initial value (screen size) + //qDebug() << "Update Desktop Plugin Area:" << bgWindow->geometry(); for(int i=0; i<PANELS.length(); i++){ QRegion shifted = visReg; QString loc = settings->value(PANELS[i]->prefix()+"location","top").toString().toLower(); @@ -462,10 +459,11 @@ void LDesktop::UpdateDesktopPluginArea(){ } //Now make sure the desktop plugin area is only the visible area QRect rec = visReg.boundingRect(); + //qDebug() << " - DPArea: Panel-Adjusted rectangle:" << rec; //LSession::handle()->XCB->SetScreenWorkArea((unsigned int) desktopnumber, rec); //Now remove the X offset to place it on the current screen (needs widget-coords, not global) globalWorkRect = rec; //save this for later - rec.moveTopLeft( QPoint( rec.x()-desktop->screenGeometry(desktopnumber).x() , rec.y() ) ); + rec.moveTopLeft( QPoint( rec.x()-desktop->screenGeometry(desktopnumber).x() , rec.y()-desktop->screenGeometry(desktopnumber).y() ) ); //qDebug() << "DPlug Area:" << rec << bgDesktop->geometry() << LSession::handle()->desktop()->availableGeometry(bgDesktop); if(rec.size().isNull() || rec == bgDesktop->geometry()){return; } //nothing changed bgDesktop->setGeometry( rec ); |