Add XWayland support (#16)

* save dev state

* fix xwayland-satellite supervisor lifecycle, readiness and cleanup

* remove wayland scanner protocol generated files

* default xwayland enabled with path

* remove jargons

* address x11 review: park unconfirmed cleanup, never signal a reaped group, fix storm test and notify dir mode

* fix resize tests: never build Size values from negative dimensions

* add min-width/min-height window rules that replace client minimum sizes

* rename effective_size_constraints to effective_minimum_size and minor cleanups
This commit is contained in:
Samuel Onoja authored and GitHub committed 2026-10-06 19:40:22 +01:00
1 parent ed23949a95
commit a6f83689f8
42 files changed
+7162 -1333

No files matched your search

+8
View File
@@ -32,6 +32,7 @@ mod render;
mod resize_metrics;
mod resize_transaction;
mod resume;
mod session_environment;
mod session_lock;
mod shell_control;
mod stacking;
@@ -42,6 +43,9 @@ mod theme;
mod wallpaper;
mod window_rules;
mod winit;
mod xwayland;
pub(crate) use session_environment::{SessionEnvironment, X11Environment};
use std::error::Error;
use std::io;
@@ -109,6 +113,8 @@ fn main() -> Result<(), Box<dyn Error>> {
overview::init_font_loader(&mut event_loop, &mut state)?;
backends::init(launch.backend, &mut event_loop, &mut state)?;
xwayland::initialize(&mut state);
info!(socket = ?state.socket_name, backend = ?launch.backend, "Ferese is accepting Wayland clients");
let child = spawn_client(&mut state, launch.client, launch.client_capabilities)
@@ -131,6 +137,8 @@ fn main() -> Result<(), Box<dyn Error>> {
terminate_child(&mut child);
}
xwayland::shutdown_after_loop(&mut state);
result.map_err(Into::into)
}