[package] name = "ltk" version = "0.2.0" edition = "2021" rust-version = "1.85" # MSRV-aware resolver: keep a fresh resolve on deps compatible with rust-version (Debian stable = 1.85). resolver = "3" license = "LGPL-2.1-only" description = "Lightweight declarative Wayland UI toolkit. Elm-shaped App / view / update model with GLES and software rendering backends, layer-shell support, runtime theming and a runtime-free core surface for embedding." repository = "https://github.com/liberux/ltk" documentation = "https://docs.rs/ltk" homepage = "https://liberux.net" readme = "README.md" keywords = [ "wayland", "ui", "gui", "toolkit", "layer-shell" ] categories = [ "gui", "rendering", "os::linux-apis" ] authors = [ "Liberux Labs, S. L. " ] exclude = [ "target/*", "debian/*", "themes/*", "liberux.toml", "TODO", ] [dependencies] chrono = { version = "0.4", features = ["clock"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" smithay-client-toolkit = { version = "0.20", features = ["calloop", "calloop-wayland-source", "xkbcommon"] } calloop = "0.14" calloop-wayland-source = "0.4" tiny-skia = "0.12" fontdue = "0.9" unicode-bidi = "0.3" rustybuzz = "0.14" image = { version = "=0.25.9", default-features = false, features = ["png", "jpeg", "webp"] } resvg = "0.44" rust-i18n = "3" wayland-protocols = { version = "0.32", features = ["client", "unstable", "staging"] } wayland-egl = "0.32" khronos-egl = { version = "6", features = ["dynamic"] } glow = "0.17" raw-window-handle = "0.6" # AT-SPI2 / accessibility is delegated to AccessKit so we get the same # Node / Role / TreeUpdate model the rest of the Rust GUI ecosystem # (egui, iced via the COSMIC fork, dioxus) is converging on. The # Linux platform adapter (`accesskit_unix`) handles every D-Bus # detail — registering against `org.a11y.Bus`, exposing the # `org.a11y.atspi.Accessible` interface hierarchy, translating # `Action`s back into our event loop, emitting state-changed signals # — so this crate only has to construct an `accesskit::TreeUpdate` # from `widget_rects` once per frame. accesskit = "0.17" accesskit_unix = "0.13" [dev-dependencies] criterion = { version = "0.5", features = ["html_reports"] } [[bench]] name = "lookup" harness = false