diff options
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Services/PowerProfileWatcher.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Services/PowerProfileWatcher.qml | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Services/PowerProfileWatcher.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Services/PowerProfileWatcher.qml new file mode 100644 index 0000000..bab3517 --- /dev/null +++ b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Services/PowerProfileWatcher.qml @@ -0,0 +1,36 @@ +pragma Singleton +pragma ComponentBehavior: Bound + +import QtQuick +import Quickshell +import Quickshell.Services.UPower + +Singleton { + id: root + + property int currentProfile: -1 + property int previousProfile: -1 + + signal profileChanged(int profile) + + Connections { + target: typeof PowerProfiles !== "undefined" ? PowerProfiles : null + + function onProfileChanged() { + if (typeof PowerProfiles !== "undefined") { + root.previousProfile = root.currentProfile; + root.currentProfile = PowerProfiles.profile; + if (root.previousProfile !== -1) { + root.profileChanged(root.currentProfile); + } + } + } + } + + Component.onCompleted: { + if (typeof PowerProfiles !== "undefined") { + root.currentProfile = PowerProfiles.profile; + root.previousProfile = PowerProfiles.profile; + } + } +} |