diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/bar/Bar.qml | 6 | ||||
| -rw-r--r-- | modules/bar/components/IdleInhibitor.qml | 33 |
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 + } +} |