Commit graph

199 commits

Author SHA1 Message Date
f3089148e0
db: allow explicitly skipping sensitive entries
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964ed1deaac0215ae9c6f4c70cfdc50164d
2025-08-14 17:24:20 +03:00
0c0547b6e8
chore: bump dependencies
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69647235c4fe03eb0c5e6ea1290110e29ccf
2025-08-14 17:24:19 +03:00
86001652cd
stash: allow confirming destructive operations with --ask
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69644c23734a8b088e20473d381390d532b4
2025-08-14 17:24:01 +03:00
f6bf5586ad
import: nesting is ew yuck
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964becfe6f31b0411110b75d4cdfe2b9c63
2025-08-14 10:53:40 +03:00
673bcb01be
docs: add installation instructions
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69646bf49248120e693a4793c22441dd74cb
2025-08-14 10:53:39 +03:00
47b85472fa
stash: use stash watch for the vendored systemd service
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69649280b8e52b3ee557d8f47091b54515f9
2025-08-13 18:49:28 +03:00
989ab7e4c3
chore: bump crate version
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69642b437257ad6c584694fcc084b0572a57
2025-08-13 18:47:27 +03:00
64c923480e
decode: fallback to relaying current clipboard to stdout on failure
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a696451def3e367afa9e8b0dd6ae626906e53
2025-08-13 18:46:02 +03:00
raf
06221892b7
ci: build with cargo 2025-08-13 14:24:54 +00:00
raf
351b98c921
Merge pull request #9 from NotAShelf/notashelf/push-klsuwwwrwuqn
stash: create database directory automatically if missing
2025-08-13 17:09:10 +03:00
1905f38885
chore: bump crate version
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964fe753338359cc56ed84615bee23b8d58
2025-08-13 17:07:24 +03:00
db6a962c75
stash: create database directory automatically if missing
Oops.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964866a1711971322c81ea194aa062466da
2025-08-13 17:07:06 +03:00
raf
fe5101809b
Merge pull request #6 from Rexcrazy804/improve-devshell
nix: improve devShell
2025-08-13 17:02:28 +03:00
Rexiel Scarlet
3cc394f6e5
direnv: watch nix/shell.nix for changes 2025-08-13 13:47:32 +04:00
Rexiel Scarlet
76970ee1cd
nix: added rustc into default devShell 2025-08-13 12:04:02 +04:00
57e8bc1474
nix: infer package version from Cargo.toml
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964297f08843615d04e10d405cdc4ef134f
2025-08-13 08:49:32 +03:00
raf
3262715cf0
Merge pull request #5 from NotAShelf/notashelf/push-zlynssnnvsqo
stash: add watch subcommand
2025-08-13 08:01:01 +03:00
291616e253
chore: bump crate version
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964832b0d19cf8919ed8503db5463dcdf54
2025-08-12 23:01:13 +03:00
9d0ad95e07
db: treat valid UTF-8 entries as text/plain
Makes JSON output more... servicable.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964f642a02e990979f93f53a8b69764b469
2025-08-12 23:01:12 +03:00
f9457911ae
chore: bump crate version
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a696454149d06a8bcd3df62e1d9549d921b5b
2025-08-12 22:57:21 +03:00
9d40dde63a
commands/watch: make it trait-based; move out of main
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964c16396f2013e7f8a5c1a6c0c3bb2aeaa
2025-08-12 22:57:20 +03:00
d9b0908ada
db: allow listing database contents as JSON
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964a756588168f476d984d18f9e8d65bc4e
2025-08-12 22:57:19 +03:00
1a9625ecc3
chore: bump crate version
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69645f6727a52e7caefe47fb1adde3de20af
2025-08-12 21:57:33 +03:00
fbebdf6ed6
meta: optimize release profile; enable LTO
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a696473887a4d9a526d93c6e1a93de5e3a85e
2025-08-12 21:54:01 +03:00
7d1aa21cdd
db: switch from image to imagesize
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964ab449f38999b5036d6e5554ccae7c049
2025-08-12 21:54:00 +03:00
5bcc23b6f9
stash: don't initialize watch daemon with None
Fixes the daemon always updating the latest entry.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a696489a2e9a0928ff799a4210c160014c485
2025-08-12 21:53:59 +03:00
6c5408abd1
stash: make watch loop async
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69641a4f39f0368de1bcf5780afbe8e5c0b1
2025-08-12 21:53:47 +03:00
d6e4f47bdd
docs: update README with project comparison; document watch feature
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a696451e174b6ba4f90cfb4c1547ebd2f694b
2025-08-12 19:21:14 +03:00
fcaf5fb14f
stash: print --help text if no subcommand is provided
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69646361b7ade52ee73a6aa11be859132a94
2025-08-12 19:21:13 +03:00
d9029ef8b7
docs: update README with the watch feature
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69640e1c77cc479b40f276ba77b736040504
2025-08-12 19:07:39 +03:00
4f725425fc
db: switch to sqlite as the primary backend
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69648f81d0d094e11a3e0f0a19d3b8eccd5d
2025-08-12 19:07:38 +03:00
efcbe17d73
stash: add watch subcommand
Watches primary clipboard for changes and stores them in the database.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964de9949bbe6d8b9301ca97ae785852b46
2025-08-12 19:07:26 +03:00
raf
9c26b6e8d0
Merge pull request #4 from NotAShelf/notashelf/push-pvkyrosxlwkp
treewide: general cleanup
2025-08-12 17:40:19 +03:00
aa602edbee
treewide: fix remaining clippy warnings
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964a4f18b72e3fa774cec6b81baa8267cb6
2025-08-12 17:34:43 +03:00
7ebe514e3a
stash: deduplicate error reporting
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964f0f3f13190dde392fc859718716b56a8
2025-08-12 17:34:42 +03:00
6e21021306
treewide: improve logging; custom error types with thiserror
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a696464e4123d15cfaedf4727776e55948369
2025-08-12 17:34:41 +03:00
7dd3db4c88
ci: publish tagged releases
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964901463c7111df0764272c26ff83eea9f
2025-08-12 17:34:40 +03:00
c23c5af8c1
stash: allow controlling verbosity from the command line
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69641d5d727b1d95f8c9e2b851b3a194315a
2025-08-12 17:34:39 +03:00
d8d27fab22
stash: remove redundant log messages
Ported from print-based logging, now redundant

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964c1ba52c792bd3c2a3e15a97a3b03260e
2025-08-12 17:34:38 +03:00
0e4f4018ab
stash: use more granular STASH_CLIPBOARD_STATE
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964d59d2ce974ba482aee9b1c8f20cdb44e
2025-08-12 17:34:37 +03:00
0c8003d636
stash: remove redundant import flag
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964348f1ad4915890f0b4ccd59619cc3e1a
2025-08-12 17:34:36 +03:00
bb2c66fd3e
meta: add other manifest keys
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69648070cedba859f4657d981dd4cbbd9310
2025-08-12 15:03:42 +03:00
254c288111
treewide: improve logging; get rid of unwrap()s
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a696442ff25c3f65bb2d5f68e0d78a569fd76
2025-08-12 15:03:41 +03:00
b0820a1940
modularize codebase
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69648ea836bfeb539450db14a666c623412e
2025-08-12 15:01:32 +03:00
478c020579
nix: clean up packaging
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69643e155d95fbed1d10900bbe4d7ff03b15
2025-08-12 15:01:31 +03:00
18fc1c768e
docs: document basic usage
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69648ccafab5241bf0abd911e6351aa9e884
2025-08-12 15:01:30 +03:00
5f9bee94f4
vendor systemd service
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964b2eba363a476a17bc9cee394e4a82b1d
2025-08-12 15:01:29 +03:00
e2c10f386f
first working prototype
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a6964dedc7f122b26b0e2e5040248b7866c93
2025-08-12 15:01:28 +03:00
5687d2d6cd
initial commit
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6a6a69646c6d8861791ac018543ebd16619a53d3
2025-08-12 15:01:13 +03:00