summaryrefslogtreecommitdiff
path: root/modules/bar
diff options
context:
space:
mode:
authorDavi Ribeiro <104164579+Markus328@users.noreply.github.com>2025-08-23 07:21:35 -0300
committerGitHub <noreply@github.com>2025-08-23 20:21:35 +1000
commitf747d82b9336bb7c691d39a1f001c0d30d7bfb95 (patch)
tree3456b6a9ed002382593e653a48a85b141edcc424 /modules/bar
parentdashboard: better pfp picker (diff)
downloadcaelestia-shell-f747d82b9336bb7c691d39a1f001c0d30d7bfb95.tar.gz
caelestia-shell-f747d82b9336bb7c691d39a1f001c0d30d7bfb95.tar.bz2
caelestia-shell-f747d82b9336bb7c691d39a1f001c0d30d7bfb95.zip
bar: add idle inhibitor (#459)
* bar: add idle inhibitor * bar: change idle inhibitor button color * nix: link external scripts instead of install * services/idleinhibitor: add IPC handler * better styling * move cpp scripts to assets/cpp --------- Co-authored-by: Soramane <61896496+soramanew@users.noreply.github.com>
Diffstat (limited to 'modules/bar')
-rw-r--r--modules/bar/Bar.qml6
-rw-r--r--modules/bar/components/IdleInhibitor.qml33
2 files changed, 39 insertions, 0 deletions
diff --git a/modules/bar/Bar.qml b/modules/bar/Bar.qml
index 09cebee..518b72b 100644
--- a/modules/bar/Bar.qml
+++ b/modules/bar/Bar.qml
@@ -143,6 +143,12 @@ ColumnLayout {
}
}
}
+ DelegateChoice {
+ roleValue: "idleInhibitor"
+ delegate: WrappedLoader {
+ sourceComponent: IdleInhibitor {}
+ }
+ }
}
}
diff --git a/modules/bar/components/IdleInhibitor.qml b/modules/bar/components/IdleInhibitor.qml
new file mode 100644
index 0000000..51e09ed
--- /dev/null
+++ b/modules/bar/components/IdleInhibitor.qml
@@ -0,0 +1,33 @@
+import qs.components
+import qs.services
+import qs.config
+import Quickshell
+import QtQuick
+
+StyledRect {
+ id: root
+
+ implicitWidth: implicitHeight
+ implicitHeight: icon.implicitHeight + Appearance.padding.small * 2
+
+ radius: Appearance.rounding.full
+ color: Qt.alpha(Colours.palette.m3primaryContainer, IdleInhibitor.enabled ? 1 : 0)
+
+ StateLayer {
+ function onClicked(): void {
+ IdleInhibitor.enabled = !IdleInhibitor.enabled;
+ }
+ }
+
+ MaterialIcon {
+ id: icon
+
+ anchors.centerIn: parent
+ anchors.horizontalCenterOffset: -1
+
+ text: "coffee"
+ color: IdleInhibitor.enabled ? Colours.palette.m3onPrimaryContainer : Colours.palette.m3secondary
+ font.bold: true
+ font.pointSize: Appearance.font.size.normal
+ }
+}