summaryrefslogtreecommitdiff
path: root/modules/bar
diff options
context:
space:
mode:
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
+ }
+}