[package]
edition = "2024"
rust-version = "1.85"
name = "a7n-platform"
version = "0.19.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Native desktop backends for the Apeirogon software KVM"
homepage = "https://github.com/PuppetMaster2k/apeirogon"
readme = "README.md"
keywords = [
"kvm",
"desktop",
"input-sharing",
"clipboard",
]
categories = [
"network-programming",
"gui",
]
license = "GPL-3.0-or-later"
repository = "https://github.com/PuppetMaster2k/apeirogon"
resolver = "2"
[features]
tray = ["dep:tray-icon"]
[lib]
name = "a7n_platform"
path = "src/lib.rs"
[[test]]
name = "x11_clipboard_xvfb"
path = "tests/x11_clipboard_xvfb.rs"
[[test]]
name = "x11_xvfb"
path = "tests/x11_xvfb.rs"
[dependencies.a7n-core]
version = "0.19.0"
[dependencies.a7n-proto]
version = "0.19.0"
[dependencies.directories]
version = "6"
[dependencies.interprocess]
version = "2.4"
features = ["tokio"]
[dependencies.netdev]
version = "=0.47.0"
default-features = false
[dependencies.notify-rust]
version = "=4.17.0"
features = ["z-with-tokio"]
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"time",
"sync",
"io-util",
]
[dev-dependencies.png]
version = "=0.18.0"
[dev-dependencies.tempfile]
version = "3"
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies.ashpd]
version = "0.13"
features = [
"tokio",
"clipboard",
"input_capture",
"remote_desktop",
"screencast",
]
default-features = false
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies.futures-util]
version = "0.3"
default-features = false
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies.reis]
version = "0.7"
features = ["tokio"]
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies.wayland-client]
version = "0.31"
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies.wayland-protocols]
version = "0.32"
features = [
"client",
"staging",
]
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies.wayland-protocols-wlr]
version = "0.3"
features = ["client"]
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies.x11rb]
version = "0.14"
features = [
"xinput",
"xtest",
"xfixes",
]
default-features = false
[target.'cfg(any(target_os = "windows", target_os = "macos"))'.dependencies.tray-icon]
version = "=0.19.2"
optional = true
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.objc2]
version = "0.6.4"
[target.'cfg(target_os = "macos")'.dependencies.objc2-app-kit]
version = "0.3.2"
features = [
"std",
"NSEvent",
"NSGraphicsContext",
"NSBitmapImageRep",
"NSImageRep",
"NSImage",
"NSPasteboard",
"NSPasteboardItem",
"NSRunningApplication",
"NSWorkspace",
"objc2-core-graphics",
]
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.objc2-core-foundation]
version = "0.3.2"
features = [
"std",
"CFDate",
"CFDictionary",
"CFMachPort",
"CFNumber",
"CFRunLoop",
"CFString",
]
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.objc2-core-graphics]
version = "0.3.2"
features = [
"std",
"CGEvent",
"CGEventSource",
"CGEventTypes",
"CGRemoteOperation",
"CGDirectDisplay",
"CGDisplayConfiguration",
"CGGeometry",
"CGError",
"libc",
]
default-features = false
[target.'cfg(target_os = "macos")'.dependencies.objc2-foundation]
version = "0.3.2"
features = [
"std",
"NSArray",
"NSData",
"NSObject",
"NSString",
"NSURL",
"NSValue",
"NSDictionary",
]
default-features = false
[target."cfg(unix)".dependencies.rustix]
version = "1"
features = [
"fs",
"pipe",
"process",
"event",
"system",
"time",
]
[target."cfg(windows)".dependencies.png]
version = "=0.18.0"
[target."cfg(windows)".dependencies.widestring]
version = "1"
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61.2"
features = [
"Win32_Storage_FileSystem",
"Win32_System_Registry",
"Win32_System_DataExchange",
"Win32_System_Memory",
"Win32_System_Ole",
"Win32_Graphics_Gdi",
"Win32_System_Threading",
"Win32_Foundation",
"Win32_System_LibraryLoader",
"Win32_UI_HiDpi",
"Win32_UI_Shell",
"Win32_UI_Input",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_UI_WindowsAndMessaging",
]
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"