From 7e182edc65675f9e1aa337a0204b5ec7c4a1b711 Mon Sep 17 00:00:00 2001 From: reionwong Date: Fri, 23 Jul 2021 18:54:45 +0800 Subject: [PATCH] Better handle launchpad --- qml/main.qml | 3 --- src/statusbar.cpp | 9 +++++++++ src/statusbar.h | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/qml/main.qml b/qml/main.qml index 9dfe299..bc9f685 100644 --- a/qml/main.qml +++ b/qml/main.qml @@ -37,9 +37,6 @@ Item { property bool darkMode: FishUI.Theme.darkMode property color textColor: rootItem.darkMode ? "#FFFFFF" : "#000000"; - // Hide if launchpad is encountered - opacity: acticity.launchPad && windowHelper.compositing ? 0 : 1 - Rectangle { id: background anchors.fill: parent diff --git a/src/statusbar.cpp b/src/statusbar.cpp index 35527e0..8a3760d 100644 --- a/src/statusbar.cpp +++ b/src/statusbar.cpp @@ -57,6 +57,9 @@ StatusBar::StatusBar(QQuickView *parent) setScreen(qApp->primaryScreen()); updateGeometry(); setVisible(true); + initState(); + + connect(m_acticity, &Activity::launchPadChanged, this, &StatusBar::initState); connect(qApp->primaryScreen(), &QScreen::virtualGeometryChanged, this, &StatusBar::updateGeometry); connect(qApp->primaryScreen(), &QScreen::geometryChanged, this, &StatusBar::updateGeometry); @@ -117,6 +120,12 @@ void StatusBar::updateViewStruts() strut.bottom_end); } +void StatusBar::initState() +{ + // Remain below the face launchpad. + KWindowSystem::setState(winId(), m_acticity->launchPad() ? NET::KeepBelow : NET::KeepAbove); +} + void StatusBar::onPrimaryScreenChanged(QScreen *screen) { setScreen(screen); diff --git a/src/statusbar.h b/src/statusbar.h index 5baa6fd..153ace9 100644 --- a/src/statusbar.h +++ b/src/statusbar.h @@ -43,6 +43,7 @@ signals: void launchPadChanged(); private slots: + void initState(); void onPrimaryScreenChanged(QScreen *screen); private: