Skip to content

0.8.1

Choose a tag to compare

@johanmalm johanmalm released this 25 Oct 18:56
· 833 commits to master since this release

The most noteworthy additions in this release are:

  1. Titlebar window icons and layout configuration
  2. Support for the cosmic-workspace protocol and the openbox inspired
    client-list-combined-menu for a better user experience with workspaces.

Notes to package maintainers:

  • The SSD titlebar window icon support requires libsfdo to be added as a
    (build and run-time) dependency or statically linked. If this is not wanted,
    add -Dicon=disabled to the meson setup command in the build script for the
    next release.
  • PRs [#1716] and [#2205] add labwc xdg-portal configuration, modify
    labwc.desktop and amend XDG_CURRENT_DESKTOP which should enable better
    out-of-the-box support for xdg-desktop-portal, but if you already ship a
    custom setup for this or have different requirements, please review this
    change.

Added

  • Support dmabuf feedback [#2234] [#1278]
  • Add initial implementation of cosmic-workspace-unstable-v1 [#2030]
  • Optionally support SSD titlebar window icons. When an icon file is not found
    or could not be loaded, the window menu icon is shown as before. The icon
    theme can be selected with <theme><icon> [#2128]
  • Add actions ToggleSnapToEdge and ToggleSnapToRegion. These behave like
    SnapToEdge and SnapToRegion, except that they untile the window when
    already being tiled to the given region or direction.
    Written-by: @jp7677 and @tokyo4j [#2154]
  • Add action UnSnap. This behaves like ToggleSnapToEdge/Region but
    unconditionally. Written-by: @jp7677 and @tokyo4j [#2154]
  • Handle xdg-shell show_window_menu requests [#2167]
  • Support the openbox style menus listed below. Written-by: @droc12345
    1. client-list-combined-menu shows windows across all workspaces. This can
      be used with a mouse/key bind using:
      <action name="ShowMenu" menu="client-list-combined-menu"/> [#2101]
    2. client-send-to shows all workspaces that the current window can be sent
      to. This can additional be used within a client menu using:
      <menu id="client-send-to-menu" label="Send to Workspace..." /> [#2152]
  • Add theme option for titlebar padding and button spacing [#2189]
window.button.height: 26
window.titlebar.padding.width: 0
window.titlebar.padding.height: 0
window.button.spacing: 0
  • Set titlebar height based on the maximum height of any of the objects within
    it, rather than just taking the font height into account [#2152]
  • Add theme option for setting button hover effect corner radius [#2127] [#2231]
window.button.hover.bg.corner-radius: 0
<action name="ShowMenu">
  <menu>root-menu</menu>
  <position>
    <x>0</x>
    <y>0</y>
  </position>
</action>
  • Allow interactive window movement when horizontally or vertically maximized
    and add associated config option <resistance><unMaximizeThreshold> [#2052]
  • Add optional Shade (shade.xbm) and AllDesktops (desk.xbm) buttons and theme
    options:
window.active.button.desk.unpressed.image.color
window.inactive.button.desk.unpressed.image.color
window.active.button.shade.unpressed.image.color
window.inactive.button.shade.unpressed.image.color
  • Make action FocusOutput behave like MoveToOutput by adding direction and
    wrap arguments. Written-by: @orfeasxyz [#2100]
  • Add config option for titlebar layout. Written-by: @xi [#2088] [#2150]
<titlebar>
  <layout>icon:iconify,max,close</layout>
  <showTitle>yes|no</showTitle>
</titlebar>
  • Add Oblique option to <theme><font><style>. Written-by: @droc12345 [#2097]
  • Support menu titles defined by <separator label="">.
  • Add the theme option menu.title.bg.color: #589bda
  • Add theme options menu.title.text.color and menu.title.text.justify.
    Written-by: @droc12345 [#2097]
  • Add font place MenuHeader: <font place="MenuHeader">.
    Written-by: @droc12345 [#2097]
  • Add actions EnableTabletMouseEmulation and DisableTabletMouseEmulation.
    Written-by: @jp7677 [#2091]
  • Set 'labwc' as app_id and title for nested outputs [#2055]

Fixed

  • Fix rare NULL-dereference when using cursor constraints [#2250]
  • Fix issue where tablet/touchscreen button events sometimes do not take effect
    on applications immediately [#2244]
  • Fix button release events sometimes not being sent [#2226]
  • Fix xdg-shell popups appearing on wrong output with some Qt themes. [#2224]
  • Take into account xdg-shell minimum window size for resizing. This is
    relevant when using <resize drawContents="no"> [#2221]
  • Fix rounded hover effect on titlebar buttons when the window is tiled or
    maximized [#2207]
  • Fix button scaling issue [#2225]
  • Add portals.conf file, amend labwc.desktop and modify XDG_CURRENT_DESKTOP
    for better out-of-the-box xdg-desktop-portal support. This helps with for
    example screensharing. Written-by: @rcalixte @jp7677 [#1503] [#1716]
  • Disable the Inhibit D-BUS interface in xdg-portals configuration to fix an
    issue with some clients (like Firefox) ignoring the idle-inhibit protocol.
    Written-by: @jp7677 [#2205]
  • Prevent Drag mousebinds from running without button press [#2196]
  • Handle slow un-maximize with empty natural geometry better [#2191]
  • Fix de-synced SSD when shrinking Thunderbird xdg-shell window [#2190]
  • Fix xdg-shell out-of-sync configure state when clients time out
    Written-by: @cillian64 [#2174]
  • Fix small flicker when client initially submits a window size smaller than the
    minimum value [#2166]
  • Allow server-side decoration to be smaller than minimal size by hiding
    buttons [#2116]
  • Fix incorrect cursor shape on titlebar corner without buttons [#2105]
  • Fix delayed pipe menu response on item destroy [#2094]
  • Destroy xdg-shell foreign toplevel handle on unmap [#2075]
  • Sync XWayland foreign-toplevel and associated outputs on re-map [#2075]

Changed

  • Theme options padding.height and titlebar.height have been removed to
    minimize breaking changes with the visual appearance of the titlebar when
    using openbox themes. As a result, and depending on your configuration,
    the titlebar height may change by a small number of pixels [#2189]
  • Move input config <scrollFactor> to <libinput> section to allow
    per-device configuration of scroll factor (e.g. setting different scroll
    factors for mice and touchpads). [#2057]

Short Log

01micko (2):
      docs: add description for new theme buttons 'shade' and 'desk'
      labwc.pot: update translation template for 71b2b5a

Andrew J. Hesford (4):
      ssd: add optional shade button
      ssd: add optional omnipresent button
      action: rename "omnipresent" button options for Openbox compatibility
      Revert "src/interactive.c: don't unshade when view is un-tiled by dragging"

Consolatis (8):
      workspaces: slight struct reordering
      common/array.h: add array_add() helper
      cosmic-workspaces: protocol implementation
      cosmic-workspaces: labwc integration
      output: set 'labwc' as app_id and title for nested outputs
      src/menu: prevent delayed pipe menu response on item destroy (#2094)
      common/buf.c: use 0 directly in vsnprintf()
      src/icon-loader.c: skip non application entries for wmclass lookup

David Turner (1):
      Don't detect edge-resizes in configure timeout

Droc (6):
      Add position arguments for menus
      menu: support client-list-combined-menu
      client list combined menu fix
      client list combined menu examples
      client send to menu
      client list combines fix empty title

Hiroaki Yamamoto (5):
      xdg: take into account minimum window size for resizing (#2221)
      cursor: send a frame event after emulated button events (#2244)
      menu: fix the calculation for centered titles (#2251)
      menu: fix memory leak in update_client_send_to_menu() (#2252)
      src/action.c: fix client-send-to-menu not properly updated (#2246)

Jens Peters (13):
      action: add Enable/DisableTabletMouseEmulation
      theme: add button padding and spacing (#2127)
      theme: ensure positive values (#2127)
      theme: add circle button hover effect (#2127)
      theme: compensate the hover corner radius with padding
      action: open the client menu underneath the window menu button
      view: expose view_apply_natural_geometry()
      action: add ToggleSnapToEdge/Region actions
      action: add UnSnap action
      action: implicitely unmaximize when unsnapping
      data: disable Inhibit D-BUS interface in xdg-portals configuration (#2205)
      server: add dmabuf feedback
      input: add comments about tablet mouse emulation

Johan Malm (34):
      xwayland: remove dissociate work-around
      Add unit test for common/buf.c
      menu: support titles
      menu: use theme->menu_item_height instead of menu->item_height
      scaled-font-buffer.c: initialize `buffer` to avoid bug waiting to happen
      buf: add buf_add_fmt()
      Merge pull request #2088 from xi/titlelayout
      NEWS.md: interim update
      theme: finish titleLayout implementation (#2150)
      ci: use -Wno-expansion-to-defined to avoid Arch CI error
      theme: fix incorrect default for <titlebar><showTitle>
      ci: disable debian build checks until dependencies can be met
      ci: add libsfdo-devel for Void
      icon-loader: refactor in preparation for supporting absolute icon names
      icon-loader: support absolute icon names
      Merge pull request #2030 from Consolatis/wip/cosmic_workspaces
      cosmic-workspaces: fix menu.c
      Merge pull request #2225 from jlindgren90/icon-scaling
      xdg-shell: fix popup on wrong output
      theme: add window.button.height
      theme: remove titlebar.height option
      theme: derive titlebar height from its objects
      theme: change padding.height default to 0
      theme: add window.titlebar.padding.{width,height}
      ssd: minor logic simplification
      Merge pull request #2189 from johanmalm/window-button-height
      theme: tidy up documentation
      NEWS.md: interim update
      icon-loader: use relaxed load options (#2248)
      cursor: guard against NULL dereference (#2250)
      menu: fix UAF in client-list-combined-menu after window destruction
      build: require libsfdo >=0.1.3
      NEWS.md: update for 0.8.1
      build: bump version to 0.8.1

John Lindgren (14):
      ssd: also add spacing between innermost button and title
      icon-loader: match more application icons via fuzzy match
      icon-loader: add a new loader for XPM icons, used by many legacy X11 apps
      xdg: try to handle slow un-maximize with empty natural geometry better
      ssd: limit icon size to ~85% of window_button_width
      icon-loader: add a log handler for sfdo messages
      icon-loader: also match desktop entries StartupWMClass
      icon-loader: fix a few more missing icons
      buffer: reduce unnecessary painting to new cairo surfaces
      icon-loader: load SVG icons at max scale of any usable output
      ssd: respect logical size when displaying window icon
      common/box: add box_fit_within()
      buffer: add buffer_convert_cairo_surface_for_icon()
      icon-loader: update PNG and XPM loaders to use new buffer helper

Orfeas (1):
      action: make "FocusOutput" behave like "MoveToOutput"

Rick Calixte (1):
      Add labwc to XDG_CURRENT_DESKTOP to support a portals.conf (#1716)

Standreas (1):
      Fix typo in rc.xml.all

Tobias Bengfort (4):
      ssd: do not draw background for individual buttons
      ssd: add titleLayout setting
      ssd: apply title layout
      refactor ssd_titlebar_create

Tomi Ollila (1):
      docs: replace two 'we's with passive forms

Weblate (11):
      Translation updates from weblate
      Translation updates from weblate
      Translation updates from weblate
      Translation updates from weblate
      Translation updates from weblate
      Translation updates from weblate
      Translation updates from weblate
      Translation updates from weblate
      Translation updates from weblate
      Translation updates from weblate
      Translation updates from weblate

droc12345 (1):
      menu: add title theme options (#2097)

micko (1):
      README.md: update config files to six

tokyo4j (29):
      xwayland: sync foreign-toplevel and associated outputs on re-map
      xdg: destroy foreign toplevel handle on unmap
      input: move <scrollFactor> to <libinput> section
      ssd: fix incorrect cursor shape on titlebar corner without buttons
      src/interactive.c: don't unshade when view is un-tiled by dragging
      interactive: allow moving horizontally/vertically maximized window
      ssd: allow ssd to be smaller than minimal size by hiding buttons
      theme: round the hover effect along the window border
      docs/rc.xml.all: add missing atCursor="no"
      docs: fix documentation of "atCursor" for dynamic titlebar layout
      Refactor the logic of placing client-menu with ShowMenu action
      xdg: don't always adjust the window size before configure
      xdg: handle show_window_menu requests
      ssd: support window icons
      ssd: fix crash on app_id updates while the app is in fullscreen
      xdg: fix de-synced SSD when shrinking Thunderbird window
      doc: update default value of <theme><titlebar><layout>
      cursor: prevent Drag mousebinds from running without button press
      theme: refactor rendering of rounded hover effect
      theme: draw hover overlay in the correct scale
      build: allow disabling icon when libsfdo is installed system-wide
      xdg: fix crash on actions from menu opened by show_window_menu requests
      theme: refine the management of corner buttons
      theme: fix loading *-inactive.svg icons
      theme: round the corner button correctly
      theme: replace *.hover.bg.shape with *.hover.bg.corner-radius
      key-state.c: generalize set operations
      cursor: fix button release events sometimes not being sent
      src/theme.c: fix misuse of wl_list_for_each