mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-06 05:25:41 -05:00
evdev: add evdev monitor for caps lock state
This commit is contained in:
37
quickshell/Modules/OSD/CapsLockOSD.qml
Normal file
37
quickshell/Modules/OSD/CapsLockOSD.qml
Normal file
@@ -0,0 +1,37 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
DankOSD {
|
||||
id: root
|
||||
|
||||
osdWidth: Theme.iconSize + Theme.spacingS * 2
|
||||
osdHeight: Theme.iconSize + Theme.spacingS * 2
|
||||
autoHideInterval: 2000
|
||||
enableMouseInteraction: false
|
||||
|
||||
property bool lastCapsLockState: false
|
||||
|
||||
Connections {
|
||||
target: DMSService
|
||||
|
||||
function onCapsLockStateChanged() {
|
||||
if (lastCapsLockState !== DMSService.capsLockState) {
|
||||
root.show()
|
||||
}
|
||||
lastCapsLockState = DMSService.capsLockState
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
lastCapsLockState = DMSService.capsLockState
|
||||
}
|
||||
|
||||
content: DankIcon {
|
||||
anchors.centerIn: parent
|
||||
name: DMSService.capsLockState ? "shift_lock" : "shift_lock_off"
|
||||
size: Theme.iconSize
|
||||
color: Theme.primary
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user