Skip to content

Releases: bugaevc/wl-clipboard

wl-clipboard 2.2.1

27 Aug 19:01
Compare
Choose a tag to compare

This is a tiny bug fix release that contains fixes for the two regressions that turned up in 2.2.

wl-clipboard 2.2

23 Jul 17:51
Compare
Choose a tag to compare

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.

wl-clipboard 2.1

19 Mar 12:21
Compare
Choose a tag to compare

2.1 is a minor release with a few bugfixes and fish completions.

  • Fixed wl-copy hangs when followed by a pipe (e.g. echo "text to copy" | wl-copy | cat) by properly closing stdin/stdout file descriptors.
  • Fixed a crash that occasionally happened in do_set_selection().
  • Added fish completions. Similarly to zsh completions, a fishcompletiondir meson flag has been added to control them at build time.
  • Fixed a build warning related to pointer arithmetic.

wl-clipboard 2.0

03 Oct 12:26
Compare
Choose a tag to compare

2.0 is a big, long-awaited release! πŸŽ‰

The guts of wl-clipboard have been completely rewritten to fix multiple issues and enable new functionality, all while keeping the same user- and scripting-friendly interface, and the same do-what-I-mean type matching logic.

The new features since 1.0, the previous release, include:
β€’ Multiseat support; use the new --seat option to pass a seat name;
β€’ A new --trim-newline option for wl-copy to go with the existing --no-newline option of wl-paste;
β€’ Support for wlr-data-control and wp-primary-selection protocol extensions;
β€’ Support for BSD, Mac OS X, and GNU Hurd systems in addition to Linux;
β€’ Bash and Zsh shell completion;
β€’ Allow continuously watching the clipboard for changes, also known as wl-paste --watch.

There were also a lot of bug fixes and other internal improvements.

wl-clipboard 2.0 is designed to be completely Sway-native (while keeping the same level of support for other compositors). When running on Sway (or other wlroots-based compositors, or any compositor that implements the wlroots data-control protocol), wl-clipboard will use the proper interface to access the clipboard and will not attempt any focus stealing hacks it has to resort to otherwise.

wl-clipboard 1.0

13 Nov 14:25
Compare
Choose a tag to compare

This is the first stable release of wl-clipboard! πŸŽ‰ It features:

  • Primary clipboard support! Just pass the --primary flag and it will use the primary clipboard instead of the regular one. All the features are supported, so for example you can copy images into the primary clipboard (wl-copy -p < picture.png) and then paste them with middle-click.
  • xdg-shell support; this enables wl-clipboard to work on compositors that lack wl_shell support (such as Sway). wl-clipboard transparently chooses which protocol to use based on what it was built with and what the compositor supports, so you don't have to worry about this.
  • Vastly improved type inference in wl-paste. It's now very likely to just do the right thing by default. You can also now specify a type explicitly using the --type option for both wl-copy and wl-paste.
  • You can now list all the MIME types the selection is available in with wl-paste --list-types. I don't know of any other tool or app that lets you get this info (on Wayland).
  • A bunch of other flags and features (--paste-once, --foreground, --clear, --no-newline).
  • Lots of bug fixes.
  • A comprehensive man page! Type any of man wl-clipboard, man wl-copy, or man wl-paste to read it.
  • wl-clipboard is now packaged in the official Debian repos and in Arch (AUR)! πŸŽ‰