diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2025-09-11 23:17:57 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2025-09-11 23:17:57 +0200 |
| commit | 564853110a6e1367cc379bd8418d874829302d00 (patch) | |
| tree | a6d548f7ae9379810f6d3942b10217364ca54c99 /accounts/gkleen@sif/shell/quickshell/WaylandInhibitorWidget.qml | |
| parent | dd2df931a3be1a6518c1e9fbff438de4274456cd (diff) | |
| download | nixos-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.qml | 55 |
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 @@ | |||
| 1 | import Quickshell | ||
| 2 | import QtQuick | ||
| 3 | import Quickshell.Widgets | ||
| 4 | import Quickshell.Wayland | ||
| 5 | import qs.Services | ||
| 6 | |||
| 7 | Item { | ||
| 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 | } | ||
