refactor: move workspace policy into core

This commit is contained in:
Samuel Onoja committed 2026-09-24 11:11:30 +01:00
1 parent 3e692ba934
commit 28d845ee64
8 files changed
+25 -7

No files matched your search

Generated
+8
View File
@@ -368,6 +368,7 @@ checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
name = "ferese" name = "ferese"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"ferese-core",
"ferese-layout", "ferese-layout",
"libc", "libc",
"smithay", "smithay",
@@ -375,6 +376,13 @@ dependencies = [
"tracing-subscriber", "tracing-subscriber",
] ]
[[package]]
name = "ferese-core"
version = "0.1.0"
dependencies = [
"ferese-layout",
]
[[package]] [[package]]
name = "ferese-layout" name = "ferese-layout"
version = "0.1.0" version = "0.1.0"
+1 -1
View File
@@ -1,5 +1,5 @@
[workspace] [workspace]
members = ["compositor", "crates/ferese-layout"] members = ["compositor", "crates/ferese-core", "crates/ferese-layout"]
resolver = "3" resolver = "3"
[workspace.package] [workspace.package]
+1
View File
@@ -6,6 +6,7 @@ license.workspace = true
rust-version.workspace = true rust-version.workspace = true
[dependencies] [dependencies]
ferese-core = { path = "../crates/ferese-core" }
ferese-layout = { path = "../crates/ferese-layout" } ferese-layout = { path = "../crates/ferese-layout" }
libc.workspace = true libc.workspace = true
smithay.workspace = true smithay.workspace = true
+2 -1
View File
@@ -6,7 +6,8 @@ use std::{
time::Instant, 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::{ use smithay::{
desktop::{PopupManager, Space, Window, WindowSurfaceType}, desktop::{PopupManager, Space, Window, WindowSurfaceType},
+9
View File
@@ -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" }
+3
View File
@@ -0,0 +1,3 @@
mod workspace;
pub use workspace::{Workspace, WorkspaceError, WorkspaceId, WorkspaceSet};
@@ -2,7 +2,7 @@ use std::collections::{HashMap, HashSet};
use std::error::Error; use std::error::Error;
use std::fmt; use std::fmt;
use crate::{Axis, LayoutError, LayoutTree, WindowId}; use ferese_layout::{Axis, LayoutError, LayoutTree, WindowId};
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub struct WorkspaceId(pub u64); pub struct WorkspaceId(pub u64);
-4
View File
@@ -2,10 +2,6 @@ use std::collections::{HashMap, HashSet};
use std::error::Error; use std::error::Error;
use std::fmt; use std::fmt;
mod workspace;
pub use workspace::{Workspace, WorkspaceError, WorkspaceId, WorkspaceSet};
const MIN_SPLIT_RATIO: f64 = 0.05; const MIN_SPLIT_RATIO: f64 = 0.05;
const MAX_SPLIT_RATIO: f64 = 0.95; const MAX_SPLIT_RATIO: f64 = 0.95;