diff options
Diffstat (limited to 'src-qt5')
-rw-r--r-- | src-qt5/core/libLumina/LuminaX11.cpp | 1 | ||||
-rw-r--r-- | src-qt5/core/lumina-desktop/LDesktop.cpp | 10 | ||||
-rw-r--r-- | src-qt5/core/lumina-desktop/LDesktopPluginSpace.cpp | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/src-qt5/core/libLumina/LuminaX11.cpp b/src-qt5/core/libLumina/LuminaX11.cpp index e9eb4b7c..7c4d1b45 100644 --- a/src-qt5/core/libLumina/LuminaX11.cpp +++ b/src-qt5/core/libLumina/LuminaX11.cpp @@ -1831,6 +1831,7 @@ int LXCB::WM_Get_Desktop(WId win){ void LXCB::WM_Set_Desktop(WId win, int num){ //use -1 to set it for all desktops + if(num<0){ num = 0; } //TEMPORARY FIX - Fluxbox does not like negative numbers any more? xcb_ewmh_set_wm_desktop(&EWMH, win, (num<0 ? 0xFFFFFFFF : qAbs(num) ) ); } diff --git a/src-qt5/core/lumina-desktop/LDesktop.cpp b/src-qt5/core/lumina-desktop/LDesktop.cpp index 92cef4d1..7f61f19c 100644 --- a/src-qt5/core/lumina-desktop/LDesktop.cpp +++ b/src-qt5/core/lumina-desktop/LDesktop.cpp @@ -486,20 +486,28 @@ void LDesktop::UpdateDesktopPluginArea(){ QRect rec = visReg.boundingRect(); // QRect rec = LSession::desktop()->availableGeometry(Screen()); qDebug() << " - DPArea: Panel-Adjusted rectangle:" << rec; + qDebug() << " - DPArea: Screen Geometry:" << LSession::desktop()->screenGeometry(Screen()); + qDebug() << " - DPArea: Current Geometry:" << bgDesktop->geometry(); //LSession::handle()->XCB->SetScreenWorkArea((unsigned int) Screen(), 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()-LSession::desktop()->screenGeometry(Screen()).x() , rec.y()-LSession::desktop()->screenGeometry(Screen()).y() ) ); //qDebug() << "DPlug Area:" << rec << bgDesktop->geometry() << LSession::handle()->desktop()->availableGeometry(bgDesktop); if(rec.size().isNull() || rec == bgDesktop->geometry()){return; } //nothing changed + //bgDesktop->show(); //make sure Fluxbox is aware of it *before* we start moving it bgDesktop->setGeometry( LSession::desktop()->screenGeometry(Screen())); + //bgDesktop->resize(LSession::desktop()->screenGeometry(Screen()).size()); + //bgDesktop->move(LSession::desktop()->screenGeometry(Screen()).topLeft()); bgDesktop->setDesktopArea( rec ); bgDesktop->UpdateGeom(); //just in case the plugin space itself needs to do anything QTimer::singleShot(10, this, SLOT(UpdateBackground()) ); //Re-paint the panels (just in case a plugin was underneath it and the panel is transparent) //for(int i=0; i<PANELS.length(); i++){ PANELS[i]->update(); } - //Make sure to re-disable any WM control flags + //Make sure to re-disable any WM control flags and reset geometry again LSession::handle()->XCB->SetDisableWMActions(bgDesktop->winId()); + //bgDesktop->setGeometry( LSession::desktop()->screenGeometry(Screen())); + //qDebug() << "Desktop Geom:" << bgDesktop->geometry(); + //qDebug() << "Screen Geom:" << LSession::desktop()->screenGeometry(Screen()); } void LDesktop::UpdateBackground(){ diff --git a/src-qt5/core/lumina-desktop/LDesktopPluginSpace.cpp b/src-qt5/core/lumina-desktop/LDesktopPluginSpace.cpp index 75e4affc..f233983c 100644 --- a/src-qt5/core/lumina-desktop/LDesktopPluginSpace.cpp +++ b/src-qt5/core/lumina-desktop/LDesktopPluginSpace.cpp @@ -18,7 +18,7 @@ // =================== LDesktopPluginSpace::LDesktopPluginSpace() : QWidget(){ this->setObjectName("LuminaDesktopPluginSpace"); - this->setAttribute(Qt::WA_TranslucentBackground); + //this->setAttribute(Qt::WA_TranslucentBackground); //this->setAttribute(Qt::WA_NoSystemBackground); this->setAutoFillBackground(false); this->setStyleSheet("QWidget#LuminaDesktopPluginSpace{ border: none; background: transparent; }"); |