diff --git a/Cargo.lock b/Cargo.lock index 6ae350f..afcd006 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -368,6 +368,7 @@ checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" name = "ferese" version = "0.1.0" dependencies = [ + "ferese-core", "ferese-layout", "libc", "smithay", @@ -375,6 +376,13 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "ferese-core" +version = "0.1.0" +dependencies = [ + "ferese-layout", +] + [[package]] name = "ferese-layout" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 1f01eb8..62c02d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -members = ["compositor", "crates/ferese-layout"] +members = ["compositor", "crates/ferese-core", "crates/ferese-layout"] resolver = "3" [workspace.package] diff --git a/compositor/Cargo.toml b/compositor/Cargo.toml index 1d729c2..d08db16 100644 --- a/compositor/Cargo.toml +++ b/compositor/Cargo.toml @@ -6,6 +6,7 @@ license.workspace = true rust-version.workspace = true [dependencies] +ferese-core = { path = "../crates/ferese-core" } ferese-layout = { path = "../crates/ferese-layout" } libc.workspace = true smithay.workspace = true diff --git a/compositor/src/state.rs b/compositor/src/state.rs index 2b173ba..d61f7eb 100644 --- a/compositor/src/state.rs +++ b/compositor/src/state.rs @@ -6,7 +6,8 @@ use std::{ time::Instant, }; -use ferese_layout::{Axis, Direction, GapConfig, Rect, WindowId, WorkspaceSet}; +use ferese_core::WorkspaceSet; +use ferese_layout::{Axis, Direction, GapConfig, Rect, WindowId}; use smithay::{ desktop::{PopupManager, Space, Window, WindowSurfaceType}, diff --git a/crates/ferese-core/Cargo.toml b/crates/ferese-core/Cargo.toml new file mode 100644 index 0000000..9bc3210 --- /dev/null +++ b/crates/ferese-core/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "ferese-core" +version.workspace = true +edition.workspace = true +license.workspace = true +rust-version.workspace = true + +[dependencies] +ferese-layout = { path = "../ferese-layout" } diff --git a/crates/ferese-core/src/lib.rs b/crates/ferese-core/src/lib.rs new file mode 100644 index 0000000..e88f5ec --- /dev/null +++ b/crates/ferese-core/src/lib.rs @@ -0,0 +1,3 @@ +mod workspace; + +pub use workspace::{Workspace, WorkspaceError, WorkspaceId, WorkspaceSet}; diff --git a/crates/ferese-layout/src/workspace.rs b/crates/ferese-core/src/workspace.rs similarity index 99% rename from crates/ferese-layout/src/workspace.rs rename to crates/ferese-core/src/workspace.rs index 5f5732e..0a24ddf 100644 --- a/crates/ferese-layout/src/workspace.rs +++ b/crates/ferese-core/src/workspace.rs @@ -2,7 +2,7 @@ use std::collections::{HashMap, HashSet}; use std::error::Error; use std::fmt; -use crate::{Axis, LayoutError, LayoutTree, WindowId}; +use ferese_layout::{Axis, LayoutError, LayoutTree, WindowId}; #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] pub struct WorkspaceId(pub u64); diff --git a/crates/ferese-layout/src/lib.rs b/crates/ferese-layout/src/lib.rs index 619b98e..9f3a5a1 100644 --- a/crates/ferese-layout/src/lib.rs +++ b/crates/ferese-layout/src/lib.rs @@ -2,10 +2,6 @@ use std::collections::{HashMap, HashSet}; use std::error::Error; use std::fmt; -mod workspace; - -pub use workspace::{Workspace, WorkspaceError, WorkspaceId, WorkspaceSet}; - const MIN_SPLIT_RATIO: f64 = 0.05; const MAX_SPLIT_RATIO: f64 = 0.95;