9.2 KiB
Introduction
This file contains significant user-visible changes for each version.
For full changelog, use git log.
The format is based on Keep a Changelog
On the master branch we have moved across to the wlroots scene-graph
API and as a result there is likey to be a period of instability and
regression. A v0.5 branch has been created as a stable pre-scene-graph
branch, but it is not envisaged that new major features will be added on
that branch.
Summary of Releases
| Date | Release notes | wlroots version | lines-of-code |
|---|---|---|---|
| 2022-05-17 | 0.5.2 | 0.15.1 | 8829 |
| 2022-04-08 | 0.5.1 | 0.15.1 | 8829 |
| 2022-02-18 | 0.5.0 | 0.15.1 | 8766 |
| 2021-12-31 | 0.4.0 | 0.15.0 | 8159 |
| 2021-06-28 | 0.3.0 | 0.14.0 | 5051 |
| 2021-04-15 | 0.2.0 | 0.13.0 | 5011 |
| 2021-03-05 | 0.1.0 | 0.12.0 | 4627 |
0.6.0 - unreleased
This release contains significant refactoring to use the wlroots scene-graph API, particularly src/output.c, server-side-decoration and the layer-shell implementation. Many thanks to @Consolatis for some heavy lifting with this. Native language support has been added by @01micko.
Added
- Presentation protocol
0.5.2 - 2022-05-17
This is a minor bugfix release mostly to ease packaging.
Fixed
- Properly use system provided wlroots. Written-by: @eli-schwartz
0.5.1 - 2022-04-08
Added
- Honour size increments from WM_SIZE_HINTS, for example to allow xwayland terminal emulators to be resized to a width/height evenly divisible by the cell size. Written-by: @jlindgren90
- Implement cursor input for overlay popups. Written-by: @Consolatis
Fixed
- Do not raise xwayland windows when deactivating (issue #270). Written-by: @Consolatis
- Restore drag mouse-bindings and proper double-click (issues #258 and #259). Written-by: @Consolatis
- Implement cursor input for unmanaged xwayland surfaces outside their parent view. Without this menus extending outside the main application window do not receive mouse input. Written-by: @jlindgren90
- Allow dragging scrollbar or selecting text even when moving cursor outside of the window (issue #241). Written-by: @Consolatis
- Fix positioning of xwayland views with multiple queued configure events. Written-by: @Consolatis
- Force a pointer enter event on the surface below the cursor when cycling views (issue #162). Written-by: @Consolatis
- Fix qt application crash on touchpad scroll (issue #225). Written-by: @Consolatis
0.5.0 - 2022-02-18
As usual, this release contains a bunch of fixes and improvements, of which the most notable feature-type changes are listed below. A big thank you to @ARDiDo, @Consolatis and @jlindgren90 for much of the hard work.
Added
- Render overlay layer popups to support sfwbar (issue #239)
- Support HiDPI on-screen-display images for outputs with different scales
- Reload environment variables on SIGHUP (issue #227)
- Add client menu
- Allow applications to start in fullscreen
- Add config option
<core><cycleViewPreview>to preview the contents of each view when cycling through them (for example using alt-tab). - Allow mouse movements to trigger SnapToEdge. When dragging a view, move the cursor outside an output to snap in that direction.
- Unmaximize on Move
- Support wlroots environment variable
WLR_{WL,X11}_OUTPUTSfor running in running nested in X11 or a wlroots compositor. - Support pointer gestures (pinch/swipe)
- Adjust views to account for output layout changes
Changed
This release contains the following two breaking changes:
- Disabling outputs now causes views to be re-arranged, so in the context of idle system power management (for example when using swaylock), it is no longer suitable to call wlr-randr {--off,--on} to enable/disable outputs.
- The "Drag" mouse-event and the unmaximize-on-move feature require
slightly different
<mousebind>settings to feel natural, so suggest updating any localrc.xmlsettings in accordance withdocs/rc.xml.all
0.4.0 - 2021-12-31
Compile with wlroots 0.15.0
This release contains lots of internal changes, fixes and new features. A big thank you goes out to @ARDiDo, @bi4k8, @Joshua-Ashton, @jlindgren90, @Consolatis, @telent and @apbryan. The most notable feature-type changes are listed below.
Added
- Add support for the following wayland protocols:
pointer_constraintsandrelative_pointer- mostly for gaming. Written-by: @Joshua-Ashtonviewporter- needed for some games to fake modesets. Written-by: @Joshua-Ashtonwlr_input_inhibit. This enables swaylock to be run. Written-by: @telentwlr_foreign_toplevel. This enables controlling windows from clients such as waybar.idleandidle_inhibit(Written-by: @ARDiDo)
- Support fullscreen mode.
- Support drag-and-drop. Written-by: @ARDiDo
- Add the following config options:
- Load default keybinds on
<keyboard><default /> <keyboard><repeatRate>and<keyboard><repeatDelay>- Specify distance between views and output edges with
<core><gap> <core><adaptiveSync>- Set menu item font with
<theme><font place="MenuItem"> - Allow
<theme><font>without place="" attribute, thus enabling simpler config files - Support
<mousebind>withcontexts(e.g.TitleBar,Left,TLCorner,Frame),buttons(e.g.left,right), andmouse actions(e.g.Press,DoubleClick). Modifier keys are also supported to handle configurations such asalt+ mouse button to move/resize windows. (Written-by: @bi4k8, @apbryan) <libinput>configuration. Written-by: @ARDiDo<resistance><screenEdgeStrength>
- Load default keybinds on
- Support for primary selection. Written-by: @telent
- Support 'alt-tab' on screen display when cycling between windows
including going backwards by pressing
shift(Written-by: @Joshua-Ashton) and cancelling withescape(Written-by: @jlindgren90) - Add the following theme options:
- set buttons colors individually (for iconify, close and maximize)
window.(in)active.label.text.colorwindow.label.text.justify- OSD colors
- Show application title in window decoration title bar
- Handle double click on window decoration title bar
- Support a 'resize-edges' area that is wider than than the visible window decoration. This makes it easier to grab edges to resize windows.
- Add window actions 'MoveToEdge', 'ToggleMaximize', 'Close', 'Iconify', 'ToggleDecorations', 'ToggleFullscreen', 'SnapToEdge', 'Focus', 'Raise', 'Move', 'MoveToEdge', 'Resize', 'PreviousWindow', 'ShowMenu'
- Add labwc.desktop for display managers
- layer-shell:
- Take into account exclusive areas of clients (such as panels) when maximizing windows
- Support popups
- Handle xwayland
set_decorationsand xdg-shell-decoration requests. Written-by: @Joshua-Ashton - Handle view min/max size better, including xwayland hint support. Written-by: @Joshua-Ashton
- Handle xwayland move/resize events. Written-by: @Joshua-Ashton
- Support audio and monitor-brightness keys by default
- Catch ctrl-alt-F1 to F12 to switch tty
- Support
XCURSOR_THEMEandXCURSOR_SIZEenvironment variables - Support submenus including inline definitions
Changed
- The config option
<lab><xdg_shell_server_side_deco>has changed to<core><decoration>(breaking change)
0.3.0 - 2021-06-28
Compile with wlroots 0.14.0
Added
- Add config options
<focus><followMouse>and<focus><raiseOnFocus>(provided-by: Mikhail Kshevetskiy) - Do not use Clearlooks-3.4 theme by default, just use built-in theme
- Fix bug which triggered Qt application segfault
0.2.0 - 2021-04-15
Compile with wlroots 0.13.0
Added
- Support wlr-output-management protcol for setting output position, scale and orientation with kanshi or similar
- Support server side decoration rounded corners
- Change built-in theme to match default GTK style
- Add labwc-environment(5)
- Call
wlr_output_enable_adaptive_sync()ifLABWC_ADAPTIVE_SYNCset
0.1.0 - 2021-03-05
Compile with wlroots 0.12.0 and wayland-server >=1.16
Added
- Support xdg-shell and optionally xwayland-shell
- Show xbm buttons for maximize, iconify and close
- Support layer-shell protocol (partial)
- Support damage tracking to reduce CPU usage
- Support very basic root-menu implementation
- Re-load config and theme on SIGHUP
- Support simple configuration to auto-start applications, set environment variables and specify theme, font and keybinds.
- Support some basic theme settings for window borders and title bars
- Support basic actions including Execute, Exit, NextWindow, Reconfigure and ShowMenu