From f60f2b29f2144b95907738e1e99f7fed4715f0fe Mon Sep 17 00:00:00 2001 From: Jeff Date: Sun, 22 Mar 2026 17:46:26 -0700 Subject: [PATCH] [bugfix][hyprland] Expose way to update hyprland keyboard There is no event to respond to from hyprland to update the `main_keyboard` property. This means that the `hyprland.main_keyboard` property is populated at start and *never* updated after. This just exposes the proactive population method to be called if desired, via something like a `utils.Poll` if you want to hook something into it (like a caps-lock indicator). --- ignis/services/hyprland/service.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ignis/services/hyprland/service.py b/ignis/services/hyprland/service.py index 4a75faa5..4239e1fc 100644 --- a/ignis/services/hyprland/service.py +++ b/ignis/services/hyprland/service.py @@ -354,6 +354,12 @@ def __sync_main_keyboard(self) -> None: self.notify("main-keyboard") + def update_main_keyboard(self) -> None: + """ + Update the `main_keyboard` property for the service (there is no passive/reactive way to do this). + """ + self.__sync_main_keyboard() + def __sync_active_layout(self, layout: str) -> None: self._main_keyboard.sync({"active_keymap": layout})