aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/LDesktop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lumina-desktop/LDesktop.cpp')
-rw-r--r--lumina-desktop/LDesktop.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lumina-desktop/LDesktop.cpp b/lumina-desktop/LDesktop.cpp
index 7f9b40d3..1cece0b5 100644
--- a/lumina-desktop/LDesktop.cpp
+++ b/lumina-desktop/LDesktop.cpp
@@ -468,7 +468,13 @@ void LDesktop::UpdatePanels(){
void LDesktop::UpdateDesktopPluginArea(){
QRegion visReg( bgWindow->geometry() ); //visible region (not hidden behind a panel)
for(int i=0; i<PANELS.length(); i++){
- visReg = visReg.subtracted( QRegion(PANELS[i]->geometry()) );
+ QRegion shifted = visReg;
+ QString loc = settings->value(PANELS[i]->prefix()+"location","top").toString().toLower();
+ if(loc=="top"){ shifted.translate(0, PANELS[i]->visibleWidth()); }
+ else if(loc=="bottom"){ shifted.translate(0, 0-PANELS[i]->visibleWidth()); }
+ else if(loc=="left"){ shifted.translate(PANELS[i]->visibleWidth(),0); }
+ else{ shifted.translate(0-PANELS[i]->visibleWidth(),0); }
+ visReg = visReg.intersected( shifted );
}
//Now make sure the desktop plugin area is only the visible area
QRect rec = visReg.boundingRect();
bgstack15