Skip to content

Extension: Implement window-{added, removed} Signals

This fixes #4 by only excluding minimized windows and connects new signals to update tiling in a more complete way.
It also includes better cleanup that finally makes it possible to disable and re-enable the Extension correctly.

I didn't follow any particular style here so feel free to propose one; I also didn't cleanup anything that should have been handled differently (More structured Safety Checks).

The only regression I can see is with software which erroneously spawns dropdown menus as independent windows; As they aren't flagged properly, this causes the tiling algorithm to run, often times causing problematic overflows.
Also, the latency at which the window state checking is done could be brought lower than the current 10ms but this causes some windows to be improperly tiled (we are missing some validity checks) or, in the case of the above issue, complete shell lockups.
For testing purposes one software which has this issue is Musescore 4 forced Wayland Native.

Includes !2

Merge request reports