Skip to content

Latest commit

 

History

History
235 lines (189 loc) · 9.25 KB

NEWS.md

File metadata and controls

235 lines (189 loc) · 9.25 KB

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}_OUTPUTS for 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 local rc.xml settings in accordance with docs/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_constraints and relative_pointer - mostly for gaming. Written-by: @Joshua-Ashton
    • viewporter - needed for some games to fake modesets. Written-by: @Joshua-Ashton
    • wlr_input_inhibit. This enables swaylock to be run. Written-by: @telent
    • wlr_foreign_toplevel. This enables controlling windows from clients such as waybar.
    • idle and idle_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> with contexts (e.g. TitleBar, Left, TLCorner, Frame), buttons (e.g. left, right), and mouse actions (e.g. Press, DoubleClick). Modifier keys are also supported to handle configurations such as alt + mouse button to move/resize windows. (Written-by: @bi4k8, @apbryan)
    • <libinput> configuration. Written-by: @ARDiDo
    • <resistance><screenEdgeStrength>
  • 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 with escape (Written-by: @jlindgren90)
  • Add the following theme options:
    • set buttons colors individually (for iconify, close and maximize)
    • window.(in)active.label.text.color
    • window.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_decorations and 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_THEME and XCURSOR_SIZE environment 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() if LABWC_ADAPTIVE_SYNC set

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