[package]
edition = "2024"
rust-version = "1.87"
name = "ashpd"
version = "0.13.10"
authors = ["Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "XDG portals wrapper in Rust using zbus"
readme = "README.md"
keywords = [
"portal",
"flatpak",
"xdg",
"desktop",
"dbus",
]
categories = [
"gui",
"os::linux-apis",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/bilelmoussaoui/ashpd"
[package.metadata.docs.rs]
features = [
"backend",
"gtk4",
"raw_handle",
"account",
"background",
"camera",
"clipboard",
"dynamic_launcher",
"email",
"file_chooser",
"game_mode",
"global_shortcuts",
"inhibit",
"input_capture",
"location",
"memory_monitor",
"network_monitor",
"notification",
"open_uri",
"power_profile_monitor",
"print",
"proxy_resolver",
"realtime",
"remote_desktop",
"screencast",
"screenshot",
"secret",
"settings",
"trash",
"usb",
"wallpaper",
"flatpak",
"documents",
]
rustdoc-args = ["--generate-link-to-definition"]
[features]
account = []
async-io = [
"zbus/async-io",
"futures-util/io",
]
backend = ["dep:async-trait"]
background = []
camera = []
clipboard = []
default = ["tokio"]
documents = ["dep:serde_repr"]
dynamic_launcher = ["dep:serde_repr"]
email = []
file_chooser = ["dep:serde_repr"]
flatpak = ["dep:serde_repr"]
frontend = [
"account",
"background",
"camera",
"clipboard",
"dynamic_launcher",
"email",
"file_chooser",
"game_mode",
"global_shortcuts",
"inhibit",
"input_capture",
"location",
"memory_monitor",
"network_monitor",
"notification",
"open_uri",
"power_profile_monitor",
"print",
"proxy_resolver",
"realtime",
"remote_desktop",
"screencast",
"screenshot",
"secret",
"settings",
"trash",
"usb",
"wallpaper",
"flatpak",
"documents",
]
game_mode = ["dep:serde_repr"]
glib = ["dep:glib"]
global_shortcuts = []
gtk4 = [
"gtk4_x11",
"gtk4_wayland",
]
gtk4_wayland = [
"gdk4wayland",
"glib",
"dep:gtk4",
"dep:futures-channel",
]
gtk4_x11 = [
"gdk4x11",
"glib",
"dep:gtk4",
"dep:futures-channel",
]
inhibit = ["dep:serde_repr"]
input_capture = ["dep:serde_repr"]
location = ["dep:serde_repr"]
memory_monitor = []
network_monitor = ["dep:serde_repr"]
notification = []
open_uri = []
pipewire = [
"dep:pipewire",
"dep:futures-channel",
]
power_profile_monitor = []
print = []
proxy_resolver = []
raw_handle = ["raw-window-handle"]
realtime = []
remote_desktop = ["dep:serde_repr"]
screencast = ["dep:serde_repr"]
screenshot = []
secret = []
settings = []
tokio = [
"zbus/tokio",
"dep:tokio",
]
trash = ["dep:serde_repr"]
usb = []
wallpaper = []
wayland = [
"wayland-client",
"wayland-protocols",
"wayland-backend",
"dep:futures-channel",
]
[lib]
name = "ashpd"
path = "src/lib.rs"
[[example]]
name = "input_capture"
path = "examples/input_capture.rs"
required-features = ["input_capture"]
[[example]]
name = "screen_cast_gstreamer"
path = "examples/screen_cast_gstreamer.rs"
required-features = ["screencast"]
[[example]]
name = "screen_cast_pw"
path = "examples/screen_cast_pw.rs"
required-features = [
"screencast",
"pipewire",
]
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.enumflags2]
version = "0.7"
[dependencies.futures-channel]
version = "0.3"
optional = true
[dependencies.futures-util]
version = "0.3"
[dependencies.gdk4wayland]
version = "0.11"
optional = true
package = "gdk4-wayland"
[dependencies.gdk4x11]
version = "0.11"
features = ["xlib"]
optional = true
package = "gdk4-x11"
[dependencies.getrandom]
version = "0.4"
[dependencies.glib]
version = "0.22"
optional = true
[dependencies.gtk4]
version = "0.11"
optional = true
[dependencies.pipewire]
version = "0.9"
optional = true
[dependencies.raw-window-handle]
version = "0.6"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_repr]
version = "0.1"
optional = true
[dependencies.tokio]
version = "1.43"
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.wayland-backend]
version = "0.3"
features = ["client_system"]
optional = true
[dependencies.wayland-client]
version = "0.31"
optional = true
[dependencies.wayland-protocols]
version = "0.32"
features = [
"unstable",
"client",
"staging",
]
optional = true
[dependencies.zbus]
version = "5.13"
default-features = false
[dev-dependencies.gst]
version = "0.25"
package = "gstreamer"
[dev-dependencies.pipewire]
version = "0.9.0"
[dev-dependencies.quick-xml]
version = "0.39"
[dev-dependencies.reis]
version = "0.6"
features = ["tokio"]
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.tokio]
version = "1.41"
features = [
"rt-multi-thread",
"macros",
]