Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • debian/0.9.2-1
    labwc release 0.9.2-1 for unstable
    
    [dgit distro=debian split --quilt=baredebian]
    [dgit please-upload source=labwc version=0.9.2-1 upstream-tag=upstream/0.9.2 upstream=70e5beb5ec4de9d4f01b1528c0016ccc9355730c]
    
  • 0.9.2
    labwc 0.9.2
    
    Added
    
    - Allow `SnapToEdge` and `ToggleSnapToEdge` to combine two cardinal directions
      with the config option `combine="yes|no"`. [#3081] @tokyo4j
    - Support `Border` context for mousebinds as an alias for `Top`...`BRCorner` to
      make configuration easier. @tokyo4j [#3047]
    - Add window-switcher mode with thumbnails. This can be enabled with:
      `<windowSwitcher style="thumbnail">`. @tokyo4j [#2981]
    - Add `toggle` option to `GoToDesktop` action. This has the effect of going back
      to the last desktop if already on the target. @RainerKuemmerle [#3024]
    - Add `<theme maximizedDecoration="titlebar|none"/>` to allow hiding titlebar
      when window is maximized. @CosmicFusion @tokyo4j [#3015]
    - Use client-send-to-menu as 'Workspace' submenu in built-in client-menu
      @johanmalm [#2995]
    - Allow overwriting submenu icon to increase flexibility and enhance Openbox
      compatibility. @tokyo4j [#2998]
    - Allow client-{list-combined,send-to}-menu as submenu of static menu @tokyo4j
      [#2994]
    - Add `labnag` (a dialog client with message and buttons) and associated
      `<prompt>` option in 'If' actions.  @johanmalm @Consolatis @tokyo4j [#2699]
    - Support config option `<core><promptCommand>` @johanmalm [#3097]
    - Allow snapping to corner edges during interactive move with associated config
      options `<snapping><cornerRange>`. @tokyo4j [#2885]
    - Support new values "up-left", "up-right", "down-left" and "down-right" with
      `<action name="(Toggle)SnapToEdge" direction="[value]">` and
      `<query tiled="[value]">`. @tokyo4j [#2885]
    - XML parsing improvements as listed below. @tokyo4j [#2667] [#2967] [#2971]
      - Support nested `If` and `ForEach` actions
      - Parse CDATA as text all nodes
      - Remove ordering constraint of attributes in `<keybind>`, `<mousebind>` and
        `<windowRule>`
      - `If` actions now works for menus
      - For menus, the `name` argument no longer has to be the first argument of
        `<action>`; and the `label` argument no longer has to be the first argument
        of `<item>`
    - Toggle mousebinds with the `ToggleKeybinds` action @tokyo4j [#2942]
    - Add support for direction value 'any' with tiled queries. This allows users
      to query for any snap directions without using multiple query statements
      @lynxy [#2883]
    
    Fixed
    
    - On detecting broken icon theme, fall back on 'hicolor' @Consolatis [#3126]
    - Restore initially-maximized window position after unplug/plug @tokyo4j [#3042]
    - Fix large client-side icon not being loaded when the rendered icon size is
      larger than icon sizes from the client. @tokyo4j [#3033]
    - Improve debug logging for configuring input devices @jlindgren90 [#3028]
    - Fix false positives when matching desktop entries @datMaffin [#3004]
    - Prevent accidental downcasting of scale in scaled-icon-buffer to avoid blurry
      icons on non-integer scales and a cairo assert when using a output scale < 1.
      @Consolatis #2984
    - Fix xdg-shell windows moving between outputs due to configure timeout
      @jlindgren90 [#2976]
    - Fix segfault with toplevel `<separator>` in `menu.xml` @tokyo4j [#2970]
    - Prevent hi-res mice triggering scroll actions too often @tokyo4j [#2933]
    
    Changed
    
    - Change default keybind `W-<arrow>` to combine cardinal directions to support
      resizing of windows to fill a quarter of an output. This only affects users
      who do not use an `rc.xml` (thereby using default keybinds) or use the
      `<keyboard><default/>` option. Previous behavior can be restored by setting
      `combine="no"` as shown below. [#3081] @tokyo4j
    
    ```
    <keybind key="W-Left">
      <action name="SnapToEdge" direction="left" combine="no" />
    </keybind>
    <keybind key="W-Right">
      <action name="SnapToEdge" direction="right" combine="no" />
    </keybind>
    <keybind key="W-Up">
      <action name="SnapToEdge" direction="up" combine="no" />
    </keybind>
    <keybind key="W-Down">
      <action name="SnapToEdge" direction="down" combine="no" />
    </keybind>
    ```
    
    - `Focus` and `Raise` on window border press because it is probably what most
      people expect and it makes the behavior consistent with that of Openbox.
      @johanmalm [#3039] [#3049]
    - On interactive resize, only un-maximize the axis/axes that are being resized.
      @jlindgren90 [#3043]
    - Change theme setting `osd.window-switcher.*` to
      `osd.window-switcher.style-classic.*`. Backward compatibility is preserved.
      @tokyo4j [#2981]
    - In client-list menu, add brackets around the titles of any minimised windows
      @davidphilipbarr [#3002]
    - Respect client-initiated window resize of non-maximized axis, for example
      remember the width of vertically-maximized window resizing itself
      horizontally. @jlindgren90 [#3020]
    - Remember position of window along non-maximized axis during interactive move.
      @jlindgren90 [#3020]
    - Restore default libinput device values on reconfigure with empty value, rather
      than leaving the old configuration. This makes rc.xml more declarative.
      @tokyo4j [#3011]
    - Change `If` action when used without a focused window to execute the `<else>`
      branch (previously it was just ignored). The reason for this is to make things
      more consistent with `<prompt>`. It is not anticipated that this will affect
      anyone's workflow but is mentioned here for completeness.
    - Make `autoEnableOutputs=no` apply only to drm outputs @jlindgren90 [#2972]
    - Take into account `<core><gap>` for edge and region overlays @tokyo4j [#2965]
  • upstream/0.9.2
  • debian/0.9.1-3
    labwc release 0.9.1-3 for unstable
    
    [dgit distro=debian split --quilt=baredebian]
    [dgit please-upload source=labwc version=0.9.1-3 upstream-tag=upstream/0.9.1 upstream=ca082e71727c18b914f592084b2067763d3bcfec]
    
  • debian/0.9.1-2
    labwc release 0.9.1-2 for unstable
    
    [dgit distro=debian split --quilt=baredebian]
    [dgit please-upload source=labwc version=0.9.1-2 upstream-tag=upstream/0.9.1 upstream=ca082e71727c18b914f592084b2067763d3bcfec]
    
  • debian/0.9.1-1
    labwc release 0.9.1-1 for experimental
    
    [dgit distro=debian split --quilt=baredebian]
    [dgit please-upload source=labwc version=0.9.1-1 upstream-tag=upstream/0.9.1 upstream=ca082e71727c18b914f592084b2067763d3bcfec]
    
  • 0.9.1
    labwc 0.9.1
    
    This is an earlier-than-usual release containinig bug fixes only. It has been
    done on a separate branch to avoid the inclusion of refactoring and new
    features.
    
                       0.9.1  <--- bug-fixes only
                        /
                       /
        0.8.4--------0.9.0--------  <-- master
    
    Fixed
    
    - Prevent interaction with un-initialized xdg-shell windows after unmap to fix a
      bug exposed by `wlroots-0.19.0` resulting in a compositor crash in certain
      (unusual) circumstances [#2948] [#2937] [#2944] @Consolatis
    - Fix double-free in `img_svg_render()` failure path [#2910] @jlindgren90
    - Fix swapped width/height in XWayland client `_NET_WM_ICON` stride calculation
      [#2909] @jlindgren90
  • upstream/0.9.1
  • debian/0.9.0-1
    labwc release 0.9.0-1 for experimental
    
    [dgit distro=debian split --quilt=baredebian]
    [dgit please-upload source=labwc version=0.9.0-1 upstream-tag=0.9.0 upstream=4beee3851f75b53afc2e8699c594c0cc222115bd]
    
  • 0.9.0
    labwc 0.9.0
    
    The main focus has been to port labwc to wlroots 0.19 [#2388] and fix associated
    issues. Special thanks to @Consolatis @jlindgren90 for this.
    
    There is a regression warning worth noting for the switch to wlroots 0.19:
    
    - Menu item can no longer be activated in any Gtk applications with a single
      press-drag-release mouse action. For context: This is due to ambiguity in the
      specifications and contrary implementations. For example, Gtk applications are
      broken under KWin in this regard, while vice versa Qt clients are broken under
      other compositors like Weston, Mutter and labwc. It has been decided not to
      block the release due to this regression as it is an eco-system wide issue
      that has existed for a long time. [#2787]
    - VR headset support is disabled when compiled with wlroots `0.19.0` to work
      around a bug on the wlroots side which is expected to be fixed in wlroots
      `0.19.1` [#2887]
    
    Added
    
    - Add client `lab-sensible-terminal` and add a `Terminal` entry to the default
      root-menu @johanmalm [#2877]
    - Enhance `-v|--version` option by adding feature flags like `+xwayland -rsvg`.
      @Consolatis [#2873]
    - Send drm leases to XWayland clients. This requires XWayland >= 21.1.9.
      @Consolatis [#553] [#2873]
    - Add `<windowRule iconPriority="client|server">`. @Consolatis @tokyo4j [#2839]
    - Support theme colors defined by X11-color-names and '#rgb' syntax @jlindgren90
      [#2686]
    - Support basic vertical titlebar gradients and the additional theme options
      listed below. @jlindgren90 [#2686]
    
    ```
    window.*.title.bg: Solid | Gradient ( Vertical | SplitVertical )
    window.*.title.bg.colorTo:
    window.*.title.bg.color.splitTo:
    window.*.title.bg.colorTo.splitTo:
    ```
    
    - Support the XWayland `_NET_WM_ICON` property. Use the new `iconPriority`
      window rule to enable this. @Consolatis @tokyo4j [#2840]
    - Add config option `<core><primarySelection>`. This enables autoscroll
      (middle-click to scroll up/down) in Chromium and electron based clients
      without inadvertantly pasting the primary clipboard. @johanmalm [#2832]
    - Bump `xdg_shell` version from 3 to 6 @tokyo4j [#2814]
    - Bump `wl_compositor` version from 5 to 6 @tokyo4j [#2812]
    - Support tablet tool mouse buttons @jp7677 [#2778]
    - Add libinput config options:
      - `<threeFingerDrag>` @m4rch3n1ng [#2795]
      - `<dragLock>sticky</dragLock>` @tokyo4j [#2803]
      - `<scrollMethod>none|twofinger|edge</scrollMethod>` @Consolatis [#2767]
    - Add `{left,right}-occupied` options to `GoToDesktop` @DreamMaoMao [#2790]
    - Add config option `<theme><dropShadowsOnTiled>` @diredocks [#2789]
    - Add missing tracking of configure serials for xdg-shell surface to fix issue
      with mpv @jlindgren90 [#2774] [#2788]
    - Add support for the following Wayland protocols:
      - `ext-data-control` @Consolatis [#2829]
      - `alpha-modifier` @Consolatis [#2829]
      - `xdg-toplevel-icon protocol`. Use the new `iconPriority` window rule to
         enable this. @tokyo4j [#2755]
      - `drm-syncobj` protocol @zeusgoose [#2737]
      - `ext-image-copy-capture` protocol @any1 [#2740]
    - Support both axis for XWayland client side maximize requests.
      @Consolatis [#2728]
    - Add scroll emulation for cursor motion and associated actions @jp7677
      [#2678]:
       - `EnableScrollWheelEmulation`
       - `DisableScrollWheelEmulation`
       - `ToggleScrollWheelEmulation`
    
    Fixed
    
    - Fix flicking with negative screen/window resistance @ahesford [#2886]
    - Fix layer-shell UAF bug on TTY change @johanmalm @Consolatis [#2874]
    - Allow dragged windows to be moved to other workspaces. @Sumandora [#2868]
    - Destroy xdg-shell popups when their parent is destroyed to fix potential
      compositor crash. @Consolatis [#2846]
    - Clear SSD hover effects after touch-up @jp7677 [#2837]
    - Close compositor menus on first touch up/down event to prevent menus from
      staying open during touch interactions in native touch mode. @jp7677 [#2827]
    - Omit pointer cursor shape for tablet tools to prevent a resize cursor for
      out-of-surface scrolling with a tablet tool in recent GTK4 (which uses the
      cursor shape protocol). @jp7677 [#2808]
    - For XWayland, give focus to a modal dialog rather than its parent.
      @jlindgren90 [#2722]
    - Do not send configure events in unmap handler to fix issues with `wshowkeys`
      and `kitten` @tokyo4j @johanmalm [#1153] [#1154] [#2867]
    - Window switcher fixes: @tokyo4j [#2770]
      - Always show title with `<field content="title">`. Before this patch, titles
        were not shown if identical to identifiers.
      - Always show output name with `<field content="output">`. Before this patch,
        output names were not shown if there was only one output.
    - Send fractional scale to layer-shell surfaces before map. @Consolatis [#2768]
    - Only configure initialized layer-shell surfaces to fix bug with
      `kitten quick-access-terminal` @alex-huff [#2736] [#2745]
    - Improve focus semantics for XWayland windows using the Globally Active input
      model to fix issues with Zoom, WeChat and CLion @jlindgren90 [#1142]
      [#2811] [#2819]
    - Provide better support for XWayland client keyboard focus grabs by using the
      new `grab_focus` signal. @jlindgren90 [#1142]
    - Guard against negative sizes in window-switching and menu graphical artefacts.
      @tokyo4j [#2727]
    - Do not broadcast keyboard modifiers from virtual keyboards to fix issue with
      per-window layout settings. @orfeasxyz [#2723] [#2724]
    - Gracefully exit when no fonts are installed @tokyo4j [#2713]
    - config: validate total osd field width to ensure it does not exceed 100%.
      @tokyo4j [#2710]
    
    Changed
    
    - Replace alacritty in default keybind with `lab-sensible-terminal` @tokyo4j
      [#2891]
    - Use the `Super` modifier instead of `Alt` for the default mousebinds `A-Left`
      and `A-Right` (for move and resize) to avoid interfering with some clients
      like CAD programs and games @johanmalm [#2831]
    - Deprecate the default keybinds listed below. @johanmalm [#2831]
      - `A-F3` for bemenu-run because it is too close to A-F4 and it is better to be
        agnostic on choice of launcher.
      - `A-<arrow>` for `MoveToEdge` because `Alt-` keybinds should be for clients
        to use and this one results in frequent user complaints because it prevents
        some common usage patterns like alt-left/right in web browers.
    - Change default titlebar menu button from a dot to an arrow @johanmalm [#2844]
    - When `dragLock` is set to `yes`, the drag no longer expires after a short
      delay (known as `Sticky` mode) as recommended by libinput [#2803]. The timeout
      based behavior can be restored via the snippet below.
    
    ```xml
    <libinput>
      <device>
        <dragLock>timeout</dragLock>
      </device>
    </libinput>
    ```
  • 0.8.4
    labwc 0.8.4
    
    This release predominantly consists of bug-fixes, code simplification and
    usability improvements. Amongst the new features the most noteworthy is the
    addition of icons support in the window-switcher and client-list-combined-menu.
    
    A big thank you to @tokyo4j for leading the way on a lot of work in this
    release.
    
    Added
    
    - Support all pango font weight options (normal, thin, ultralight, light,
      semilight, book, medium, semibold, bold, ultrabold, heavy, ultraheavy) via
      config option `<theme><font><weight>` @spl237 [#2692] [#2693]
    - Add theme option `osd.workspace-switcher.boxes.border.width` @czkz [#2657]
    - Add theme option `osd.window-switcher.item.icon.size` @tokyo4j [#2651]
    - Localize desktop-entry application names used by the window switcher via
      `desktop_entry_name` or the `%n` specifier @tokyo4j [#2653]
    - Add `HideCursor` action @jp7677 [#2633]
    - Support application icons in window-switcher using `<field content="icon"/>`
      and use this by default. @tokyo4j [#2621]
    - Support application icons in client-list-combined-menu @tokyo4j [#2617]
    - Support the use of the keypad-enter key when using menu. @zeusgoose [#2610]
    - Show fallback icon in SSD titlebar when no `app_id` is set via
      `<theme><fallbackAppIcon>` @tokyo4j [#2599]
    
    Fixed
    
    - Enable overriding of `<touch>` configs to fix `--merge-config` bug @spl237
      [#2700]
    - Handle initially minimized windows (for example VSCode) to fix a focus and
      stacking bug @jlindgren90 [#2688] [#2627]
    - Minor window-switcher fix for box size and alignment @czkz [#2657]
    - Overwrite (not amend) configuration entries for `<windowSwitcher><fields>`
      and `<theme><titlebar><layout>` in support of using --merge-config @tokyo4j
      [#2669]
    - Consider `item.padding.y` when centering workspace name in window-
      switcher @tokyo4j [#2651]
    - Notify XWayland of correct window stacking order to fix issue with mouse
      scroll events and always-on-top windows. @tokyo4j [#2638]
    - Scale and transform magnifier in accordance with output settings @tokyo4j
      [#2645]
    - Allow only `Previous/NextWindow` action while window switching to prevent
      undefined behaviour like using `SendToDesktop` while window switching.
      @tokyo4j [#2613]
    - Harden window stacking order while window switching @tokyo4j [#2613]
    - Do not update cursor while window switching @tokyo4j [#2613]
    - Honor no content `<desktops><prefix>` node because users need a way to
      override the default "Workspace". @johanmalm [#2601] [#2613]
    
    Changed
    
    - Change default window-switcher layout to show icons and desktop-entry
      application name @tokyo4j [#2648]
    - If `<focus><followMouse>` is set to yes, the focus is now updated only when
      the cursor enters a window content, not when the cursor moves within the
      whole window including the titlebar. This makes the behaviour consistent with
      that of kwin, xfwm4 and openbox @tokyo4j [#2652]
    - Show magnifier only on one output to simplify handling of different scales
      and transforms. @tokyo4j [#2645]
    - Center labwc.svg logo vertically @jlindgren90 [#2619]
    - Increase default `<snapping><range>` to 10 to make it easier to snap windows
      on the edge between two monitors. @johanmalm [#2602] [#2608]
  • debian/0.8.3-1
    labwc Debian release 0.8.3-1
    
  • 0.8.3
    labwc 0.8.3
    
    The eye-catching new features of this release are undoubtedly:
    1. Support for the `ext-workspace` protocol with big thanks to @Consolatis
    2. Menu enhancements including icons and dynamic root-menus. Credits here go to
       @Consolatis, @tokyo4j and @johanmalm for improvements to both backend buffer
       managements and front end menu mechanics.
    
    However - on the whole - the main effort of this release has gone into
    stability, usability and performance fixes, and it really feels like we have
    matured nicely against the wlroots 0.18 series.
    
    Notes to package maintainers:
    - This version introduces the ext-workspace protocol which breaks xfce4-panel
      4.20.0. There is a fix in subsequent releases so make sure xfce4-panel is
      shipped at >= 4.20.1.
    
    Added
    
    - Add config options `<resize><cornerRange>` and `<resize><minimumArea>` [#2529]
    - Menu icons support [#2509]
    
    ```xml
    <menu>
      <showIcons>yes</showIcons>
    </menu>
    ```
    
    - Support toplevel pipemenus [#2238] [#2239]
    
    ```xml
    <?xml version="1.0"?>
    <openbox_menu>
      <menu id="root-menu" label="" execute="labwc-menu-generator -p -I" />
    </openbox_menu>
    ```
    
    - Add `<theme><fallbackAppIcon>` to specify the icon name to be used when
      lookups for an application icon have failed [#2518]
    - Use 'labwc' directory for themes as well as 'openbox-3' [#2488]
    - Add default Alt-Shift-Tab keybind for `PreviousWindow` [#2477]
    - Add config option `<core><autoEnableOutputs>` to allow users to avoid
      automatically enabling outputs at startup and when new outputs are connected.
      With autoEnableOutputs disabled, tools such as kanshi can be used to give
      finer-grained control of which outputs are enabled, which may be useful to
      avoid re-enabling outputs that disconnect and reconnect during powersave
      [#2458]
    - Add WarpCursor action. Written-by: @orfeasxyz [#2118]
    - Support ext-workspace protocol [#2365]
    
    Fixed
    
    - Prevent black flash (caused by unnecessary output commit without buffer) when
      repeatedly calling `wlopm --on` [#2580]
    - Set custom output mode on `wlopm --on` to work around a wlroots issue:
      https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3946 [#2578]
    - Handle layer-shell unmap without any outputs left [#2577]
    - Fix some odd, inconsistent behaviour with resize edges [#2529]
    - Cleanup overlay timer on exit [#2574]
    - Fix unexpected behavior when a menu is opened from another menu [#2537]
    - Taking into account SSD margin in `MoveTo` action [#2469] [#2563]
    - Fix UAF caused by trying to update xcursor in an output destroy-handler
      [#2539] [#2560]
    - Send wlr-foreign-toplevel `output_enter` on initialization to fix a bug which
      causes missing taskbar items in Waybar when configured to show windows per
      output. [#2550]
    - Use subsurface as reference for out-of-surface cursor movement [#2542] [#2547]
    - Dynamically look up window icons in server-side-deco titlebar for output
      scales [#2518]
    - Do not leak bound scroll events from touchpad to clients in some conditions
      [#2516]
    - Ignore duplicated buttons in `<titlebar><layout>` rather than ignoring all of
      it [#2524]
    - Set repeat information for virtual keyboards [#2513]
    - Honour modifier state of virtual keyboards when processing mousebinds. Helps
      some use-cases under wayvnc [#2511]
    - Accept uppercase icon endings
    - IME: fix stuck Ctrl when pressed Ctrl+F in Firefox with Fcitx5 [#2498]
    - Fix invisible cursor on application after reconfigure [#2499]
    - Fix abort() on non-ARGB32 PNG file [#2495]
    - Ignore `wlr_output_state.mode/custom_mode` except for client request [#2486]
    - Cancel keyboard keybind-repeat on reconfigure [#2473]
    - Send initial wlr-foreign-toplevel pre-map state [#2460]
    - Fix NULL `string_prop` crash when `app_id` is NULL [#2453]
    - Fix scaling for rendering large image in non-square rectangle [#2451]
    - Fix cursor focus when menu is closed by clicking its border [#2443]
    - Update pointer focus on xdg-popup/layer popup destruction to fix bug where
      closing a popup did not move the pointer focus to the main toplevel until the
      cursor was moved. [#2443]
    - Improve algorithm for menu placement with xdg-positioner [#2408]
    - Do not forward IME key-release without correspinding key-press to avoid stuck
      keys [#2437]
    
    Changed
    
    - Make window switcher more Openbox-like in terms of key processing. The shift
      key no longer inverts the direction of window switching, so to keep the
      original behavior, alt-shift-tab has been added as a default keybind to cycle
      to the previous window [#2477]
    - Do not set numlock by default, only set on|off if user specifically requests
      it in the config file [#2483]
    - Demote libsfdo error-logging to `WLR_INFO` to avoid logging issues with
      .desktop files as errors [#2456]
    - Always send modifier release events. This means that when a keybind is
      triggered while focusing on an application, the key-release event of the
      modifier key is now sent to the application. This fixes the problem of stuck
      modifier keys in some applications including Blender and wlfreerdp. Note that
      this change makes existing keybinds with Alt key show Firefox's menu bar. For
      those who don't want to make those keybinds interfere with Firefox's menu bar,
      we recommend replacing Alt key (e.g. "A-s") with Win key (e.g. "W-s") in the
      keybinds. [#2455]
    - Removed `wantAbsorbedModifierReleaseEvents` window rule as it's no longer
      needed [#2455]
    - Clear the keyboard/pointer focus while a window is dragged, the window
      switcher is activated or a menu is opened. As a result, with followMouse="yes"
      and followMouseRequiresMovement="no" in rc.xml, keyboard-focus semantics
      have subtly changed when using the window-switcher. [#2455]
  • upstream/0.8.3
  • debian/0.8.2-3
    labwc Debian release 0.8.2-3
    
  • debian/0.8.2-2
    labwc Debian release 0.8.2-2
    
  • debian/0.8.2-1
    labwc Debian release 0.8.2-1
    
  • debian/0.8.1-2
    labwc Debian release 0.8.1-2
    
  • 0.8.2
    labwc 0.8.2
    
    This is a shorter release cycle compared with the usual 10-week one because it
    contains a significant number of stability and cleanliness fixes which warrant
    packaging.
    
    We do not normally describe behind-the-scenes work in this log, but will mention
    two here as an exception:
    
    1. A clean run with gcc/clang memory leak check has been achieved. Thanks to
       @tokyo4j for fantastic work with this [#2331]
    2. A buffer-sharing mechanism has been merged to improve both processor and
       memory usage in the long term. Credits to @tokyo4j and @Consolatis for this
       one. [#2363]
    
    Notes to package maintainers:
    
    - The wlroots dependency has been increased to `0.18.1` to avoid a crash when
      using ext-foreign-toplevel-list protocol.
    - It is also advisable to use `0.18.2` as soon as possible to fix a crash
      triggered when the xwayland server closes during a drag-and-drop with an
      XWayland client.
    
    Added
    
    - Add support for xdg-foreign-v1 and xdg-foreign-v2 protocols [#2400]
    - Add window rule to send release-events of modifiers which are part of
      keybinds. This supports clients (like blender) that want to see modifier
      release events even when they are part of a keybinds. [#2377]
    
    ```xml
    <windowRules>
      <windowRule identifier="blender" wantAbsorbedModifierReleaseEvents="yes"/>
    </windowRules>
    ```
    
    - Support menu borders [#2376]
    
    ```
    menu.border.width: 1
    menu.border.color: #aaaaaa
    ```
    
    - Add conversion specifier `%n` to the window-switcher `<field>` config option
      to show desktop entry name in the window-switcher. Written-by: @jp7677 [#2360]
    
    ```xml
    <windowSwitcher>
      <fields>
        <field content="custom" format="%n" width="25%"/>
        <field content="title" width="75%"/>
      </fields>
    </windowSwitcher>
    ```
    
    - Add hold gestures. @jp7677 [#2326]
    - Support ext-foreign-toplevel-list protocol [#2072]
    - Support additional window rule conditions including `shaded`, `maximized`,
      `iconified`, `focused`, `omnipresent`, `desktop`, `tiled` and `tiled_region`.
      This also works for `If` and `ForEach` queries. @orfeasxyz @ahesford [#2245]
    - Add mouse emulation for touch devices. @spl237 [#2277]
    - Improve handling of touch events. @jp7677 [#2273]
      This includes:
        - Hide the cursor on touch input and keep the cursur invisible until
          pointer or tablet input
        - Close xdg-popups on touch down
        - Notify idle-manager on touch down/up
        - Clear pointer focus on touch input to avoid pointer focus interfering
          with touch input, like showing hover effect on unexpected locations
        - Move touch only with one touch point - in other words do not move the
          cursor when more than one finger is down
        - Warp cursor to touch coordinates for consistent behaviour with
          non-touch capable surfaces including the desktop
    - Set environment variable `LABWC_VER` with current compositor version.
      @01micko [#2257]
    - Broadcast keyboard modifiers to all clients rather than just the one with
      keyboard focus. [#2274]
      This enables:
        - Clients such as panels to display the current keyboard layout without
          introducing new wayland protocols or other IPC.
        - Unfocused xdg-shell clients to understand button press with keyboard
          modifiers for example Ctrl+click.
    
    Fixed
    
    - Fix crash caused by `rc.xml` `<touch>` options being specified as
      elements rather than attributes. [#2412]
    - Fix `ShowMenu` action position with x/y arguments in multi-monitor setup.
      [#2409]
    - Block privileged protocols for sandboxed clients [#2398]
    - Fix incorrect focus behaviour when switching between workspaces with
      omnipresent windows open [#2335]
    - Fall back to loading icon based on app-id when `Icon` defined in .desktop file
      can not be loaded [#2361]
    - Fix regression introduced with `0.8.1` to allow negative values for theme
      option `menu.overlap` [#2356]
    - Ensure output is usable before setting adaptive sync [#2337] [#2338]
    - Fix `menu.title.text.justify: right` not working [#2336]
    - Keep focus on omnipresent windows when switching workspaces [#2329]
    - Skip painting output when session is not active. @enometh @Madhu [#2249]
    - Ignore variable assignments > 1 KiB in environment files to guard against
      recursive constructs like FOO=$FOO:bar which would grow on each reconfigure.
      [#2325]
    - Improve support for non-compliant .desktop files by matching partial strings
      to handle for example app-id="gimp-2.10" with file "gimp.desktop". @spl237
      [#2266]
    - Correctly center menu opened with `<position {x,y}="center">` @tokyo4j [#2319]
    - Allow pointer speed of -1.0. @spl237 [#2321]
    - Fix off-by-one bug in `buf_add_char()` [#2313]
    - Fix menu separator-line padding regression introduced in `0.8.1`. @domo141
      [#2291]
    - Avoid permanent disabling of tearing due to rejected commits caused by the
      cursor plane not allowing async page flips which causes tearing page flips
      to be rejected if the cursor is moved. @RicArch97 [#2295]
    - Use `MenuHeader` font height in separators with labels. @domo141 [#2276]
    
    Changed
    
    - Set xwaylandPersistence default value to `yes` when compiled with wlroots
      <0.18.2. This prevents a bug which has the potential to crash the compositor
      when performing a drag-and-drop action at the same time as the XWayland server
      is shutting down. [#2371] [#2414] [#2420]
    - Set default window placement policy to `cascade` instead of `center` [#2345]
    
    ```xml
    <placement>
      <policy>cascade</policy>
    </placement>
    ```
    
    - Set default values of theme option `window.*.border.color` to `#aaaaaa`. This
      makes the colors of window borders and titlebar different, but will let
      `menu.border.color` inherit `window.active.border.color` just like Openbox
      does, without making the menu borders around a selected menu item invisible.
      [#2376]
    - Invert the y-offset of submenus applied by `menu.overlap.y` to (i) follow
      Openbox's behavior and (ii) behave as already described in our own
      documentation. [#2380]
  • upstream/0.8.2