diff options
Diffstat (limited to 'modules/osd')
| -rw-r--r-- | modules/osd/Interactions.qml | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/modules/osd/Interactions.qml b/modules/osd/Interactions.qml new file mode 100644 index 0000000..eecf0b6 --- /dev/null +++ b/modules/osd/Interactions.qml @@ -0,0 +1,48 @@ +import "root:/services" +import "root:/config" +import Quickshell +import QtQuick + +Scope { + id: root + + required property ShellScreen screen + required property PersistentProperties visibilities + required property bool hovered + readonly property Brightness.Monitor monitor: Brightness.getMonitorForScreen(screen) + + function show(): void { + root.visibilities.osd = true; + timer.restart(); + } + + Connections { + target: Audio + + function onMutedChanged(): void { + root.show(); + } + + function onVolumeChanged(): void { + root.show(); + } + } + + Connections { + target: root.monitor + + function onBrightnessChanged(): void { + root.show(); + } + } + + Timer { + id: timer + + interval: OsdConfig.hideDelay + onTriggered: { + if (!root.hovered) + root.visibilities.osd = false; + } + } +} |