mirror of
https://github.com/NotAShelf/stash.git
synced 2026-04-12 14:07:42 +00:00
Schema v4: add expires_at REAL column with partial index for NULL values Other relevant methods that were added: - `now()` for Unix timestamp with sub-second precision - `cleanup_expired()` to remove all expired entries - `get_expired_entries()` for for diagnostic output (`stash list --expired`) - `get_next_expiration()` for heap initialization - `set_expiration()` to update expiration timestamp This feature has proven larger than I had anticipated (and hoped) but that's the reality of dealing with databases. Some of the methods are slightly redundant but it helps keep tracing the code manageable and semantically correct. We'll probably not regret those later. Probably. Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ie9e5b0767673e74389b8e59c466afd946a6a6964
57 lines
1.5 KiB
TOML
57 lines
1.5 KiB
TOML
[package]
|
|
name = "stash-clipboard"
|
|
description = "Wayland clipboard manager with fast persistent history and multi-media support"
|
|
version = "0.3.4"
|
|
edition = "2024"
|
|
authors = ["NotAShelf <raf@notashelf.dev>"]
|
|
license = "MPL-2.0"
|
|
readme = true
|
|
repository = "https://github.com/notashelf/stash"
|
|
rust-version = "1.90"
|
|
|
|
[[bin]]
|
|
name = "stash" # actual binary name for Nix, Cargo, etc.
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
base64 = "0.22.1"
|
|
clap = { version = "4.5.54", features = ["derive", "env"] }
|
|
clap-verbosity-flag = "3.0.4"
|
|
color-eyre = "0.6.5"
|
|
crossterm = "0.29.0"
|
|
ctrlc = "3.5.1"
|
|
dirs = "6.0.0"
|
|
env_logger = "0.11.8"
|
|
humantime = "2.3.0"
|
|
imagesize = "0.14.0"
|
|
inquire = { version = "0.9.2", default-features = false, features = [
|
|
"crossterm",
|
|
] }
|
|
libc = "0.2.180"
|
|
log = "0.4.29"
|
|
notify-rust = { version = "4.11.7", optional = true }
|
|
ratatui = "0.30.0"
|
|
regex = "1.12.2"
|
|
rusqlite = { version = "0.38.0", features = ["bundled"] }
|
|
serde = { version = "1.0.228", features = ["derive"] }
|
|
serde_json = "1.0.149"
|
|
smol = "2.0.2"
|
|
thiserror = "2.0.18"
|
|
unicode-segmentation = "1.12.0"
|
|
unicode-width = "0.2.2"
|
|
wayland-client = { version = "0.31.12", features = ["log"], optional = true }
|
|
wayland-protocols-wlr = { version = "0.3.10", default-features = false, optional = true }
|
|
wl-clipboard-rs = "0.9.3"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.18.0"
|
|
|
|
[features]
|
|
default = ["notifications", "use-toplevel"]
|
|
notifications = ["dep:notify-rust"]
|
|
use-toplevel = ["dep:wayland-client", "dep:wayland-protocols-wlr"]
|
|
|
|
[profile.release]
|
|
opt-level = "z"
|
|
strip = true
|
|
lto = true
|