mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-11-15 05:12:28 +01:00
New crate crates/komorebi-core, a member of the root workspace (KDE and macOS take it by path when they adopt it). It holds Container<W>, moved from komorebi-for-kde/komorebi/src/container.rs (KDE is the base) and made generic: W is any type that implements ContainerWindow, a small trait for what the container asks of a platform window (its id, the executable name, hide and restore, and the hide and restore that load_focused_window uses, which on Windows leave the border alone). Container keeps no Backend calls; hiding and restoring is the window's own business. The serialised form is unchanged: id, locked (which may be missing when read, as on Windows), windows with elements and focused. The schemars schema of Container<W> is named Container whatever W is (schemars(rename)), so schema.json keeps its definition name; a test checks it. The tests of container.rs that need no daemon moved with it, over a stub window, plus tests for the JSON, the hide/restore calls and the missing locked field. No daemon uses it yet: the next revisions converge KDE and Windows. Verified: cargo test -p komorebi-core --features schemars (native): 13 passed, 0 failed. Not run: Windows, KDE, macOS builds (nothing depends on the crate yet).
101 lines
2.4 KiB
TOML
101 lines
2.4 KiB
TOML
[workspace]
|
|
|
|
resolver = "2"
|
|
members = [
|
|
"komorebi",
|
|
"komorebi-client",
|
|
"komorebi-gui",
|
|
"crates/komorebi-backend",
|
|
"crates/komorebi-collections",
|
|
"crates/komorebi-core",
|
|
"crates/komorebi-config",
|
|
"komorebi-layouts",
|
|
"komorebi-scrolling",
|
|
"komorebic",
|
|
"komorebic-no-console",
|
|
"crates/komorebic-core",
|
|
"komorebi-bar",
|
|
"komorebi-themes",
|
|
"crates/komorebi-protocol",
|
|
"crates/komorebi-transport",
|
|
"crates/komorebi-bar-core",
|
|
"komorebi-shortcuts",
|
|
"e2e/guest/agent",
|
|
"e2e/guest/testwin",
|
|
]
|
|
|
|
[workspace.dependencies]
|
|
clap = { version = "4", features = ["derive", "wrap_help"] }
|
|
chrono-tz = "0.10"
|
|
chrono = "0.4"
|
|
crossbeam-channel = "0.5"
|
|
crossbeam-utils = "0.8"
|
|
color-eyre = "0.6"
|
|
eframe = "0.33"
|
|
egui_extras = "0.33"
|
|
dirs = "6"
|
|
dunce = "1"
|
|
hotwatch = "0.5"
|
|
schemars = "1.1"
|
|
lazy_static = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { package = "serde_json_lenient", version = "0.2" }
|
|
serde_yaml = "0.9"
|
|
strum = { version = "0.28", features = ["derive"] }
|
|
tracing = "0.1"
|
|
tracing-appender = "0.2"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
parking_lot = "0.12"
|
|
paste = "1"
|
|
sysinfo = "0.39"
|
|
uds_windows = "1"
|
|
win32-display-data = { git = "https://github.com/LGUG2Z/win32-display-data", rev = "8c42d8db257d30fe95bc98c2e5cd8f75da861021" }
|
|
windows-numerics = { version = "0.3" }
|
|
windows-implement = { version = "0.60" }
|
|
windows-interface = { version = "0.59" }
|
|
windows-core = { version = "0.62" }
|
|
shadow-rs = "2"
|
|
which = "8"
|
|
|
|
[workspace.dependencies.windows]
|
|
version = "0.62"
|
|
features = [
|
|
"Foundation_Numerics",
|
|
"Win32_Devices",
|
|
"Win32_Devices_Display",
|
|
"Win32_System_Com",
|
|
"Win32_UI_Shell_Common", # for IObjectArray
|
|
"Win32_Foundation",
|
|
"Win32_Globalization",
|
|
"Win32_Graphics_Dwm",
|
|
"Win32_Graphics_Gdi",
|
|
"Win32_Storage_Xps",
|
|
"Win32_Graphics_Direct2D",
|
|
"Win32_Graphics_Direct2D_Common",
|
|
"Win32_Graphics_Dxgi_Common",
|
|
"Win32_System_LibraryLoader",
|
|
"Win32_System_Power",
|
|
"Win32_System_RemoteDesktop",
|
|
"Win32_System_Threading",
|
|
"Win32_UI_Accessibility",
|
|
"Win32_UI_HiDpi",
|
|
"Win32_UI_Input_KeyboardAndMouse",
|
|
"Win32_UI_Shell",
|
|
"Win32_UI_Shell_Common",
|
|
"Win32_UI_WindowsAndMessaging",
|
|
"Win32_System_SystemServices",
|
|
"Win32_System_WindowsProgramming",
|
|
"Media",
|
|
"Media_Control",
|
|
]
|
|
|
|
[profile.release-opt]
|
|
inherits = "release"
|
|
lto = true
|
|
panic = "abort"
|
|
codegen-units = 1
|
|
strip = true
|
|
|
|
[workspace.metadata.crane]
|
|
name = "komorebi-workspace"
|