Files
2026-05-31 08:05:45 +02:00

70 lines
1.9 KiB
TOML

[package]
name = "wayscriber"
version = "0.9.19"
edition = "2024"
rust-version = "1.95"
description = "Screen annotation tool for Wayland compositors"
homepage = "https://wayscriber.com"
repository = "https://github.com/devmobasa/wayscriber"
default-run = "wayscriber"
[workspace]
members = ["configurator"]
default-members = ["."]
[workspace.lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tablet)'] }
[lints]
workspace = true
[dependencies]
# Wayland
wayland-client = "0.31"
wayland-protocols = { version = "0.32", features = ["client", "unstable"] }
wayland-protocols-wlr = { version = "0.3", features = ["client"] }
smithay-client-toolkit = { version = "0.20", default-features = false, features = ["calloop", "xkbcommon"] }
# Cairo for drawing
cairo-rs = { version = "0.22", features = ["png", "pdf"] }
# Pango for advanced text rendering and font support
pango = "0.22"
pangocairo = "0.22"
# Utils
log = { version = "0.4", features = ["std"] }
anyhow = "1.0"
toml = "1.1"
serde = { version = "1.0", features = ["derive"] }
schemars = { version = "1.2", features = ["derive"], optional = true }
libc = "0.2"
flate2 = "1.0"
zune-jpeg = "0.5"
# Daemon mode
ksni = { version = "0.3", optional = true }
tokio = { version = "1.0", features = ["rt-multi-thread", "macros", "time", "sync"] }
# Screenshot capture
zbus = { version = "5.0", optional = true, default-features = false, features = ["tokio"] }
serde_json = "1.0"
png = "0.18"
[build-dependencies]
[features]
# Optional Wayland tablet/stylus input support (zwp_tablet_v2)
tablet-input = []
# D-Bus dependent functionality (portal capture, notifications, tray)
dbus = ["zbus"]
portal = ["dbus"]
tray = ["dbus", "ksni"]
config-schema = ["dep:schemars"]
default = ["tablet-input", "portal", "tray"]
[[bin]]
name = "dump_config_schema"
path = "src/bin/dump_config_schema.rs"
required-features = ["config-schema"]