Skip to content

wl-clipboard 2.2

Compare
Choose a tag to compare
@bugaevc bugaevc released this 23 Jul 17:51
· 6 commits to master since this release

2.2 is a minor release; but it still got some cool new things in it!

  • The errors wl-clipboard emits are now less terse and more friendly to a casual user.

  • Many bug and issue fixes.

  • A revised and improved man page.

  • wl-clipboard now attempts even more hacks to grab focus on certain compositors.

  • wl-paste --watch mode gained basic support for the "clipboard state" mini-protocol, where is sets the CLIPBOARD_STATE environment variable for the spawned command to describe the clipboard state. This finally completes the missing bit of wl-paste --watch functionality that we always wanted: exposing the empty clipboard state to the spawned command too.

    The clipboard state protocol is intentionally designed in a way that it could be extended with more useful information in the future (should the Wayland clipboard protocols provide this information to wl-clipboard). It is also intentionally not tied to either wl-clipboard or Wayland; other clipboard tools could implement it, and are encouraged to do so! The SerenityOS paste utility (which is a little clone of wl-paste for SerenityOS) already implements the same protocol (in fact, it implemented it long before wl-clipboard did). So if you work on a clipboard tool such as pbpaste, xclip, or xsel, please consider adopting the clipboard state protocol.

  • Temporary files that wl-copy creates are now unlinked much sooner. We're looking forward to potentially switching over to using file(1) for content type detection, which will hopefully allow us to completely get rid of the temporary files.

  • wl-clipboard will now detect when it is launched with closed stdio file descriptors, complain about it, and abort. This is not a supported way of running wl-clipboard (nor other Unix software, other than on a setuid boundary), and this does lead to seemingly impossible bugs. So far, users have reported hitting this case when trying to run wl-clipboard (or other software) from a shortcut under KDE Plasma.

  • wl-clipboard can now be built with all Wayland-related dependencies coming from Meson wrap subprojects. This is primarily intended to help people building wl-clipboard from source who don't or can't install their distribution-provided versions of those dependencies. Using system-provided dependencies is of course still the preferred method to build wl-clipboard.

    In particular, wl-clipboard will now try harder to prevent you from accidentally building it without support for additional Wayland protocols, which became de facto required once many Wayland compositors have dropped support for wl_shell. Accidentally building wl-clipboard without additional protocols and getting a pair of completely non-functional binaries was a source of frustration for many users. It is still possible to build wl-clipboard without additional protocols (using neither the system version, nor the wrap subproject one) by passing -D protocols=disabled when configuring wl-clipboard, if you know what you're doing.

Compatibility notes:

  • Unfortunately, we had to bump the Meson build system requirement to version 0.47 or later (up from 0.44).
  • The Wayland clipboard implementation in Weston and KWin (KDE Plasma) compositors is currently broken (to various degrees, more so in KWin than in Weston). This may affect wl-clipboard most, but it's not a bug in wl-clipboard, and certainly not new in wl-clipboard 2.2.

Finally, I'd like to extend a big thank you to @YaLTeR, who took care of wl-clipboard while I could not, and even got the previous release out.