mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-26 21:17:47 -04:00
CompositorService detects the compositor asynchronously: compositorInitTimer waits 100ms before calling detectCompositor(), which shells out to identify the Wayland socket owner and only sets the compositor flags in its callback. KeyboardLayoutName gates its initial updateLayout() on CompositorService.isHyprland in Component.onCompleted, which always runs before that lands, so the call never happens and the widget renders with an empty label until the first activelayout event, i.e. until the user switches layout by hand. Re-run updateLayout() when the detected compositor changes. updateLayout() already branches on the compositor internally, so one handler covers every backend. Co-authored-by: shalevc1098 <[email protected]>