-
-
Notifications
You must be signed in to change notification settings - Fork 41
Description
When switching focus between two layer shell surfaces, the Unfocus event does not have the correct window Id. It seems like the Focus event is fired on the focused layer shell (or window), then the Unfocused event fires with the id of the newly focused surface, instead of the previous one. For some reason re-focusing the surface will then trigger the unfocus event, unless you first focus an ordinary window.
When focusing to an ordinary window not owned by the iced process, it works correctly.
Focusing another layer shell (the center layer shell closes on unfocus, the bottom bar just tracks events with no reaction):
https://github.com/user-attachments/assets/abc98c66-d8d2-484b-afcc-58297c46e97a
Focusing a window owned by the same iced process (same thing but the bar is now in an xdg window).
https://github.com/user-attachments/assets/2fbe333f-90b3-4423-858a-695e19665e4f
I have not yet tested this on other des/wms, however the fact that it works on othee xgd windows but not those in the same iced process makes me think it is an issue with iced_layershell
The code I used can be found at https://github.com/dj-laser/n16-shell/tree/debug (use the previous commit for the bar in a layer shell instead of an xdg window)