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

+13 -8
View File
@@ -300,16 +300,21 @@ impl Ferese {
let constraints = window
.toplevel()
.map(|top| {
with_states(top.wl_surface(), |states| {
let (minimum, maximum) = with_states(top.wl_surface(), |states| {
let mut cache = states.cached_state.get::<SurfaceCachedState>();
let state = cache.current();
SizeConstraints {
min_width: state.min_size.w.max(1) as f64,
min_height: state.min_size.h.max(1) as f64,
max_width: (state.max_size.w > 0).then_some(state.max_size.w as f64),
max_height: (state.max_size.h > 0).then_some(state.max_size.h as f64),
}
})
(
(state.min_size.w, state.min_size.h),
(state.max_size.w, state.max_size.h),
)
});
let (minimum, maximum) = self.effective_size_constraints(window, minimum, maximum);
SizeConstraints {
min_width: minimum.0.max(1) as f64,
min_height: minimum.1.max(1) as f64,
max_width: (maximum.0 > 0).then_some(maximum.0 as f64),
max_height: (maximum.1 > 0).then_some(maximum.1 as f64),
}
})
.unwrap_or_default();
let stored_size = if parent_rect.is_none() {