For human-readable release notes, see the blog post π
Compatible with wlroots 0.17.x
What's Changed
- bump meson.build to 0.9.0 (development version) by @ammen99 in #1938
- Unbreak build on FreeBSD by @jbeich in #1939
- build: Tell meson to ignore the return value of git commands by @soreau in #1944
- meson: fix duplicate installation of manpage by @nekopsykose in #1943
- xdg-shell: handle changes in wm_geometry offset while not in a transaction by @ammen99 in #1947
- xdg-toplevel: update wm-offset before emitting signal by @ammen99 in #1950
- cube: make cube ipc-activatable by @ammen99 in #1952
- ipc-scripts: fix ipc-rules-demo by @ammen99 in #1964
- output-layout: use wlr_texture_from_buffer directly by @ammen99 in #1967
- xwayland: fix destruction sequence when there are pending transactions by @ammen99 in #1970
- Implement keyboard-shortcuts-inhibitor-v1 by @ammen99 in #1969
- support reposition popups by @lilydjwg in #1974
- fix some typos by @lilydjwg in #1975
- Fix #1960 by @ammen99 in #1976
- api: add collect_output_nodes() and use this in plugins by @ammen99 in #1978
- Add
xkb_options
towayfire.ini
by @Voklen in #1981 - Small fix to setting focus of on_demand layer shell surfaces by @mfxbe in #1986
- output-layout: add support for custom modes in wlr-output-management-v1 by @ammen99 in #1984
- xdg-popup: set keyboard focus surface to not null by @ammen99 in #1987
- simple-tile: connect to workarea changed when creating wset by @ammen99 in #1988
- wm-actions: fix toggle always on top with no focused views by @ammen99 in #1989
- core: add an option to accept or discard command output by @lilydjwg in #1993
- core: discard_command_output needs to be initialized before plugins by @lilydjwg in #1998
- workspace-impl: return output size directly if output is attached by @ammen99 in #1997
- xwayland: do not honor request_activate() if the view is not mapped yet by @ammen99 in #2002
- ipc plugins: Move list-views from stipc to ipc-rules by @soreau in #2011
- fix handling of focus of views with null keyboard focus view by @ammen99 in #2015
- Config backend fixups by @soreau in #2006
- ipc: add support for querying input devices and enabling/disabling them by @ammen99 in #2016
- Fix #2007 by @ammen99 in #2026
- Update to build against wlroots 0.17.x by @soreau in #2024
- ipc-rules: Include role in view list information by @soreau in #2027
- ipc-rules: change output from name to ID. by @lcolitti in #2028
- Add an example script to move all windows to another workspace by @lcolitti in #2029
- ipc-rules: Add list-outputs function by @soreau in #2031
- window-rules: allow setting alpha for non-toplevel windows by @ammen99 in #2032
- render-manager: add WAYFIRE_DISABLE_DIRECT_SCANOUT by @ammen99 in #2033
- Move ensure_pointer() call to oswitch by @soreau in #2035
- render-manager: Use correct captures for lambdas in swapchain damage manager by @soreau in #2037
- plugin-loader: Only load plugins once by @soreau in #2038
- support fractional scale by @lilydjwg in #2042
- wm-actions: Unminimize views in reverse to maintain stacking order by @soreau in #2044
- Add shortcuts inhibit to core.xml and wayfire.ini by @marcusbritanicus in #2049
- Deny shortcut inhibit by @soreau in #2051
- Advertise support for single-pixel-buffer-v1 by @soreau in #2052
- README: Update ubuntu installation instructions by @soreau in #2054
- Fix memory leak when activating cube plugin by @lcolitti in #2060
- ipc-scripts: fix wrong command name by @lcolitti in #2061
- Listen to tiled signal in deco plugin and emit view_tiled signal on core by @timgott in #2062
- add keybindings: prev_output, prev_output_with_win by @A7R7 in #2072
- output: Implement adaptive sync option by @soreau in #2058
- disable unity builds in one of the CIs by @ammen99 in #2081
- views: emit pre_unmap immediately when starting a transaction by @ammen99 in #2080
- Support for wlr_drm_lease_v1 by @CharlieQLe in #2083
- more complete input method support by @lilydjwg in #2053
- ipc-activator.hpp: use relative include path by @ammen99 in #2084
- idle-inhibit: Fix inversed condition for working client inhibit by @soreau in #2091
- idle: Fix stuck black screen after timeout with cube disabled by @soreau in #2092
- oswitch: update cursor position after warping the mouse by @ammen99 in #2086
- main: ignore SIGPIPE globally. by @lcolitti in #2096
- decor: Don't put minimize buttons on child views by @soreau in #2057
- Add subsurfaces to the back that are meant to be below the parent surface by @soreau in #2099
- Modify blur defaults to avoid visual artifacts by @soreau in #2101
- Toggle menu by @soreau in #2097
- cursor: emit post event signals for tablet input by @ammen99 in #2102
- Fix
wayfire
AUR link by @trigg in #2110 - output: Add bit depth property by @soreau in #2112
- layer-shell: Refocus the keyboard focus view after arranging layers by @soreau in #2119
- Don't resize clients when output is resized by @marcusbritanicus in #2123
- pointer: mark updates caused by geometry change as real updates by @ammen99 in #2126
- keyboard: do not consume the release events from modifier bindings by @ammen99 in #2127
- ipc: add a method to list all available methods by @ammen99 in #2128
- ipc: make client interface really an interface by @ammen99 in #2130
- scale: Adapt to workarea changes by @soreau in #2133
- ipc-rules: Add get-view-pid to get the active view pid by @soreau in #2131
- optimize the GPU usage of workspace-wall by @ammen99 in #2132
- vswitch: add support for ipc by @ammen99 in #2135
- vswitch: remove "ghost window" on target workspace. by @lcolitti in #2106
- xwayland: fix a typo when setting dialog parents by @ammen99 in #2138
- toplevel-view: emit move_to_wset() when changing to a dialog by @ammen99 in #2140
- animate: lock views while cleaning up by @ammen99 in #2142
- ipc enhancements by @ammen99 in #2143
- api, ipc: add signal for when a plugin is activated or deactivated by @ammen99 in #2144
- wlroots: Bump subproject to 0.17.1 by @soreau in #2152
- a few fixes by @ammen99 in #2153
- ipc: add close-view by @CharlieQLe in #2158
- gl wrapper improvements by @ammen99 in #2161
- ipc: support workspace sets by @CharlieQLe in #2156
- ipc-rules: add output-added and output-removed signals by @CharlieQLe in #2163
- Some input method fixes (take 2) by @lilydjwg in #2113
- xdg-popup: include popup's own position in the calculation by @ammen99 in #2170
- hotspots: verify that the touch event belongs to finger id 0 by @ammen99 in #2187
- input-method-v1 by @ammen99 in #2172
- im-relay: fix text inputs created while a non-wlr node is focused by @ammen99 in #2188
- change overlay to workspace as default in scale plugin by @killown in #2192
- scale: fix moving view between different outputs by @ammen99 in #2165
- Add views to signals by @marcusbritanicus in #2196
- core: fix shutdown sequence by @ammen99 in #2197
- Set space between the edges by @killown in #2194
- core: do not resize view in move_view_to_output by @ammen99 in #2211
- use OpenMP for simplifying thread setup in fire particle animations (master branch) by @epsilon-0 in #1561
- Use the new animation option type by @ammen99 in #2202
- improve log on wfconfig error by @ammen99 in #2214
- add ipc-scripts/input.py by @ammen99 in #2216
- Copy config.h approach from wlroots-full.hpp to other public api headers by @parona-source in #2225
- conf: fix reloading on IN_CREATE by @atalii in #2215
- ipc: add get view alpha by @killown in #2221
- simple tile ipc by @ammen99 in #2219
- output-layout: select mode with closest matching refresh rate by @ammen99 in #2229
- ipc: add get active output by @killown in #2230
- Explicitly check wlroots features and fail if required ones are missing by @parona-source in #2226
- Implement the session lock protocol by @lcolitti in #2162
- Revert "Implement the session lock protocol (#2162)" by @ammen99 in #2233
- output-layout: fix null pointer caused by #2229 by @ammen99 in #2232
- move-drag-interface: do not reset the view until the end by @ammen99 in #2235
- meson.build: fix autodetection of xwayland support by @ammen99 in #2238
- fix 2236 by @ammen99 in #2240
- simple-tile: fix swapping of nodes with the same parent by @ammen99 in #2246
- ci: use alpine:latest instead of alpine:edge by @ammen99 in #2251
- transformer optimizations by @ammen99 in #2250
- Implement the session lock protocol, take 2 by @lcolitti in #2237
- surface-node: add support for surface transform by @ammen99 in #2254
- ipc: add more ipc events by @CharlieQLe in #2252
- simple-tile: unregister methods on unloading by @ammen99 in #2255
- output-layout: fix mode selection with no configured rr by @ammen99 in #2256
- imv1: fix null text_input crash by clearing it later by @lilydjwg in #2261
- xdg-shell: unset priv->wsurface on destroy by @ammen99 in #2258
- scale: auto-close scale when a new view opens by @CharlieQLe in #2265
- Update to wlroots 0.17.2 by @marcusbritanicus in #2270
- simple-tile: make sure to not stop controller twice by @ammen99 in #2268
- ipc: do not be strict about utf8 when encoding json data by @ammen99 in #2272
- ipc-rules: add mechanism to connect signals only when a subscriber is really there by @ammen99 in #2267
- Improvements to surface and node handling by @ammen99 in #2275
- meson.build: add json as wayfire dependency by @ammen99 in #2259
- protocols: add support for text-input-v1 by @ammen99 in #2263
- fix 1779 by @ammen99 in #2277
- fix 1601 by @ammen99 in #2247
- fix killown crashes by @ammen99 in #2283
- Session lock plugin fixes by @lcolitti in #2304
- api add min max size by @ammen99 in #2306
- layer-shell: first handle all exclusive zones and then pin views by @ammen99 in #2311
- xwayland: check icccm input model when mapping by @ammen99 in #2310
- switcher: fix handling when workspace becomes empty by @ammen99 in #2309
- fix more crashes by @ammen99 in #2312
- toplevel-views: fix memory leak by @ammen99 in #2313
- session-lock: refocus after lock destroyed. by @lcolitti in #2320
- even more fixes by @ammen99 in #2314
- Remove comment that says wf-dock started with autostart_wf_shell by @tyressk in #2329
- xwayland: add lazy start config option by @dep4 in #2330
- Add more IPC commands by @ammen99 in #2332
- multioutput fuzzing fixes by @ammen99 in #2325
- another round of fuzz testing by @ammen99 in #2334
- more fixes by @ammen99 in #2335
- fix yet more crashes by @ammen99 in #2337
- valgrind fixes by @ammen99 in #2338
- bump wf-config submodule by @kode54 in #2352
- bump wlroots subproject to 0.17.3 by @kode54 in #2353
- core: emit view decoration updated signal even for unmapped views by @ammen99 in #2350
- Link session-lock.so to pangocairo by @marcusbritanicus in #2372
- send preferred_buffer_scale event after entering an output by @lilydjwg in #2331
- Support output-id and view-id names in ipc-activator by @marcusbritanicus in #2371
- wrot: use coordinates relative to the output when calculating rotation by @ammen99 in #2375
- final fixes for 09 by @ammen99 in #2380
- Provide "natural scrolling" option for mice. by @mgriego in #2370
- core: add a reason hint for keyboard focus change by @ammen99 in #2382
- output-layout: mark custom modes explicitly by @ammen99 in #2383
- Bump
wf-config
version by @NamorNiradnug in #2390 - toplevel-views: be more careful when mapping views by @ammen99 in #2393
- bump wlroots version to 0.17.4 by @ammen99 in #2394
- archlinux ci: use clang17 repository by @ammen99 in #2409
- Set default decoration mode when it is adjusted at runtime by @wb9688 in #2400
- move: Check if grid is enabled before activating edges on drag by @soreau in #2404
- workarounds: Clean up metadata by @soreau in #2410
- Prepare for a release by @ammen99 in #2413
- Add wlroots to DesktopNames by @Vladimir-csp in #2432
- fix a crash with dnd icons by @ammen99 in #2442
- Add missing include for gcc-15 by @ceamac in #2441
- remove ipc scripts which were moved to the pywayfire repository by @ammen99 in #2440
New Contributors
- @nekopsykose made their first contribution in #1943
- @Voklen made their first contribution in #1981
- @lcolitti made their first contribution in #2028
- @A7R7 made their first contribution in #2072
- @CharlieQLe made their first contribution in #2083
- @killown made their first contribution in #2192
- @parona-source made their first contribution in #2225
- @atalii made their first contribution in #2215
- @tyressk made their first contribution in #2329
- @dep4 made their first contribution in #2330
- @mgriego made their first contribution in #2370
- @Vladimir-csp made their first contribution in #2432
- @ceamac made their first contribution in #2441
Full Changelog: v0.8.1...v0.9.0