summaryrefslogtreecommitdiff
path: root/accounts/gkleen@sif/shell/quickshell/WaylandInhibitorWidget.qml
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2025-09-11 23:17:57 +0200
committerGregor Kleen <gkleen@yggdrasil.li>2025-09-11 23:17:57 +0200
commit564853110a6e1367cc379bd8418d874829302d00 (patch)
treea6d548f7ae9379810f6d3942b10217364ca54c99 /accounts/gkleen@sif/shell/quickshell/WaylandInhibitorWidget.qml
parentdd2df931a3be1a6518c1e9fbff438de4274456cd (diff)
downloadnixos-564853110a6e1367cc379bd8418d874829302d00.tar
nixos-564853110a6e1367cc379bd8418d874829302d00.tar.gz
nixos-564853110a6e1367cc379bd8418d874829302d00.tar.bz2
nixos-564853110a6e1367cc379bd8418d874829302d00.tar.xz
nixos-564853110a6e1367cc379bd8418d874829302d00.zip
...
Diffstat (limited to 'accounts/gkleen@sif/shell/quickshell/WaylandInhibitorWidget.qml')
-rw-r--r--accounts/gkleen@sif/shell/quickshell/WaylandInhibitorWidget.qml55
1 files changed, 55 insertions, 0 deletions
diff --git a/accounts/gkleen@sif/shell/quickshell/WaylandInhibitorWidget.qml b/accounts/gkleen@sif/shell/quickshell/WaylandInhibitorWidget.qml
new file mode 100644
index 00000000..0633f350
--- /dev/null
+++ b/accounts/gkleen@sif/shell/quickshell/WaylandInhibitorWidget.qml
@@ -0,0 +1,55 @@
1import Quickshell
2import QtQuick
3import Quickshell.Widgets
4import Quickshell.Wayland
5import qs.Services
6
7Item {
8 id: root
9
10 required property var window
11
12 width: icon.width + 8
13 height: parent.height
14 anchors.verticalCenter: parent.verticalCenter
15
16 IdleInhibitor {
17 id: inhibitor
18 enabled: InhibitorState.waylandIdleInhibited
19 window: root.window
20 }
21
22 WrapperMouseArea {
23 id: widgetMouseArea
24
25 anchors.fill: parent
26
27 hoverEnabled: true
28
29 onClicked: InhibitorState.waylandIdleInhibited = !InhibitorState.waylandIdleInhibited
30
31 Rectangle {
32 anchors.fill: parent
33 color: {
34 if (widgetMouseArea.containsMouse) {
35 return "#33808080";
36 }
37 return "transparent";
38 }
39
40 Item {
41 anchors.fill: parent
42
43 MaterialDesignIcon {
44 id: icon
45
46 implicitSize: 14
47 anchors.centerIn: parent
48
49 icon: inhibitor.enabled ? "eye" : "eye-off"
50 color: inhibitor.enabled ? "white" : "#555"
51 }
52 }
53 }
54 }
55}