Commit graph

259 commits

Author SHA1 Message Date
ComplexSpaces
6946466b62 Release 3.2.1 2023-08-29 00:30:31 -05:00
ComplexSpaces
7b5ff1d836 Remove direct once_cell dependency
The class! macro performs the same static caching and is cheaper than once_cell::Lazy
2023-08-29 00:21:55 -05:00
ComplexSpaces
7af9a37458 Remove leaks from macOS clipboard getters
This additionally refactors `image()` to be simpler by taking advantage
of the fact that we only want one image. Additionally, this codepath avoids
the system-level caching of image data that can help reduce peak usage.
We have applied an autorelease pool to the Obj-C code as well, as there
appear to be a lot of autoreleased values used by AppKit.framework

Finally, it applies a similar refactoring to `text()` for simplicity and
removal of memory leaks due to incorrect object retaining assumptions.

Co-authored-by: taojiacheng <swkzymlyy@gmail.com>
2023-08-28 09:10:27 -05:00
ComplexSpaces
f409d085ee Add helper script for diagnosing any future leak issues 2023-07-26 18:48:31 -05:00
ComplexSpaces
1e9c093667 Remove macOS memory leaks by properly passing objects via msg_send
Previously, a number of functions passed some runtime-owned object by
value, in Rust terms. However, the system pasteboard APIs were only
expecting a reference (pointer) to the object instead (like many
Objective-C APIs do). As a result, the object was moved into the FFI
which was, as expected, not attempting to free the object when it was
done.
2023-07-26 18:48:31 -05:00
jonZlotnik
3399a2582f
fix doc example so it passes tests on ubuntu (#102) 2023-04-29 18:11:51 -06:00
Jon Zlotnik
efedfb9e20 add timeout to RustConnection::connect to X11 server 2023-04-23 00:23:41 -06:00
kaoru
f24df29337 Remove the whitespaces in the HTML template
To avoid suprising result in some rich text editor (i.e. Google
Document.) The functionality and behavior of the code should remain the
same.
2023-02-21 21:37:21 -07:00
ComplexSpaces
e1f521f47d Release 3.2.0 2022-11-04 12:11:45 -06:00
ComplexSpaces
446d9a76ea Fix Clippy lints from Rust 1.65 2022-11-04 11:13:31 -06:00
ComplexSpaces
189d67500c Improve clipboard documentation and guarentees
This adds unit tests to back up the crate's documentation to
prevent silent regressions in the future.
2022-11-04 10:44:15 -06:00
ComplexSpaces
dab11f1ed4 Redo Windows clipboard to match behavior of other implementations 2022-11-04 10:44:15 -06:00
ComplexSpaces
48520c6e9c Remove lingering uses of the dbg! macro 2022-10-29 11:36:51 -06:00
ComplexSpaces
c6102b1b85 Release 3.1.1 2022-10-17 21:33:22 -06:00
ComplexSpaces
1c4678bcf7 Pin nightly version to avoid Miri failures 2022-10-17 21:33:22 -06:00
Rodolphe Bréard
9243631c20
Implement the .set_html() method (#69)
Implement the `.set_html()` method
2022-10-16 18:08:01 -05:00
William
4be20450e9 Update clipboard-win on Windows 2022-10-07 20:00:28 -05:00
ComplexSpaces
39bcd79666 Mention Windows changes in the 3.0 release changelog 2022-10-03 15:36:00 -05:00
Marijn Suijten
fa6664f1bc Bump wl-clipboard-rs to 0.7
The latest release ditches a bunch of duplicate/heavy dependencies (as
evident from the removals in `Cargo.lock`) and gets rid of spammy info
logs similar to #80.
2022-09-26 21:29:01 -05:00
ComplexSpaces
9a75a626f1 Release 3.1.0 2022-09-20 21:16:14 -05:00
Emil Ernerfeldt
a33cea4d76
Update image crate to 0.24 (#75)
* Update image crate to 0.24

* image::png::PngEncoder -> image::codecs::png::PngEncoder

* Switch from deprecated function

* Simplify `encode_as_png` function
2022-09-20 19:59:12 -05:00
Marijn Suijten
8e08a0b5d2 Demote Linux + Wayland "Successfully initialized" log from info to trace
Info is a tad too verbose for this success-message; so are the various
debug messages emitted by `wl-clipboard-rs` that'll have to be addressed
separately.
2022-09-20 19:58:24 -05:00
ComplexSpaces
b60d44eabb Release 3.0.0 2022-09-19 17:13:46 -05:00
Blair Noctis
ee80bc37d3 Update x11rb to 0.10 2022-09-19 17:01:07 -05:00
ComplexSpaces
12664f2447 Redo API for clipboard clearing 2022-09-19 16:51:54 -05:00
ComplexSpaces
2256b4e9af Fix unneeded return in Linux wayland implementation 2022-09-16 12:58:57 -05:00
Kian-Meng Ang
2042cef3f2 Add missing markdown fixes
Found via this command:

    markdownlint *.md --disable MD024
2022-09-16 12:37:12 -05:00
K.J. Valencik
fd3075803b
Merge pull request #73 from kianmeng/fix-typos-and-markdowns
Fix typos and markdowns
2022-08-08 09:43:38 -04:00
Kian-Meng Ang
51102d1be3 Fix typos and markdowns
Found via these commands:

    codespell -L crate,complies
    markdownlint *.md --disable MD024

See a detailed description of the rules is available at
https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md
2022-08-06 21:38:26 +08:00
Liam Kearney
2442c1de54 Update README.md 2022-07-25 08:30:16 -05:00
ComplexSpaces
7fd3f07c05 Accept optionally borrowed data instead of String for setting text 2022-07-25 08:18:35 -05:00
Jeron Aldaron Lau
b3e11c6fe4
Fix spelling of 'panicked' (#65)
* Fix spelling of 'panicked'
2022-07-20 14:50:44 -05:00
Jeron Aldaron Lau
2243d0dca3 Update wl-clipboard-rs crate to 0.6 2022-07-20 11:04:00 -05:00
Jeron Aldaron Lau
a1e056ec90 Fix typo in README.md 2022-07-20 11:03:15 -05:00
ComplexSpaces
50d1c3a65f Only open Windows clipboard once per construction 2022-07-08 13:01:26 -05:00
ComplexSpaces
93c57b8569 Add support for excluding clipboard data from Windows' utilites 2022-07-08 13:01:26 -05:00
ComplexSpaces
497ee01e44 Fix macOS clippy lint 2022-07-01 08:31:35 -05:00
ComplexSpaces
d6f244d899 Add support for clearing the clipboard 2022-07-01 08:31:35 -05:00
ComplexSpaces
1e0b1c4410 Refactor and cleanup macOS implementation 2022-06-30 09:47:07 -05:00
ComplexSpaces
50c442956d Mark Error enum non_exhaustive
It is not anticipated that the Linux clipboard variants will change.
2022-06-21 18:06:09 -04:00
ComplexSpaces
7701b133f8 Seal Linux extension traits 2022-06-21 18:06:09 -04:00
Sabrina Jewson
9c87c70a6b
Organize platform-specific code in platform/ (#55)
* Organize platform-specific code in `platform/`

* Rename `clipboard_of` to `selection_of`
2022-06-11 15:15:50 -05:00
ComplexSpaces
39a2e08890 Fix warnings and deny future ones in CI 2022-06-09 00:08:08 -05:00
Sabrina Jewson
5f0fb88c55
Support waiting on the clipboard to be overwritten on Linux (#43)
* Support waiting on the clipboard to be overwritten on Linux

* Add daemonize example

* Improve docs of ClipboardExtLinux

* Allow daemonize to compile on all platforms

* Use a constant in daemonize example

* Improve wording in docs of clipboard waiting

* Add a builder-like API to reduce combinatorial explosion

* Remove ClipboardExtLinux

This also adds support for setting and getting image data on the primary
and secondary clipboards.
2022-06-08 22:52:03 -05:00
ComplexSpaces
f5d8dbebe5 Fix typos and date in changelog 2022-05-18 18:26:42 -05:00
ComplexSpaces
25957c2654 Release 2.1.1 2022-05-18 18:08:11 -05:00
Michael Neumann
d82e32d09d Fix build on FreeBSD 2022-05-17 18:05:34 -05:00
Matt
a36ba4f87e
Make never-mutated param non-mut (#44)
* Make never-mutated param non-mut

* Fix some typos
2022-04-18 09:24:42 -05:00
SabrinaJewson
b4d3c63ba6 Remove once_cell dependency by using const_mutex 2022-04-08 09:11:49 -05:00
K.J. Valencik
dc954a9302 doc: Fix the repository link on crates.io 2022-03-18 01:25:42 -05:00