This commit is contained in:
2026-03-01 11:43:25 +02:00
parent 9762553b38
commit 8fa89bb99c
6 changed files with 628 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ QtObject {
property bool shellOpen: false
property bool quickSettingsOpen: false
property bool appLauncherOpen: false
property bool powerMenuOpen: false
property var appUsageCounts: ({})
property string appUsagePath: {
var homeDir = Quickshell.env("HOME");
@@ -26,6 +27,8 @@ QtObject {
signal quickSettingsClosed
signal appLauncherOpened
signal appLauncherClosed
signal powerMenuOpened
signal powerMenuClosed
signal windowRequested(string name, var payload)
function openShell() {
@@ -47,6 +50,9 @@ QtObject {
if (appLauncherOpen) {
closeAppLauncher();
}
if (powerMenuOpen) {
closePowerMenu();
}
shellOpen = false;
shellClosed();
}
@@ -72,6 +78,9 @@ QtObject {
if (appLauncherOpen) {
closeAppLauncher();
}
if (powerMenuOpen) {
closePowerMenu();
}
if (!quickSettingsOpen) {
quickSettingsOpen = true;
quickSettingsOpened();
@@ -97,6 +106,9 @@ QtObject {
if (quickSettingsOpen) {
closeQuickSettings();
}
if (powerMenuOpen) {
closePowerMenu();
}
if (!appLauncherOpen) {
appLauncherOpen = true;
appLauncherOpened();
@@ -116,6 +128,34 @@ QtObject {
appLauncherOpen ? closeAppLauncher() : openAppLauncher(payload);
}
function openPowerMenu(payload) {
var normalizedPayload = payload || ({});
console.log("ShellStateManager: openPowerMenu", normalizedPayload);
if (quickSettingsOpen) {
closeQuickSettings();
}
if (appLauncherOpen) {
closeAppLauncher();
}
if (!powerMenuOpen) {
powerMenuOpen = true;
powerMenuOpened();
}
requestWindow("powerMenu", normalizedPayload);
}
function closePowerMenu() {
if (powerMenuOpen) {
console.log("ShellStateManager: closePowerMenu");
powerMenuOpen = false;
powerMenuClosed();
}
}
function togglePowerMenu(payload) {
powerMenuOpen ? closePowerMenu() : openPowerMenu(payload);
}
function bumpAppUsage(id) {
if (!id)
return;