Render selected toplevels through a private portal-only capture protocol, preserve logical snapshot geometry, and renegotiate PipeWire video on window resizing. Bound outstanding snapshots and retry temporary contention; stop on source closure and session locking. Validation: portal unit tests (31), capture budget unit, private-bus portal contracts, and real nested/PipeWire isolation, workspace, resize, close and paused-lock tests pass. Independent review cleared. Monitor restore integration timed out on both this build and the unchanged previous compositor under the current nested host.
40 lines
1.2 KiB
TOML
40 lines
1.2 KiB
TOML
[package]
|
|
name = "xdg-desktop-portal-ferese"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version = "1.95"
|
|
|
|
[[bin]]
|
|
name = "xdg-desktop-portal-ferese"
|
|
path = "src/main.rs"
|
|
|
|
[[bin]]
|
|
name = "ferese-record"
|
|
path = "src/record_main.rs"
|
|
|
|
[dependencies]
|
|
ferese-protocols = { path = "../crates/ferese-protocols", default-features = false, features = ["client"] }
|
|
ferese-ipc = { path = "../crates/ferese-ipc" }
|
|
url = "2.5"
|
|
png = "0.18"
|
|
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp", "gif"] }
|
|
tempfile.workspace = true
|
|
ferese-theme = { path = "../crates/ferese-theme" }
|
|
gstreamer = "0.24"
|
|
futures-util = "0.3"
|
|
dirs = "6"
|
|
jiff.workspace = true
|
|
libcosmic.workspace = true
|
|
ferese-config = { path = "../crates/ferese-config" }
|
|
libc.workspace = true
|
|
memmap2 = "0.9"
|
|
pipewire = { version = "0.10.1", features = ["v0_3_65"] }
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "sync", "process", "io-util", "net"] }
|
|
wayland-client.workspace = true
|
|
wayland-protocols = { version = "0.32", features = ["client", "unstable"] }
|
|
wayland-protocols-wlr.workspace = true
|
|
zbus = { version = "5.19.0", default-features = false, features = ["tokio"] }
|