aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core
diff options
context:
space:
mode:
authorKen Moore <ken@ixsystems.com>2017-02-28 16:10:34 -0500
committerKen Moore <ken@ixsystems.com>2017-02-28 16:10:34 -0500
commit6dd570e1c1678a2f9709f494f91ab19772638fd5 (patch)
tree2587a567537ef679823b5326437e4708b7660288 /src-qt5/core
parentCommit a bit more work on the RandR interface. Starting to drill down into th... (diff)
downloadlumina-6dd570e1c1678a2f9709f494f91ab19772638fd5.tar.gz
lumina-6dd570e1c1678a2f9709f494f91ab19772638fd5.tar.bz2
lumina-6dd570e1c1678a2f9709f494f91ab19772638fd5.zip
Track down and fix a really weird Fluxbox bug:
It looks like the newer version does not like the window workspace assignment to be "-1" any more, it starts to lose it's mind and treat windows really weird now. Just use workspace 0 instead for now, and hope that Fluxbox continues to respect the window "sticky" settings for the forseeable future.
Diffstat (limited to 'src-qt5/core')
-rw-r--r--src-qt5/core/libLumina/LuminaX11.cpp1
-rw-r--r--src-qt5/core/lumina-desktop/LDesktop.cpp10
-rw-r--r--src-qt5/core/lumina-desktop/LDesktopPluginSpace.cpp2
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; }");
bgstack15