aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-desktop/panel-plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core/lumina-desktop/panel-plugins')
-rw-r--r--src-qt5/core/lumina-desktop/panel-plugins/NewPP.h2
-rw-r--r--src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.cpp29
-rw-r--r--src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.h3
3 files changed, 33 insertions, 1 deletions
diff --git a/src-qt5/core/lumina-desktop/panel-plugins/NewPP.h b/src-qt5/core/lumina-desktop/panel-plugins/NewPP.h
index 50bf2232..2641ad79 100644
--- a/src-qt5/core/lumina-desktop/panel-plugins/NewPP.h
+++ b/src-qt5/core/lumina-desktop/panel-plugins/NewPP.h
@@ -50,7 +50,7 @@ public:
plug = new LSysTray(parent, plugin, horizontal);
}else if(plugin.startsWith("desktopswitcher---")){
plug = new LDesktopSwitcher(parent, plugin, horizontal);
- }else if(plugin.startsWith("battery---")){
+ }else if(plugin.startsWith("battery---") && LOS::hasBattery()){
plug = new LBattery(parent, plugin, horizontal);
}else if(plugin.startsWith("clock---")){
plug = new LClock(parent, plugin, horizontal);
diff --git a/src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.cpp b/src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.cpp
index 7e2e53de..0dd68bb0 100644
--- a/src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.cpp
+++ b/src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.cpp
@@ -157,6 +157,12 @@ void LTaskButton::UpdateMenus(){
}
}
actMenu->addAction( LXDG::findIcon("window-close",""), tr("Close Window"), this, SLOT(closeWindow()) );
+ if(WINLIST.length()>1 && !winMenu->isVisible()){
+ actMenu->addSeparator();
+ actMenu->addAction( LXDG::findIcon("layer-visible-on",""), tr("Show All Windows"), this, SLOT(showAllWindows()) );
+ actMenu->addAction( LXDG::findIcon("layer-visible-off",""), tr("Minimize All Windows"), this, SLOT(hideAllWindows()) );
+ actMenu->addAction( LXDG::findIcon("window-close",""), tr("Close All Windows"), this, SLOT(closeAllWindows()) );
+ }
}
//=============
@@ -196,6 +202,29 @@ void LTaskButton::minimizeWindow(){
QTimer::singleShot(100, this, SLOT(UpdateButton()) ); //make sure to update this button if losing active status
}
+void LTaskButton::showAllWindows(){
+ for(int i=WINLIST.length()-1; i>=0; i--){
+ if(WINLIST[i].status()==LXCB::INVISIBLE){
+ LSession::handle()->XCB->RestoreWindow(WINLIST[i].windowID());
+ }
+ }
+}
+
+void LTaskButton::hideAllWindows(){
+ for(int i=WINLIST.length()-1; i>=0; i--){
+ LXCB::WINDOWVISIBILITY state = WINLIST[i].status();
+ if(state==LXCB::VISIBLE || state==LXCB::ACTIVE){
+ LSession::handle()->XCB->MinimizeWindow(WINLIST[i].windowID());
+ }
+ }
+}
+
+void LTaskButton::closeAllWindows(){
+ for(int i=WINLIST.length()-1; i>=0; i--){
+ LSession::handle()->XCB->CloseWindow(WINLIST[i].windowID());
+ }
+}
+
void LTaskButton::triggerWindow(){
LWinInfo win = currentWindow();
//Check which state the window is currently in and flip it to the other
diff --git a/src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.h b/src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.h
index 43dbaa90..6b171c6a 100644
--- a/src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.h
+++ b/src-qt5/core/lumina-desktop/panel-plugins/taskmanager/LTaskButton.h
@@ -60,6 +60,9 @@ private slots:
void closeWindow(); //send the signal to close a window
void maximizeWindow(); //send the signal to maximize/restore a window
void minimizeWindow(); //send the signal to minimize a window (iconify)
+ void showAllWindows();
+ void hideAllWindows();
+ void closeAllWindows();
void triggerWindow(); //change b/w visible and invisible
void winClicked(QAction*);
void openActionMenu();
bgstack15