From 52c573a1c77902691bfed008a6b9d43f0d6ddb3b Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Tue, 23 Sep 2025 20:02:32 +1000 Subject: hypr: add cap/num lock toasts --- config/UtilitiesConfig.qml | 2 ++ services/Hypr.qml | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/config/UtilitiesConfig.qml b/config/UtilitiesConfig.qml index 0d70d50..9117fa1 100644 --- a/config/UtilitiesConfig.qml +++ b/config/UtilitiesConfig.qml @@ -18,5 +18,7 @@ JsonObject { property bool dndChanged: true property bool audioOutputChanged: true property bool audioInputChanged: true + property bool capsLockChanged: true + property bool numLockChanged: true } } diff --git a/services/Hypr.qml b/services/Hypr.qml index 62bdf78..cd68d72 100644 --- a/services/Hypr.qml +++ b/services/Hypr.qml @@ -1,6 +1,8 @@ pragma Singleton import qs.components.misc +import qs.config +import Caelestia import Quickshell import Quickshell.Hyprland import Quickshell.Io @@ -36,6 +38,26 @@ Singleton { return Hyprland.monitorFor(screen); } + onCapsLockChanged: { + if (!Config.utilities.toasts.capsLockChanged) + return; + + if (capsLock) + Toaster.toast(qsTr("Caps lock enabled"), qsTr("Caps lock is currently enabled"), "keyboard_capslock_badge"); + else + Toaster.toast(qsTr("Caps lock disabled"), qsTr("Caps lock is currently disabled"), "keyboard_capslock"); + } + + onNumLockChanged: { + if (!Config.utilities.toasts.numLockChanged) + return; + + if (numLock) + Toaster.toast(qsTr("Num lock enabled"), qsTr("Num lock is currently enabled"), "looks_one"); + else + Toaster.toast(qsTr("Num lock disabled"), qsTr("Num lock is currently disabled"), "timer_1"); + } + Connections { target: Hyprland -- cgit v1.2.3-freya