labwc 0.7.3 Following a couple of big releases, this one feels like more steady with lots of focus on bug fixes and stability. In terms of new features the most noteworthy ones include improved tablet support (by @jp7677), `Super_L` on-release keybinds (by @spl237 from the Raspberry Pi teams) and the screen magnifier which was a joint effort by @spl237 and @Consolatis. Added - Add config option `<core><xwaylandPersistence>` to support keeping XWayland alive even when no clients are connected. PR #1961 - Support xdg-shell protocol v3 with popup repositioning. #1950 Also see https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3514 which adds support on the wlroots side. - Add action `ToggleTabletMouseEmulation`. Written-by: jp7677 PR #1915 - Implement `<resize><drawContents>`. With thanks to @tokyo4j PR #1863 - Add `onRelease` option to `<keybind>` in support of binding `Super_L` to a menu. Written-by: @spl237 PR #1888 - Add initial support for `security-context-v1` (user configurable blocklists are still missing). Written-by: @nesteroff PR #1817 - Add support for `tablet-v2-manager`. Written-by: @jp7677 PR #1678 #1882 - Add action `UnMaximize`. PR #1831 - Support multiple IME popups. PR #1823 - Add `All` context for mouse bindings which need to be handled irrespective of the mouse pointer location. This enables Super+mouse-scroll to change magnification. Written-by: @spl237 PR #1768 - Add `SetDecorations` action. Written-by: @xi PR #1733 - Add `policy` option to `AutoPlace` action. PR #1784 - Add window type filter to If-actions. Written-by: @xi PR #1731 - Add screen magnifier which can be controlled with the `ZoomIn`, `ZoomOut` and `ToggleMagnify` actions. Written-by: @spl237 PR #1774 Fixed - When looking for menu.xml, go through all paths rather than just giving up if not found in the first path searched. This makes it consistent with how other config/theme files are handled. PR #1971 - Fix memory leaks in theme.c and menu.c. PR #1971 - Fix session-lock bugs related to keyboard focus. PR #1952 - Clear focused surface on lock - Restore focused view on unlock - Fix memory leak in ssd/ssd-shadow.c PR #1954 - Respect `menu.overlap.x` when using pipemenus. PR #1940 - Do not try to restore windows to very small width/height on unmaximize. This fixes a bug with Thonny (Python IDE made with Tk). PR #1938 - Conditially set squared server-side decoration (SSD) corners when a view is tiled. Written-by: @jp7677 PR #1926 - Remember initial direction when starting window-cycling with `PreviousView`. Also make the toggling of direction when shift is pressed relative to the initial direction. For example if W-j is bound to PreviousWindow, subsequent key presses will continue to cycle backwards unless shift is also pressed. Written-by: @droc12345 PR #1919 - Show dnd icon above layer-shell surfaces. PR #1936 - Initialize locale after reading environment files so that client-menu items and workspace names follow the env var `LANG` should that be set in `~/.config/labwc/environment` (which is not recommended, but we prefer to handle it properly if it is). PR #1927 - Fix crash on `menu.xml` containing `<item>` without a parent `<menu>`. PR #1907 - Reset XWayland cursor image on cursor theme reload to avoid trying to read destroyed pixel data. PR #1895 - Prevent child views from opening outside of usable area. PR #1878 - Fix IME popups issues (flicker when popup surface is initially mapped and incorrectly showing multiple popups). PR #1872 - Rate-limit cursor-driven resize events based on monitor's refresh rate. This fixes the lag when resizing windows of some apps on XWayland, for example Chromium and Steam. PR #1861 - Session-lock: fix flashing & update cursor shape. PR #1858 - Remove tearing-controller listeners on destroy. PR #1853 - Handle invalid `ForEach` and `If` action cofigs. PR #1838 - Delay startup of applications until event loop is ready. This avoids race conditions when using autostart scripts that trigger a labwc SIGHUP. #1588 - With `SendToDesktop` action follow=no option, ensure the topmost window is focused. #1800 - Prevent XWayland from using incorrect keymap. #1816 - Allow keybinds containing the hyphen key to be defined with `-`. Written-by: @toast #1811 - Show/hide `top` layer more smartly. Before this commit, `top` layers were hidden whenever there was a fullscreen window in the corresponding output. With this commit, `top` layers are hidden only when there is a fullscreen window without other windows above it in the corresponding output. Changed - Remove subprojects/seatd.wrap as no longer needed - Action `MoveToCursor` is deprecated in favour of: `<action name="AutoPlace" policy="cursor"/>`.