From aab447ef25e770a1bc90c02233f259968df83bdd Mon Sep 17 00:00:00 2001 From: Samuel Onoja Date: Thu, 24 Sep 2026 05:32:44 +0100 Subject: [PATCH] build: scaffold Ferese workspace --- .gitignore | 3 +++ Cargo.toml | 19 +++++++++++++++++++ README.md | 23 +++++++++++++++++++++++ compositor/Cargo.toml | 12 ++++++++++++ compositor/src/main.rs | 3 +++ 5 files changed, 60 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.toml create mode 100644 README.md create mode 100644 compositor/Cargo.toml create mode 100644 compositor/src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..288a0eb --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/target/ +*.log + diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..dfd0b4d --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,19 @@ +[workspace] +members = ["compositor"] +resolver = "3" + +[workspace.package] +version = "0.1.0" +edition = "2024" +license = "MIT" +rust-version = "1.87" + +[workspace.dependencies] +smithay = { version = "0.7.0", default-features = false, features = [ + "backend_winit", + "desktop", + "wayland_frontend", +] } +tracing = "0.1.41" +tracing-subscriber = { version = "0.3.20", features = ["env-filter"] } + diff --git a/README.md b/README.md new file mode 100644 index 0000000..1735724 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# Ferese + +Ferese is an experimental Wayland tiling compositor written in Rust with +Smithay. Development currently targets the Phase 0 nested compositor described +in [spec.md](spec.md). + +## Development + +Install the native dependencies required by Smithay's winit and GLES backends, +then run: + +```bash +cargo run -p ferese +``` + +Pass a client and its arguments after `--` to launch it inside Ferese: + +```bash +cargo run -p ferese -- foot +``` + +Set `RUST_LOG=ferese=debug` for detailed compositor logging. + diff --git a/compositor/Cargo.toml b/compositor/Cargo.toml new file mode 100644 index 0000000..fbaf1cf --- /dev/null +++ b/compositor/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "ferese" +version.workspace = true +edition.workspace = true +license.workspace = true +rust-version.workspace = true + +[dependencies] +smithay.workspace = true +tracing.workspace = true +tracing-subscriber.workspace = true + diff --git a/compositor/src/main.rs b/compositor/src/main.rs new file mode 100644 index 0000000..98f5305 --- /dev/null +++ b/compositor/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Ferese Phase 0 scaffold"); +}