From 8409107a5bb04980ea196a5d7095d5c34f6b2e4e Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Mon, 30 Dec 2024 08:48:05 +0300 Subject: Implement default-window-height for scrolling windows --- niri-visual-tests/src/cases/layout.rs | 2 ++ src/handlers/compositor.rs | 8 +++--- src/handlers/xdg_shell.rs | 12 +++++++-- src/layout/mod.rs | 29 ++++++++++++++++++++++ src/layout/scrolling.rs | 21 ++++++++++++++-- src/layout/workspace.rs | 2 +- ..._opening__check_target_size@dhF500-b-wfsAN.snap | 4 +-- ..._opening__check_target_size@dhF500-b-wfsAU.snap | 6 ++--- ..._opening__check_target_size@dhF500-b-wfsBN.snap | 2 +- ..._opening__check_target_size@dhF500-b-wfsBU.snap | 4 +-- ...window_opening__check_target_size@dhF500-b.snap | 4 +-- ...ow_opening__check_target_size@dhF500-wfsAN.snap | 4 +-- ...ow_opening__check_target_size@dhF500-wfsAU.snap | 6 ++--- ...ow_opening__check_target_size@dhF500-wfsBN.snap | 2 +- ...ow_opening__check_target_size@dhF500-wfsBU.snap | 4 +-- ...__window_opening__check_target_size@dhF500.snap | 4 +-- ..._opening__check_target_size@dhP0.5-b-wfsAN.snap | 4 +-- ..._opening__check_target_size@dhP0.5-b-wfsAU.snap | 6 ++--- ..._opening__check_target_size@dhP0.5-b-wfsBN.snap | 2 +- ..._opening__check_target_size@dhP0.5-b-wfsBU.snap | 4 +-- ...window_opening__check_target_size@dhP0.5-b.snap | 4 +-- ...ow_opening__check_target_size@dhP0.5-wfsAN.snap | 4 +-- ...ow_opening__check_target_size@dhP0.5-wfsAU.snap | 6 ++--- ...ow_opening__check_target_size@dhP0.5-wfsBN.snap | 2 +- ...ow_opening__check_target_size@dhP0.5-wfsBU.snap | 4 +-- ...__window_opening__check_target_size@dhP0.5.snap | 4 +-- ...__check_target_size@dwF1000-dhF500-b-wfsAN.snap | 4 +-- ...__check_target_size@dwF1000-dhF500-b-wfsAU.snap | 6 ++--- ...__check_target_size@dwF1000-dhF500-b-wfsBN.snap | 2 +- ...__check_target_size@dwF1000-dhF500-b-wfsBU.snap | 4 +-- ...pening__check_target_size@dwF1000-dhF500-b.snap | 4 +-- ...ng__check_target_size@dwF1000-dhF500-wfsAN.snap | 4 +-- ...ng__check_target_size@dwF1000-dhF500-wfsAU.snap | 6 ++--- ...ng__check_target_size@dwF1000-dhF500-wfsBN.snap | 2 +- ...ng__check_target_size@dwF1000-dhF500-wfsBU.snap | 4 +-- ..._opening__check_target_size@dwF1000-dhF500.snap | 4 +-- ...__check_target_size@dwF1000-dhP0.5-b-wfsAN.snap | 4 +-- ...__check_target_size@dwF1000-dhP0.5-b-wfsAU.snap | 6 ++--- ...__check_target_size@dwF1000-dhP0.5-b-wfsBN.snap | 2 +- ...__check_target_size@dwF1000-dhP0.5-b-wfsBU.snap | 4 +-- ...pening__check_target_size@dwF1000-dhP0.5-b.snap | 4 +-- ...ng__check_target_size@dwF1000-dhP0.5-wfsAN.snap | 4 +-- ...ng__check_target_size@dwF1000-dhP0.5-wfsAU.snap | 6 ++--- ...ng__check_target_size@dwF1000-dhP0.5-wfsBN.snap | 2 +- ...ng__check_target_size@dwF1000-dhP0.5-wfsBU.snap | 4 +-- ..._opening__check_target_size@dwF1000-dhP0.5.snap | 4 +-- ...__check_target_size@dwP0.25-dhF500-b-wfsAN.snap | 4 +-- ...__check_target_size@dwP0.25-dhF500-b-wfsAU.snap | 6 ++--- ...__check_target_size@dwP0.25-dhF500-b-wfsBN.snap | 2 +- ...__check_target_size@dwP0.25-dhF500-b-wfsBU.snap | 4 +-- ...pening__check_target_size@dwP0.25-dhF500-b.snap | 4 +-- ...ng__check_target_size@dwP0.25-dhF500-wfsAN.snap | 4 +-- ...ng__check_target_size@dwP0.25-dhF500-wfsAU.snap | 6 ++--- ...ng__check_target_size@dwP0.25-dhF500-wfsBN.snap | 2 +- ...ng__check_target_size@dwP0.25-dhF500-wfsBU.snap | 4 +-- ..._opening__check_target_size@dwP0.25-dhF500.snap | 4 +-- ...__check_target_size@dwP0.25-dhP0.5-b-wfsAN.snap | 4 +-- ...__check_target_size@dwP0.25-dhP0.5-b-wfsAU.snap | 6 ++--- ...__check_target_size@dwP0.25-dhP0.5-b-wfsBN.snap | 2 +- ...__check_target_size@dwP0.25-dhP0.5-b-wfsBU.snap | 4 +-- ...pening__check_target_size@dwP0.25-dhP0.5-b.snap | 4 +-- ...ng__check_target_size@dwP0.25-dhP0.5-wfsAN.snap | 4 +-- ...ng__check_target_size@dwP0.25-dhP0.5-wfsAU.snap | 6 ++--- ...ng__check_target_size@dwP0.25-dhP0.5-wfsBN.snap | 2 +- ...ng__check_target_size@dwP0.25-dhP0.5-wfsBU.snap | 4 +-- ..._opening__check_target_size@dwP0.25-dhP0.5.snap | 4 +-- ...ning__check_target_size@dwU-dhF500-b-wfsAN.snap | 4 +-- ...ning__check_target_size@dwU-dhF500-b-wfsAU.snap | 6 ++--- ...ning__check_target_size@dwU-dhF500-b-wfsBN.snap | 2 +- ...ning__check_target_size@dwU-dhF500-b-wfsBU.snap | 4 +-- ...ow_opening__check_target_size@dwU-dhF500-b.snap | 4 +-- ...pening__check_target_size@dwU-dhF500-wfsAN.snap | 4 +-- ...pening__check_target_size@dwU-dhF500-wfsAU.snap | 6 ++--- ...pening__check_target_size@dwU-dhF500-wfsBN.snap | 2 +- ...pening__check_target_size@dwU-dhF500-wfsBU.snap | 4 +-- ...ndow_opening__check_target_size@dwU-dhF500.snap | 4 +-- ...ning__check_target_size@dwU-dhP0.5-b-wfsAN.snap | 4 +-- ...ning__check_target_size@dwU-dhP0.5-b-wfsAU.snap | 6 ++--- ...ning__check_target_size@dwU-dhP0.5-b-wfsBN.snap | 2 +- ...ning__check_target_size@dwU-dhP0.5-b-wfsBU.snap | 4 +-- ...ow_opening__check_target_size@dwU-dhP0.5-b.snap | 4 +-- ...pening__check_target_size@dwU-dhP0.5-wfsAN.snap | 4 +-- ...pening__check_target_size@dwU-dhP0.5-wfsAU.snap | 6 ++--- ...pening__check_target_size@dwU-dhP0.5-wfsBN.snap | 2 +- ...pening__check_target_size@dwU-dhP0.5-wfsBU.snap | 4 +-- ...ndow_opening__check_target_size@dwU-dhP0.5.snap | 4 +-- ...ning__check_target_size@fsF-dhF500-b-wfsAN.snap | 4 +-- ...ning__check_target_size@fsF-dhF500-b-wfsAU.snap | 6 ++--- ...ning__check_target_size@fsF-dhF500-b-wfsBN.snap | 4 +-- ...ning__check_target_size@fsF-dhF500-b-wfsBU.snap | 4 +-- ...ow_opening__check_target_size@fsF-dhF500-b.snap | 4 +-- ...pening__check_target_size@fsF-dhF500-wfsAN.snap | 4 +-- ...pening__check_target_size@fsF-dhF500-wfsAU.snap | 6 ++--- ...pening__check_target_size@fsF-dhF500-wfsBN.snap | 4 +-- ...pening__check_target_size@fsF-dhF500-wfsBU.snap | 4 +-- ...ndow_opening__check_target_size@fsF-dhF500.snap | 4 +-- ...ning__check_target_size@fsF-dhP0.5-b-wfsAN.snap | 4 +-- ...ning__check_target_size@fsF-dhP0.5-b-wfsAU.snap | 6 ++--- ...ning__check_target_size@fsF-dhP0.5-b-wfsBN.snap | 4 +-- ...ning__check_target_size@fsF-dhP0.5-b-wfsBU.snap | 4 +-- ...ow_opening__check_target_size@fsF-dhP0.5-b.snap | 4 +-- ...pening__check_target_size@fsF-dhP0.5-wfsAN.snap | 4 +-- ...pening__check_target_size@fsF-dhP0.5-wfsAU.snap | 6 ++--- ...pening__check_target_size@fsF-dhP0.5-wfsBN.snap | 4 +-- ...pening__check_target_size@fsF-dhP0.5-wfsBU.snap | 4 +-- ...ndow_opening__check_target_size@fsF-dhP0.5.snap | 4 +-- ...eck_target_size@fsF-dwF1000-dhF500-b-wfsAN.snap | 4 +-- ...eck_target_size@fsF-dwF1000-dhF500-b-wfsAU.snap | 6 ++--- ...eck_target_size@fsF-dwF1000-dhF500-b-wfsBN.snap | 4 +-- ...eck_target_size@fsF-dwF1000-dhF500-b-wfsBU.snap | 4 +-- ...ng__check_target_size@fsF-dwF1000-dhF500-b.snap | 4 +-- ...check_target_size@fsF-dwF1000-dhF500-wfsAN.snap | 4 +-- ...check_target_size@fsF-dwF1000-dhF500-wfsAU.snap | 6 ++--- ...check_target_size@fsF-dwF1000-dhF500-wfsBN.snap | 4 +-- ...check_target_size@fsF-dwF1000-dhF500-wfsBU.snap | 4 +-- ...ning__check_target_size@fsF-dwF1000-dhF500.snap | 4 +-- ...eck_target_size@fsF-dwF1000-dhP0.5-b-wfsAN.snap | 4 +-- ...eck_target_size@fsF-dwF1000-dhP0.5-b-wfsAU.snap | 6 ++--- ...eck_target_size@fsF-dwF1000-dhP0.5-b-wfsBN.snap | 4 +-- ...eck_target_size@fsF-dwF1000-dhP0.5-b-wfsBU.snap | 4 +-- ...ng__check_target_size@fsF-dwF1000-dhP0.5-b.snap | 4 +-- ...check_target_size@fsF-dwF1000-dhP0.5-wfsAN.snap | 4 +-- ...check_target_size@fsF-dwF1000-dhP0.5-wfsAU.snap | 6 ++--- ...check_target_size@fsF-dwF1000-dhP0.5-wfsBN.snap | 4 +-- ...check_target_size@fsF-dwF1000-dhP0.5-wfsBU.snap | 4 +-- ...ning__check_target_size@fsF-dwF1000-dhP0.5.snap | 4 +-- ...eck_target_size@fsF-dwP0.25-dhF500-b-wfsAN.snap | 4 +-- ...eck_target_size@fsF-dwP0.25-dhF500-b-wfsAU.snap | 6 ++--- ...eck_target_size@fsF-dwP0.25-dhF500-b-wfsBN.snap | 4 +-- ...eck_target_size@fsF-dwP0.25-dhF500-b-wfsBU.snap | 4 +-- ...ng__check_target_size@fsF-dwP0.25-dhF500-b.snap | 4 +-- ...check_target_size@fsF-dwP0.25-dhF500-wfsAN.snap | 4 +-- ...check_target_size@fsF-dwP0.25-dhF500-wfsAU.snap | 6 ++--- ...check_target_size@fsF-dwP0.25-dhF500-wfsBN.snap | 4 +-- ...check_target_size@fsF-dwP0.25-dhF500-wfsBU.snap | 4 +-- ...ning__check_target_size@fsF-dwP0.25-dhF500.snap | 4 +-- ...eck_target_size@fsF-dwP0.25-dhP0.5-b-wfsAN.snap | 4 +-- ...eck_target_size@fsF-dwP0.25-dhP0.5-b-wfsAU.snap | 6 ++--- ...eck_target_size@fsF-dwP0.25-dhP0.5-b-wfsBN.snap | 4 +-- ...eck_target_size@fsF-dwP0.25-dhP0.5-b-wfsBU.snap | 4 +-- ...ng__check_target_size@fsF-dwP0.25-dhP0.5-b.snap | 4 +-- ...check_target_size@fsF-dwP0.25-dhP0.5-wfsAN.snap | 4 +-- ...check_target_size@fsF-dwP0.25-dhP0.5-wfsAU.snap | 6 ++--- ...check_target_size@fsF-dwP0.25-dhP0.5-wfsBN.snap | 4 +-- ...check_target_size@fsF-dwP0.25-dhP0.5-wfsBU.snap | 4 +-- ...ning__check_target_size@fsF-dwP0.25-dhP0.5.snap | 4 +-- ...__check_target_size@fsF-dwU-dhF500-b-wfsAN.snap | 4 +-- ...__check_target_size@fsF-dwU-dhF500-b-wfsAU.snap | 6 ++--- ...__check_target_size@fsF-dwU-dhF500-b-wfsBN.snap | 4 +-- ...__check_target_size@fsF-dwU-dhF500-b-wfsBU.snap | 4 +-- ...pening__check_target_size@fsF-dwU-dhF500-b.snap | 4 +-- ...ng__check_target_size@fsF-dwU-dhF500-wfsAN.snap | 4 +-- ...ng__check_target_size@fsF-dwU-dhF500-wfsAU.snap | 6 ++--- ...ng__check_target_size@fsF-dwU-dhF500-wfsBN.snap | 4 +-- ...ng__check_target_size@fsF-dwU-dhF500-wfsBU.snap | 4 +-- ..._opening__check_target_size@fsF-dwU-dhF500.snap | 4 +-- ...__check_target_size@fsF-dwU-dhP0.5-b-wfsAN.snap | 4 +-- ...__check_target_size@fsF-dwU-dhP0.5-b-wfsAU.snap | 6 ++--- ...__check_target_size@fsF-dwU-dhP0.5-b-wfsBN.snap | 4 +-- ...__check_target_size@fsF-dwU-dhP0.5-b-wfsBU.snap | 4 +-- ...pening__check_target_size@fsF-dwU-dhP0.5-b.snap | 4 +-- ...ng__check_target_size@fsF-dwU-dhP0.5-wfsAN.snap | 4 +-- ...ng__check_target_size@fsF-dwU-dhP0.5-wfsAU.snap | 6 ++--- ...ng__check_target_size@fsF-dwU-dhP0.5-wfsBN.snap | 4 +-- ...ng__check_target_size@fsF-dwU-dhP0.5-wfsBU.snap | 4 +-- ..._opening__check_target_size@fsF-dwU-dhP0.5.snap | 4 +-- ...__check_target_size@fsF-omT-dhF500-b-wfsAN.snap | 4 +-- ...__check_target_size@fsF-omT-dhF500-b-wfsAU.snap | 6 ++--- ...__check_target_size@fsF-omT-dhF500-b-wfsBN.snap | 4 +-- ...__check_target_size@fsF-omT-dhF500-b-wfsBU.snap | 4 +-- ...pening__check_target_size@fsF-omT-dhF500-b.snap | 4 +-- ...ng__check_target_size@fsF-omT-dhF500-wfsAN.snap | 4 +-- ...ng__check_target_size@fsF-omT-dhF500-wfsAU.snap | 6 ++--- ...ng__check_target_size@fsF-omT-dhF500-wfsBN.snap | 4 +-- ...ng__check_target_size@fsF-omT-dhF500-wfsBU.snap | 4 +-- ..._opening__check_target_size@fsF-omT-dhF500.snap | 4 +-- ...__check_target_size@fsF-omT-dhP0.5-b-wfsAN.snap | 4 +-- ...__check_target_size@fsF-omT-dhP0.5-b-wfsAU.snap | 6 ++--- ...__check_target_size@fsF-omT-dhP0.5-b-wfsBN.snap | 4 +-- ...__check_target_size@fsF-omT-dhP0.5-b-wfsBU.snap | 4 +-- ...pening__check_target_size@fsF-omT-dhP0.5-b.snap | 4 +-- ...ng__check_target_size@fsF-omT-dhP0.5-wfsAN.snap | 4 +-- ...ng__check_target_size@fsF-omT-dhP0.5-wfsAU.snap | 6 ++--- ...ng__check_target_size@fsF-omT-dhP0.5-wfsBN.snap | 4 +-- ...ng__check_target_size@fsF-omT-dhP0.5-wfsBU.snap | 4 +-- ..._opening__check_target_size@fsF-omT-dhP0.5.snap | 4 +-- ...target_size@fsF-omT-dwF1000-dhF500-b-wfsAN.snap | 4 +-- ...target_size@fsF-omT-dwF1000-dhF500-b-wfsAU.snap | 6 ++--- ...target_size@fsF-omT-dwF1000-dhF500-b-wfsBN.snap | 4 +-- ...target_size@fsF-omT-dwF1000-dhF500-b-wfsBU.snap | 4 +-- ...check_target_size@fsF-omT-dwF1000-dhF500-b.snap | 4 +-- ...k_target_size@fsF-omT-dwF1000-dhF500-wfsAN.snap | 4 +-- ...k_target_size@fsF-omT-dwF1000-dhF500-wfsAU.snap | 6 ++--- ...k_target_size@fsF-omT-dwF1000-dhF500-wfsBN.snap | 4 +-- ...k_target_size@fsF-omT-dwF1000-dhF500-wfsBU.snap | 4 +-- ...__check_target_size@fsF-omT-dwF1000-dhF500.snap | 4 +-- ...target_size@fsF-omT-dwF1000-dhP0.5-b-wfsAN.snap | 4 +-- ...target_size@fsF-omT-dwF1000-dhP0.5-b-wfsAU.snap | 6 ++--- ...target_size@fsF-omT-dwF1000-dhP0.5-b-wfsBN.snap | 4 +-- ...target_size@fsF-omT-dwF1000-dhP0.5-b-wfsBU.snap | 4 +-- ...check_target_size@fsF-omT-dwF1000-dhP0.5-b.snap | 4 +-- ...k_target_size@fsF-omT-dwF1000-dhP0.5-wfsAN.snap | 4 +-- ...k_target_size@fsF-omT-dwF1000-dhP0.5-wfsAU.snap | 6 ++--- ...k_target_size@fsF-omT-dwF1000-dhP0.5-wfsBN.snap | 4 +-- ...k_target_size@fsF-omT-dwF1000-dhP0.5-wfsBU.snap | 4 +-- ...__check_target_size@fsF-omT-dwF1000-dhP0.5.snap | 4 +-- ...target_size@fsF-omT-dwP0.25-dhF500-b-wfsAN.snap | 4 +-- ...target_size@fsF-omT-dwP0.25-dhF500-b-wfsAU.snap | 6 ++--- ...target_size@fsF-omT-dwP0.25-dhF500-b-wfsBN.snap | 4 +-- ...target_size@fsF-omT-dwP0.25-dhF500-b-wfsBU.snap | 4 +-- ...check_target_size@fsF-omT-dwP0.25-dhF500-b.snap | 4 +-- ...k_target_size@fsF-omT-dwP0.25-dhF500-wfsAN.snap | 4 +-- ...k_target_size@fsF-omT-dwP0.25-dhF500-wfsAU.snap | 6 ++--- ...k_target_size@fsF-omT-dwP0.25-dhF500-wfsBN.snap | 4 +-- ...k_target_size@fsF-omT-dwP0.25-dhF500-wfsBU.snap | 4 +-- ...__check_target_size@fsF-omT-dwP0.25-dhF500.snap | 4 +-- ...target_size@fsF-omT-dwP0.25-dhP0.5-b-wfsAN.snap | 4 +-- ...target_size@fsF-omT-dwP0.25-dhP0.5-b-wfsAU.snap | 6 ++--- ...target_size@fsF-omT-dwP0.25-dhP0.5-b-wfsBN.snap | 4 +-- ...target_size@fsF-omT-dwP0.25-dhP0.5-b-wfsBU.snap | 4 +-- ...check_target_size@fsF-omT-dwP0.25-dhP0.5-b.snap | 4 +-- ...k_target_size@fsF-omT-dwP0.25-dhP0.5-wfsAN.snap | 4 +-- ...k_target_size@fsF-omT-dwP0.25-dhP0.5-wfsAU.snap | 6 ++--- ...k_target_size@fsF-omT-dwP0.25-dhP0.5-wfsBN.snap | 4 +-- ...k_target_size@fsF-omT-dwP0.25-dhP0.5-wfsBU.snap | 4 +-- ...__check_target_size@fsF-omT-dwP0.25-dhP0.5.snap | 4 +-- ...eck_target_size@fsF-omT-dwU-dhF500-b-wfsAN.snap | 4 +-- ...eck_target_size@fsF-omT-dwU-dhF500-b-wfsAU.snap | 6 ++--- ...eck_target_size@fsF-omT-dwU-dhF500-b-wfsBN.snap | 4 +-- ...eck_target_size@fsF-omT-dwU-dhF500-b-wfsBU.snap | 4 +-- ...ng__check_target_size@fsF-omT-dwU-dhF500-b.snap | 4 +-- ...check_target_size@fsF-omT-dwU-dhF500-wfsAN.snap | 4 +-- ...check_target_size@fsF-omT-dwU-dhF500-wfsAU.snap | 6 ++--- ...check_target_size@fsF-omT-dwU-dhF500-wfsBN.snap | 4 +-- ...check_target_size@fsF-omT-dwU-dhF500-wfsBU.snap | 4 +-- ...ning__check_target_size@fsF-omT-dwU-dhF500.snap | 4 +-- ...eck_target_size@fsF-omT-dwU-dhP0.5-b-wfsAN.snap | 4 +-- ...eck_target_size@fsF-omT-dwU-dhP0.5-b-wfsAU.snap | 6 ++--- ...eck_target_size@fsF-omT-dwU-dhP0.5-b-wfsBN.snap | 4 +-- ...eck_target_size@fsF-omT-dwU-dhP0.5-b-wfsBU.snap | 4 +-- ...ng__check_target_size@fsF-omT-dwU-dhP0.5-b.snap | 4 +-- ...check_target_size@fsF-omT-dwU-dhP0.5-wfsAN.snap | 4 +-- ...check_target_size@fsF-omT-dwU-dhP0.5-wfsAU.snap | 6 ++--- ...check_target_size@fsF-omT-dwU-dhP0.5-wfsBN.snap | 4 +-- ...check_target_size@fsF-omT-dwU-dhP0.5-wfsBU.snap | 4 +-- ...ning__check_target_size@fsF-omT-dwU-dhP0.5.snap | 4 +-- ...ning__check_target_size@fsT-dhF500-b-wfsAN.snap | 2 +- ...ning__check_target_size@fsT-dhF500-b-wfsAU.snap | 4 +-- ...ning__check_target_size@fsT-dhF500-b-wfsBN.snap | 2 +- ...ning__check_target_size@fsT-dhF500-b-wfsBU.snap | 2 +- ...ow_opening__check_target_size@fsT-dhF500-b.snap | 2 +- ...pening__check_target_size@fsT-dhF500-wfsAN.snap | 2 +- ...pening__check_target_size@fsT-dhF500-wfsAU.snap | 4 +-- ...pening__check_target_size@fsT-dhF500-wfsBN.snap | 2 +- ...pening__check_target_size@fsT-dhF500-wfsBU.snap | 2 +- ...ndow_opening__check_target_size@fsT-dhF500.snap | 2 +- ...ning__check_target_size@fsT-dhP0.5-b-wfsAN.snap | 2 +- ...ning__check_target_size@fsT-dhP0.5-b-wfsAU.snap | 4 +-- ...ning__check_target_size@fsT-dhP0.5-b-wfsBN.snap | 2 +- ...ning__check_target_size@fsT-dhP0.5-b-wfsBU.snap | 2 +- ...ow_opening__check_target_size@fsT-dhP0.5-b.snap | 2 +- ...pening__check_target_size@fsT-dhP0.5-wfsAN.snap | 2 +- ...pening__check_target_size@fsT-dhP0.5-wfsAU.snap | 4 +-- ...pening__check_target_size@fsT-dhP0.5-wfsBN.snap | 2 +- ...pening__check_target_size@fsT-dhP0.5-wfsBU.snap | 2 +- ...ndow_opening__check_target_size@fsT-dhP0.5.snap | 2 +- ...eck_target_size@fsT-dwF1000-dhF500-b-wfsAN.snap | 2 +- ...eck_target_size@fsT-dwF1000-dhF500-b-wfsAU.snap | 4 +-- ...eck_target_size@fsT-dwF1000-dhF500-b-wfsBN.snap | 2 +- ...eck_target_size@fsT-dwF1000-dhF500-b-wfsBU.snap | 2 +- ...ng__check_target_size@fsT-dwF1000-dhF500-b.snap | 2 +- ...check_target_size@fsT-dwF1000-dhF500-wfsAN.snap | 2 +- ...check_target_size@fsT-dwF1000-dhF500-wfsAU.snap | 4 +-- ...check_target_size@fsT-dwF1000-dhF500-wfsBN.snap | 2 +- ...check_target_size@fsT-dwF1000-dhF500-wfsBU.snap | 2 +- ...ning__check_target_size@fsT-dwF1000-dhF500.snap | 2 +- ...eck_target_size@fsT-dwF1000-dhP0.5-b-wfsAN.snap | 2 +- ...eck_target_size@fsT-dwF1000-dhP0.5-b-wfsAU.snap | 4 +-- ...eck_target_size@fsT-dwF1000-dhP0.5-b-wfsBN.snap | 2 +- ...eck_target_size@fsT-dwF1000-dhP0.5-b-wfsBU.snap | 2 +- ...ng__check_target_size@fsT-dwF1000-dhP0.5-b.snap | 2 +- ...check_target_size@fsT-dwF1000-dhP0.5-wfsAN.snap | 2 +- ...check_target_size@fsT-dwF1000-dhP0.5-wfsAU.snap | 4 +-- ...check_target_size@fsT-dwF1000-dhP0.5-wfsBN.snap | 2 +- ...check_target_size@fsT-dwF1000-dhP0.5-wfsBU.snap | 2 +- ...ning__check_target_size@fsT-dwF1000-dhP0.5.snap | 2 +- ...eck_target_size@fsT-dwP0.25-dhF500-b-wfsAN.snap | 2 +- ...eck_target_size@fsT-dwP0.25-dhF500-b-wfsAU.snap | 4 +-- ...eck_target_size@fsT-dwP0.25-dhF500-b-wfsBN.snap | 2 +- ...eck_target_size@fsT-dwP0.25-dhF500-b-wfsBU.snap | 2 +- ...ng__check_target_size@fsT-dwP0.25-dhF500-b.snap | 2 +- ...check_target_size@fsT-dwP0.25-dhF500-wfsAN.snap | 2 +- ...check_target_size@fsT-dwP0.25-dhF500-wfsAU.snap | 4 +-- ...check_target_size@fsT-dwP0.25-dhF500-wfsBN.snap | 2 +- ...check_target_size@fsT-dwP0.25-dhF500-wfsBU.snap | 2 +- ...ning__check_target_size@fsT-dwP0.25-dhF500.snap | 2 +- ...eck_target_size@fsT-dwP0.25-dhP0.5-b-wfsAN.snap | 2 +- ...eck_target_size@fsT-dwP0.25-dhP0.5-b-wfsAU.snap | 4 +-- ...eck_target_size@fsT-dwP0.25-dhP0.5-b-wfsBN.snap | 2 +- ...eck_target_size@fsT-dwP0.25-dhP0.5-b-wfsBU.snap | 2 +- ...ng__check_target_size@fsT-dwP0.25-dhP0.5-b.snap | 2 +- ...check_target_size@fsT-dwP0.25-dhP0.5-wfsAN.snap | 2 +- ...check_target_size@fsT-dwP0.25-dhP0.5-wfsAU.snap | 4 +-- ...check_target_size@fsT-dwP0.25-dhP0.5-wfsBN.snap | 2 +- ...check_target_size@fsT-dwP0.25-dhP0.5-wfsBU.snap | 2 +- ...ning__check_target_size@fsT-dwP0.25-dhP0.5.snap | 2 +- ...__check_target_size@fsT-dwU-dhF500-b-wfsAN.snap | 2 +- ...__check_target_size@fsT-dwU-dhF500-b-wfsAU.snap | 4 +-- ...__check_target_size@fsT-dwU-dhF500-b-wfsBN.snap | 2 +- ...__check_target_size@fsT-dwU-dhF500-b-wfsBU.snap | 2 +- ...pening__check_target_size@fsT-dwU-dhF500-b.snap | 2 +- ...ng__check_target_size@fsT-dwU-dhF500-wfsAN.snap | 2 +- ...ng__check_target_size@fsT-dwU-dhF500-wfsAU.snap | 4 +-- ...ng__check_target_size@fsT-dwU-dhF500-wfsBN.snap | 2 +- ...ng__check_target_size@fsT-dwU-dhF500-wfsBU.snap | 2 +- ..._opening__check_target_size@fsT-dwU-dhF500.snap | 2 +- ...__check_target_size@fsT-dwU-dhP0.5-b-wfsAN.snap | 2 +- ...__check_target_size@fsT-dwU-dhP0.5-b-wfsAU.snap | 4 +-- ...__check_target_size@fsT-dwU-dhP0.5-b-wfsBN.snap | 2 +- ...__check_target_size@fsT-dwU-dhP0.5-b-wfsBU.snap | 2 +- ...pening__check_target_size@fsT-dwU-dhP0.5-b.snap | 2 +- ...ng__check_target_size@fsT-dwU-dhP0.5-wfsAN.snap | 2 +- ...ng__check_target_size@fsT-dwU-dhP0.5-wfsAU.snap | 4 +-- ...ng__check_target_size@fsT-dwU-dhP0.5-wfsBN.snap | 2 +- ...ng__check_target_size@fsT-dwU-dhP0.5-wfsBU.snap | 2 +- ..._opening__check_target_size@fsT-dwU-dhP0.5.snap | 2 +- ...__check_target_size@fsT-omT-dhF500-b-wfsAN.snap | 2 +- ...__check_target_size@fsT-omT-dhF500-b-wfsAU.snap | 4 +-- ...__check_target_size@fsT-omT-dhF500-b-wfsBN.snap | 2 +- ...__check_target_size@fsT-omT-dhF500-b-wfsBU.snap | 2 +- ...pening__check_target_size@fsT-omT-dhF500-b.snap | 2 +- ...ng__check_target_size@fsT-omT-dhF500-wfsAN.snap | 2 +- ...ng__check_target_size@fsT-omT-dhF500-wfsAU.snap | 4 +-- ...ng__check_target_size@fsT-omT-dhF500-wfsBN.snap | 2 +- ...ng__check_target_size@fsT-omT-dhF500-wfsBU.snap | 2 +- ..._opening__check_target_size@fsT-omT-dhF500.snap | 2 +- ...__check_target_size@fsT-omT-dhP0.5-b-wfsAN.snap | 2 +- ...__check_target_size@fsT-omT-dhP0.5-b-wfsAU.snap | 4 +-- ...__check_target_size@fsT-omT-dhP0.5-b-wfsBN.snap | 2 +- ...__check_target_size@fsT-omT-dhP0.5-b-wfsBU.snap | 2 +- ...pening__check_target_size@fsT-omT-dhP0.5-b.snap | 2 +- ...ng__check_target_size@fsT-omT-dhP0.5-wfsAN.snap | 2 +- ...ng__check_target_size@fsT-omT-dhP0.5-wfsAU.snap | 4 +-- ...ng__check_target_size@fsT-omT-dhP0.5-wfsBN.snap | 2 +- ...ng__check_target_size@fsT-omT-dhP0.5-wfsBU.snap | 2 +- ..._opening__check_target_size@fsT-omT-dhP0.5.snap | 2 +- ...target_size@fsT-omT-dwF1000-dhF500-b-wfsAN.snap | 2 +- ...target_size@fsT-omT-dwF1000-dhF500-b-wfsAU.snap | 4 +-- ...target_size@fsT-omT-dwF1000-dhF500-b-wfsBN.snap | 2 +- ...target_size@fsT-omT-dwF1000-dhF500-b-wfsBU.snap | 2 +- ...check_target_size@fsT-omT-dwF1000-dhF500-b.snap | 2 +- ...k_target_size@fsT-omT-dwF1000-dhF500-wfsAN.snap | 2 +- ...k_target_size@fsT-omT-dwF1000-dhF500-wfsAU.snap | 4 +-- ...k_target_size@fsT-omT-dwF1000-dhF500-wfsBN.snap | 2 +- ...k_target_size@fsT-omT-dwF1000-dhF500-wfsBU.snap | 2 +- ...__check_target_size@fsT-omT-dwF1000-dhF500.snap | 2 +- ...target_size@fsT-omT-dwF1000-dhP0.5-b-wfsAN.snap | 2 +- ...target_size@fsT-omT-dwF1000-dhP0.5-b-wfsAU.snap | 4 +-- ...target_size@fsT-omT-dwF1000-dhP0.5-b-wfsBN.snap | 2 +- ...target_size@fsT-omT-dwF1000-dhP0.5-b-wfsBU.snap | 2 +- ...check_target_size@fsT-omT-dwF1000-dhP0.5-b.snap | 2 +- ...k_target_size@fsT-omT-dwF1000-dhP0.5-wfsAN.snap | 2 +- ...k_target_size@fsT-omT-dwF1000-dhP0.5-wfsAU.snap | 4 +-- ...k_target_size@fsT-omT-dwF1000-dhP0.5-wfsBN.snap | 2 +- ...k_target_size@fsT-omT-dwF1000-dhP0.5-wfsBU.snap | 2 +- ...__check_target_size@fsT-omT-dwF1000-dhP0.5.snap | 2 +- ...target_size@fsT-omT-dwP0.25-dhF500-b-wfsAN.snap | 2 +- ...target_size@fsT-omT-dwP0.25-dhF500-b-wfsAU.snap | 4 +-- ...target_size@fsT-omT-dwP0.25-dhF500-b-wfsBN.snap | 2 +- ...target_size@fsT-omT-dwP0.25-dhF500-b-wfsBU.snap | 2 +- ...check_target_size@fsT-omT-dwP0.25-dhF500-b.snap | 2 +- ...k_target_size@fsT-omT-dwP0.25-dhF500-wfsAN.snap | 2 +- ...k_target_size@fsT-omT-dwP0.25-dhF500-wfsAU.snap | 4 +-- ...k_target_size@fsT-omT-dwP0.25-dhF500-wfsBN.snap | 2 +- ...k_target_size@fsT-omT-dwP0.25-dhF500-wfsBU.snap | 2 +- ...__check_target_size@fsT-omT-dwP0.25-dhF500.snap | 2 +- ...target_size@fsT-omT-dwP0.25-dhP0.5-b-wfsAN.snap | 2 +- ...target_size@fsT-omT-dwP0.25-dhP0.5-b-wfsAU.snap | 4 +-- ...target_size@fsT-omT-dwP0.25-dhP0.5-b-wfsBN.snap | 2 +- ...target_size@fsT-omT-dwP0.25-dhP0.5-b-wfsBU.snap | 2 +- ...check_target_size@fsT-omT-dwP0.25-dhP0.5-b.snap | 2 +- ...k_target_size@fsT-omT-dwP0.25-dhP0.5-wfsAN.snap | 2 +- ...k_target_size@fsT-omT-dwP0.25-dhP0.5-wfsAU.snap | 4 +-- ...k_target_size@fsT-omT-dwP0.25-dhP0.5-wfsBN.snap | 2 +- ...k_target_size@fsT-omT-dwP0.25-dhP0.5-wfsBU.snap | 2 +- ...__check_target_size@fsT-omT-dwP0.25-dhP0.5.snap | 2 +- ...eck_target_size@fsT-omT-dwU-dhF500-b-wfsAN.snap | 2 +- ...eck_target_size@fsT-omT-dwU-dhF500-b-wfsAU.snap | 4 +-- ...eck_target_size@fsT-omT-dwU-dhF500-b-wfsBN.snap | 2 +- ...eck_target_size@fsT-omT-dwU-dhF500-b-wfsBU.snap | 2 +- ...ng__check_target_size@fsT-omT-dwU-dhF500-b.snap | 2 +- ...check_target_size@fsT-omT-dwU-dhF500-wfsAN.snap | 2 +- ...check_target_size@fsT-omT-dwU-dhF500-wfsAU.snap | 4 +-- ...check_target_size@fsT-omT-dwU-dhF500-wfsBN.snap | 2 +- ...check_target_size@fsT-omT-dwU-dhF500-wfsBU.snap | 2 +- ...ning__check_target_size@fsT-omT-dwU-dhF500.snap | 2 +- ...eck_target_size@fsT-omT-dwU-dhP0.5-b-wfsAN.snap | 2 +- ...eck_target_size@fsT-omT-dwU-dhP0.5-b-wfsAU.snap | 4 +-- ...eck_target_size@fsT-omT-dwU-dhP0.5-b-wfsBN.snap | 2 +- ...eck_target_size@fsT-omT-dwU-dhP0.5-b-wfsBU.snap | 2 +- ...ng__check_target_size@fsT-omT-dwU-dhP0.5-b.snap | 2 +- ...check_target_size@fsT-omT-dwU-dhP0.5-wfsAN.snap | 2 +- ...check_target_size@fsT-omT-dwU-dhP0.5-wfsAU.snap | 4 +-- ...check_target_size@fsT-omT-dwU-dhP0.5-wfsBN.snap | 2 +- ...check_target_size@fsT-omT-dwU-dhP0.5-wfsBU.snap | 2 +- ...ning__check_target_size@fsT-omT-dwU-dhP0.5.snap | 2 +- ...ning__check_target_size@omT-dhF500-b-wfsAN.snap | 4 +-- ...ning__check_target_size@omT-dhF500-b-wfsAU.snap | 6 ++--- ...ning__check_target_size@omT-dhF500-b-wfsBN.snap | 2 +- ...ning__check_target_size@omT-dhF500-b-wfsBU.snap | 4 +-- ...ow_opening__check_target_size@omT-dhF500-b.snap | 4 +-- ...pening__check_target_size@omT-dhF500-wfsAN.snap | 4 +-- ...pening__check_target_size@omT-dhF500-wfsAU.snap | 6 ++--- ...pening__check_target_size@omT-dhF500-wfsBN.snap | 2 +- ...pening__check_target_size@omT-dhF500-wfsBU.snap | 4 +-- ...ndow_opening__check_target_size@omT-dhF500.snap | 4 +-- ...ning__check_target_size@omT-dhP0.5-b-wfsAN.snap | 4 +-- ...ning__check_target_size@omT-dhP0.5-b-wfsAU.snap | 6 ++--- ...ning__check_target_size@omT-dhP0.5-b-wfsBN.snap | 2 +- ...ning__check_target_size@omT-dhP0.5-b-wfsBU.snap | 4 +-- ...ow_opening__check_target_size@omT-dhP0.5-b.snap | 4 +-- ...pening__check_target_size@omT-dhP0.5-wfsAN.snap | 4 +-- ...pening__check_target_size@omT-dhP0.5-wfsAU.snap | 6 ++--- ...pening__check_target_size@omT-dhP0.5-wfsBN.snap | 2 +- ...pening__check_target_size@omT-dhP0.5-wfsBU.snap | 4 +-- ...ndow_opening__check_target_size@omT-dhP0.5.snap | 4 +-- ...eck_target_size@omT-dwF1000-dhF500-b-wfsAN.snap | 4 +-- ...eck_target_size@omT-dwF1000-dhF500-b-wfsAU.snap | 6 ++--- ...eck_target_size@omT-dwF1000-dhF500-b-wfsBN.snap | 2 +- ...eck_target_size@omT-dwF1000-dhF500-b-wfsBU.snap | 4 +-- ...ng__check_target_size@omT-dwF1000-dhF500-b.snap | 4 +-- ...check_target_size@omT-dwF1000-dhF500-wfsAN.snap | 4 +-- ...check_target_size@omT-dwF1000-dhF500-wfsAU.snap | 6 ++--- ...check_target_size@omT-dwF1000-dhF500-wfsBN.snap | 2 +- ...check_target_size@omT-dwF1000-dhF500-wfsBU.snap | 4 +-- ...ning__check_target_size@omT-dwF1000-dhF500.snap | 4 +-- ...eck_target_size@omT-dwF1000-dhP0.5-b-wfsAN.snap | 4 +-- ...eck_target_size@omT-dwF1000-dhP0.5-b-wfsAU.snap | 6 ++--- ...eck_target_size@omT-dwF1000-dhP0.5-b-wfsBN.snap | 2 +- ...eck_target_size@omT-dwF1000-dhP0.5-b-wfsBU.snap | 4 +-- ...ng__check_target_size@omT-dwF1000-dhP0.5-b.snap | 4 +-- ...check_target_size@omT-dwF1000-dhP0.5-wfsAN.snap | 4 +-- ...check_target_size@omT-dwF1000-dhP0.5-wfsAU.snap | 6 ++--- ...check_target_size@omT-dwF1000-dhP0.5-wfsBN.snap | 2 +- ...check_target_size@omT-dwF1000-dhP0.5-wfsBU.snap | 4 +-- ...ning__check_target_size@omT-dwF1000-dhP0.5.snap | 4 +-- ...eck_target_size@omT-dwP0.25-dhF500-b-wfsAN.snap | 4 +-- ...eck_target_size@omT-dwP0.25-dhF500-b-wfsAU.snap | 6 ++--- ...eck_target_size@omT-dwP0.25-dhF500-b-wfsBN.snap | 2 +- ...eck_target_size@omT-dwP0.25-dhF500-b-wfsBU.snap | 4 +-- ...ng__check_target_size@omT-dwP0.25-dhF500-b.snap | 4 +-- ...check_target_size@omT-dwP0.25-dhF500-wfsAN.snap | 4 +-- ...check_target_size@omT-dwP0.25-dhF500-wfsAU.snap | 6 ++--- ...check_target_size@omT-dwP0.25-dhF500-wfsBN.snap | 2 +- ...check_target_size@omT-dwP0.25-dhF500-wfsBU.snap | 4 +-- ...ning__check_target_size@omT-dwP0.25-dhF500.snap | 4 +-- ...eck_target_size@omT-dwP0.25-dhP0.5-b-wfsAN.snap | 4 +-- ...eck_target_size@omT-dwP0.25-dhP0.5-b-wfsAU.snap | 6 ++--- ...eck_target_size@omT-dwP0.25-dhP0.5-b-wfsBN.snap | 2 +- ...eck_target_size@omT-dwP0.25-dhP0.5-b-wfsBU.snap | 4 +-- ...ng__check_target_size@omT-dwP0.25-dhP0.5-b.snap | 4 +-- ...check_target_size@omT-dwP0.25-dhP0.5-wfsAN.snap | 4 +-- ...check_target_size@omT-dwP0.25-dhP0.5-wfsAU.snap | 6 ++--- ...check_target_size@omT-dwP0.25-dhP0.5-wfsBN.snap | 2 +- ...check_target_size@omT-dwP0.25-dhP0.5-wfsBU.snap | 4 +-- ...ning__check_target_size@omT-dwP0.25-dhP0.5.snap | 4 +-- ...__check_target_size@omT-dwU-dhF500-b-wfsAN.snap | 4 +-- ...__check_target_size@omT-dwU-dhF500-b-wfsAU.snap | 6 ++--- ...__check_target_size@omT-dwU-dhF500-b-wfsBN.snap | 2 +- ...__check_target_size@omT-dwU-dhF500-b-wfsBU.snap | 4 +-- ...pening__check_target_size@omT-dwU-dhF500-b.snap | 4 +-- ...ng__check_target_size@omT-dwU-dhF500-wfsAN.snap | 4 +-- ...ng__check_target_size@omT-dwU-dhF500-wfsAU.snap | 6 ++--- ...ng__check_target_size@omT-dwU-dhF500-wfsBN.snap | 2 +- ...ng__check_target_size@omT-dwU-dhF500-wfsBU.snap | 4 +-- ..._opening__check_target_size@omT-dwU-dhF500.snap | 4 +-- ...__check_target_size@omT-dwU-dhP0.5-b-wfsAN.snap | 4 +-- ...__check_target_size@omT-dwU-dhP0.5-b-wfsAU.snap | 6 ++--- ...__check_target_size@omT-dwU-dhP0.5-b-wfsBN.snap | 2 +- ...__check_target_size@omT-dwU-dhP0.5-b-wfsBU.snap | 4 +-- ...pening__check_target_size@omT-dwU-dhP0.5-b.snap | 4 +-- ...ng__check_target_size@omT-dwU-dhP0.5-wfsAN.snap | 4 +-- ...ng__check_target_size@omT-dwU-dhP0.5-wfsAU.snap | 6 ++--- ...ng__check_target_size@omT-dwU-dhP0.5-wfsBN.snap | 2 +- ...ng__check_target_size@omT-dwU-dhP0.5-wfsBU.snap | 4 +-- ..._opening__check_target_size@omT-dwU-dhP0.5.snap | 4 +-- src/window/unmapped.rs | 5 ++++ wiki/Configuration:-Window-Rules.md | 12 ++++++--- 488 files changed, 943 insertions(+), 876 deletions(-) diff --git a/niri-visual-tests/src/cases/layout.rs b/niri-visual-tests/src/cases/layout.rs index 3fcdb6c5..e0b4bb9a 100644 --- a/niri-visual-tests/src/cases/layout.rs +++ b/niri-visual-tests/src/cases/layout.rs @@ -172,6 +172,7 @@ impl Layout { window.clone(), AddWindowTarget::Auto, width, + None, false, false, ActivateWindow::default(), @@ -199,6 +200,7 @@ impl Layout { window.clone(), AddWindowTarget::NextTo(right_of.id()), width, + None, false, false, ActivateWindow::default(), diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs index ff927531..dec86929 100644 --- a/src/handlers/compositor.rs +++ b/src/handlers/compositor.rs @@ -97,10 +97,11 @@ impl CompositorHandler for State { let toplevel = window.toplevel().expect("no X11 support"); - let (rules, width, is_full_width, output, workspace_id) = + let (rules, width, height, is_full_width, output, workspace_id) = if let InitialConfigureState::Configured { rules, width, + height, floating_width: _, floating_height: _, is_full_width, @@ -118,10 +119,10 @@ impl CompositorHandler for State { .and_then(|n| self.niri.layout.find_workspace_by_name(n)) .map(|(_, ws)| ws.id()); - (rules, width, is_full_width, output, workspace_id) + (rules, width, height, is_full_width, output, workspace_id) } else { error!("window map must happen after initial configure"); - (ResolvedWindowRules::empty(), None, false, None, None) + (ResolvedWindowRules::empty(), None, None, false, None, None) }; // The GTK about dialog sets min/max size after the initial configure but @@ -189,6 +190,7 @@ impl CompositorHandler for State { mapped, target, width, + height, is_full_width, is_floating, activate, diff --git a/src/handlers/xdg_shell.rs b/src/handlers/xdg_shell.rs index 62eafb1b..e6167b0a 100644 --- a/src/handlers/xdg_shell.rs +++ b/src/handlers/xdg_shell.rs @@ -505,6 +505,7 @@ impl XdgShellHandler for State { InitialConfigureState::Configured { rules, width, + height, floating_width, floating_height, is_full_width, @@ -569,7 +570,11 @@ impl XdgShellHandler for State { } else { *width }; - let configure_height = if is_floating { *floating_height } else { None }; + let configure_height = if is_floating { + *floating_height + } else { + *height + }; ws.configure_new_window( &unmapped.window, configure_width, @@ -854,6 +859,7 @@ impl State { let mut width = None; let mut floating_width = None; + let mut height = None; let mut floating_height = None; let is_full_width = rules.open_maximized.unwrap_or(false); let is_floating = rules.compute_open_floating(toplevel); @@ -880,6 +886,7 @@ impl State { width = ws.resolve_default_width(rules.default_width, false); floating_width = ws.resolve_default_width(rules.default_width, true); + height = ws.resolve_default_height(rules.default_height, false); floating_height = ws.resolve_default_height(rules.default_height, true); let configure_width = if is_floating { @@ -889,7 +896,7 @@ impl State { } else { width }; - let configure_height = if is_floating { floating_height } else { None }; + let configure_height = if is_floating { floating_height } else { height }; ws.configure_new_window( window, configure_width, @@ -914,6 +921,7 @@ impl State { *state = InitialConfigureState::Configured { rules, width, + height, floating_width, floating_height, is_full_width, diff --git a/src/layout/mod.rs b/src/layout/mod.rs index 2e05392d..97d3d1e1 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -839,16 +839,23 @@ impl Layout { /// Adds a new window to the layout. /// /// Returns an output that the window was added to, if there were any outputs. + #[allow(clippy::too_many_arguments)] pub fn add_window( &mut self, window: W, target: AddWindowTarget, width: Option, + height: Option, is_full_width: bool, is_floating: bool, activate: ActivateWindow, ) -> Option<&Output> { let resolved_width = self.resolve_default_width(&window, width, is_floating); + let resolved_height = height.map(|h| match h { + PresetSize::Proportion(prop) => SizeChange::SetProportion(prop * 100.), + PresetSize::Fixed(fixed) => SizeChange::SetFixed(fixed), + }); + let id = window.id().clone(); match &mut self.monitor_set { MonitorSet::Normal { @@ -927,6 +934,18 @@ impl Layout { *active_monitor_idx = mon_idx; } + // Set the default height for scrolling windows. + if !is_floating { + if let Some(change) = resolved_height { + let ws = mon + .workspaces + .iter_mut() + .find(|ws| ws.has_window(&id)) + .unwrap(); + ws.set_window_height(Some(&id), change); + } + } + Some(&mon.output) } MonitorSet::NoOutputs { workspaces } => { @@ -983,6 +1002,13 @@ impl Layout { is_floating, ); + // Set the default height for scrolling windows. + if !is_floating { + if let Some(change) = resolved_height { + ws.set_window_height(Some(&id), change); + } + } + None } } @@ -4693,6 +4719,7 @@ mod tests { win, AddWindowTarget::Auto, None, + None, false, params.is_floating, ActivateWindow::default(), @@ -4760,6 +4787,7 @@ mod tests { win, AddWindowTarget::NextTo(&next_to_id), None, + None, false, params.is_floating, ActivateWindow::default(), @@ -4832,6 +4860,7 @@ mod tests { win, AddWindowTarget::Workspace(ws_id), None, + None, false, params.is_floating, ActivateWindow::default(), diff --git a/src/layout/scrolling.rs b/src/layout/scrolling.rs index 6fa6fbfc..10101cca 100644 --- a/src/layout/scrolling.rs +++ b/src/layout/scrolling.rs @@ -399,6 +399,7 @@ impl ScrollingSpace { pub fn new_window_size( &self, width: Option, + height: Option, rules: &ResolvedWindowRules, ) -> Size { let border = rules.border.resolve_against(self.options.border); @@ -417,11 +418,27 @@ impl ScrollingSpace { 0 }; - let mut height = self.working_area.size.h - self.options.gaps * 2.; + let mut full_height = self.working_area.size.h - self.options.gaps * 2.; if !border.off { - height -= border.width.0 * 2.; + full_height -= border.width.0 * 2.; } + let height = if let Some(height) = height { + let height = match resolve_preset_size(height, &self.options, self.working_area.size.h) + { + ResolvedSize::Tile(mut size) => { + if !border.off { + size -= border.width.0 * 2.; + } + size + } + ResolvedSize::Window(size) => size, + }; + f64::min(height, full_height) + } else { + full_height + }; + Size::from((width, max(height.floor() as i32, 1))) } diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index 0e67f3b3..c77fb44f 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -740,7 +740,7 @@ impl Workspace { let mut size = if is_floating { self.floating.new_window_size(width, height, rules) } else { - self.scrolling.new_window_size(width, rules) + self.scrolling.new_window_size(width, height, rules) }; // If the window has a fixed size, or we're picking some fixed size, apply min and max diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsAN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsAN.snap index 0a8c7010..20a7266e 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsAN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsAN.snap @@ -5,11 +5,11 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 608 × 680, bounds: 1240 × 680, states: [] +size: 608 × 500, bounds: 1240 × 680, states: [] post-map configures: size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen] size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen, Activated] unfullscreen configure: -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsAU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsAU.snap index f11476a4..3a935187 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsAU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsAU.snap @@ -5,8 +5,8 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 608 × 680, bounds: 1240 × 680, states: [] +size: 608 × 500, bounds: 1240 × 680, states: [] post-map configures: -size: 608 × 680, bounds: 1240 × 680, states: [] -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 500, bounds: 1240 × 680, states: [] +size: 608 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsBN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsBN.snap index fe0b226b..0911b50c 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsBN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsBN.snap @@ -11,4 +11,4 @@ post-map configures: size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen, Activated] unfullscreen configure: -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsBU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsBU.snap index 2c9a690b..61e360b1 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsBU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b-wfsBU.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 608 × 680, bounds: 1240 × 680, states: [] +size: 608 × 500, bounds: 1240 × 680, states: [] post-map configures: -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b.snap index 8407c039..96e2a309 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-b.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 608 × 680, bounds: 1240 × 680, states: [] +size: 608 × 500, bounds: 1240 × 680, states: [] post-map configures: -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsAN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsAN.snap index d123b357..487f814a 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsAN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsAN.snap @@ -5,11 +5,11 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 616 × 688, bounds: 1248 × 688, states: [] +size: 616 × 500, bounds: 1248 × 688, states: [] post-map configures: size: 1280 × 720, bounds: 1248 × 688, states: [Fullscreen] size: 1280 × 720, bounds: 1248 × 688, states: [Fullscreen, Activated] unfullscreen configure: -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsAU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsAU.snap index fdce4fac..d551b1ad 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsAU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsAU.snap @@ -5,8 +5,8 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 616 × 688, bounds: 1248 × 688, states: [] +size: 616 × 500, bounds: 1248 × 688, states: [] post-map configures: -size: 616 × 688, bounds: 1248 × 688, states: [] -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 500, bounds: 1248 × 688, states: [] +size: 616 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsBN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsBN.snap index d8263aa9..c13bdde0 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsBN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsBN.snap @@ -11,4 +11,4 @@ post-map configures: size: 1280 × 720, bounds: 1248 × 688, states: [Fullscreen, Activated] unfullscreen configure: -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsBU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsBU.snap index 7a8762e0..0a52d908 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsBU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500-wfsBU.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 616 × 688, bounds: 1248 × 688, states: [] +size: 616 × 500, bounds: 1248 × 688, states: [] post-map configures: -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500.snap index 0efb2a82..43e0d50c 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhF500.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 616 × 688, bounds: 1248 × 688, states: [] +size: 616 × 500, bounds: 1248 × 688, states: [] post-map configures: -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsAN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsAN.snap index 6bf3dd9f..86e3d2ac 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsAN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsAN.snap @@ -5,11 +5,11 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 608 × 680, bounds: 1240 × 680, states: [] +size: 608 × 328, bounds: 1240 × 680, states: [] post-map configures: size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen] size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen, Activated] unfullscreen configure: -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 328, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsAU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsAU.snap index c3afa15b..3c2692dd 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsAU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsAU.snap @@ -5,8 +5,8 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 608 × 680, bounds: 1240 × 680, states: [] +size: 608 × 328, bounds: 1240 × 680, states: [] post-map configures: -size: 608 × 680, bounds: 1240 × 680, states: [] -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 328, bounds: 1240 × 680, states: [] +size: 608 × 328, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsBN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsBN.snap index a531d1f8..09e86293 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsBN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsBN.snap @@ -11,4 +11,4 @@ post-map configures: size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen, Activated] unfullscreen configure: -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 328, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsBU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsBU.snap index 13ed4fe5..6684668f 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsBU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b-wfsBU.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 608 × 680, bounds: 1240 × 680, states: [] +size: 608 × 328, bounds: 1240 × 680, states: [] post-map configures: -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 328, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b.snap index 06cc0a9a..adb22d11 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-b.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 608 × 680, bounds: 1240 × 680, states: [] +size: 608 × 328, bounds: 1240 × 680, states: [] post-map configures: -size: 608 × 680, bounds: 1240 × 680, states: [Activated] +size: 608 × 328, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsAN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsAN.snap index 334fae1b..606ae8bf 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsAN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsAN.snap @@ -5,11 +5,11 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 616 × 688, bounds: 1248 × 688, states: [] +size: 616 × 336, bounds: 1248 × 688, states: [] post-map configures: size: 1280 × 720, bounds: 1248 × 688, states: [Fullscreen] size: 1280 × 720, bounds: 1248 × 688, states: [Fullscreen, Activated] unfullscreen configure: -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 336, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsAU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsAU.snap index 81ef8e3c..562ce034 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsAU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsAU.snap @@ -5,8 +5,8 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 616 × 688, bounds: 1248 × 688, states: [] +size: 616 × 336, bounds: 1248 × 688, states: [] post-map configures: -size: 616 × 688, bounds: 1248 × 688, states: [] -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 336, bounds: 1248 × 688, states: [] +size: 616 × 336, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsBN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsBN.snap index 0c1a7b63..184a5ad1 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsBN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsBN.snap @@ -11,4 +11,4 @@ post-map configures: size: 1280 × 720, bounds: 1248 × 688, states: [Fullscreen, Activated] unfullscreen configure: -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 336, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsBU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsBU.snap index f9e53a81..60abf689 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsBU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5-wfsBU.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 616 × 688, bounds: 1248 × 688, states: [] +size: 616 × 336, bounds: 1248 × 688, states: [] post-map configures: -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 336, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5.snap index d2b7b748..22223dae 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dhP0.5.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 616 × 688, bounds: 1248 × 688, states: [] +size: 616 × 336, bounds: 1248 × 688, states: [] post-map configures: -size: 616 × 688, bounds: 1248 × 688, states: [Activated] +size: 616 × 336, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsAN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsAN.snap index 8e5af584..09db7ca8 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsAN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsAN.snap @@ -5,11 +5,11 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 680, bounds: 1240 × 680, states: [] +size: 1000 × 500, bounds: 1240 × 680, states: [] post-map configures: size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen] size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen, Activated] unfullscreen configure: -size: 1000 × 680, bounds: 1240 × 680, states: [Activated] +size: 1000 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsAU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsAU.snap index 5b887e03..68144a05 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsAU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsAU.snap @@ -5,8 +5,8 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 680, bounds: 1240 × 680, states: [] +size: 1000 × 500, bounds: 1240 × 680, states: [] post-map configures: -size: 1000 × 680, bounds: 1240 × 680, states: [] -size: 1000 × 680, bounds: 1240 × 680, states: [Activated] +size: 1000 × 500, bounds: 1240 × 680, states: [] +size: 1000 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsBN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsBN.snap index 162846d1..d8799761 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsBN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsBN.snap @@ -11,4 +11,4 @@ post-map configures: size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen, Activated] unfullscreen configure: -size: 1000 × 680, bounds: 1240 × 680, states: [Activated] +size: 1000 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsBU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsBU.snap index 7db9c101..39482da0 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsBU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b-wfsBU.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 680, bounds: 1240 × 680, states: [] +size: 1000 × 500, bounds: 1240 × 680, states: [] post-map configures: -size: 1000 × 680, bounds: 1240 × 680, states: [Activated] +size: 1000 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b.snap index 808e57c8..abf3077b 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-b.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 680, bounds: 1240 × 680, states: [] +size: 1000 × 500, bounds: 1240 × 680, states: [] post-map configures: -size: 1000 × 680, bounds: 1240 × 680, states: [Activated] +size: 1000 × 500, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsAN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsAN.snap index 59ff268d..32ebbccb 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsAN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsAN.snap @@ -5,11 +5,11 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 688, bounds: 1248 × 688, states: [] +size: 1000 × 500, bounds: 1248 × 688, states: [] post-map configures: size: 1280 × 720, bounds: 1248 × 688, states: [Fullscreen] size: 1280 × 720, bounds: 1248 × 688, states: [Fullscreen, Activated] unfullscreen configure: -size: 1000 × 688, bounds: 1248 × 688, states: [Activated] +size: 1000 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsAU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsAU.snap index 7709c5e3..7a038897 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsAU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsAU.snap @@ -5,8 +5,8 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 688, bounds: 1248 × 688, states: [] +size: 1000 × 500, bounds: 1248 × 688, states: [] post-map configures: -size: 1000 × 688, bounds: 1248 × 688, states: [] -size: 1000 × 688, bounds: 1248 × 688, states: [Activated] +size: 1000 × 500, bounds: 1248 × 688, states: [] +size: 1000 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsBN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsBN.snap index a811bc43..64c3b985 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsBN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsBN.snap @@ -11,4 +11,4 @@ post-map configures: size: 1280 × 720, bounds: 1248 × 688, states: [Fullscreen, Activated] unfullscreen configure: -size: 1000 × 688, bounds: 1248 × 688, states: [Activated] +size: 1000 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsBU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsBU.snap index 01fcdff7..de322469 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsBU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500-wfsBU.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 688, bounds: 1248 × 688, states: [] +size: 1000 × 500, bounds: 1248 × 688, states: [] post-map configures: -size: 1000 × 688, bounds: 1248 × 688, states: [Activated] +size: 1000 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500.snap index ac407f9e..ccd55655 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhF500.snap @@ -5,7 +5,7 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 688, bounds: 1248 × 688, states: [] +size: 1000 × 500, bounds: 1248 × 688, states: [] post-map configures: -size: 1000 × 688, bounds: 1248 × 688, states: [Activated] +size: 1000 × 500, bounds: 1248 × 688, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhP0.5-b-wfsAN.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhP0.5-b-wfsAN.snap index 605f3a9c..7002ad72 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhP0.5-b-wfsAN.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhP0.5-b-wfsAN.snap @@ -5,11 +5,11 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 680, bounds: 1240 × 680, states: [] +size: 1000 × 328, bounds: 1240 × 680, states: [] post-map configures: size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen] size: 1280 × 720, bounds: 1240 × 680, states: [Fullscreen, Activated] unfullscreen configure: -size: 1000 × 680, bounds: 1240 × 680, states: [Activated] +size: 1000 × 328, bounds: 1240 × 680, states: [Activated] diff --git a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhP0.5-b-wfsAU.snap b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhP0.5-b-wfsAU.snap index c4bb69ae..acc9e267 100644 --- a/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhP0.5-b-wfsAU.snap +++ b/src/tests/snapshots/niri__tests__window_opening__check_target_size@dwF1000-dhP0.5-b-wfsAU.snap @@ -5,8 +5,8 @@ expression: snapshot snapshot_kind: text --- initial configure: -size: 1000 × 680, bounds: 1240 × 680, states: [] +size: 1000 × 328, bounds: 1240 × 680, states: [] post-map configures: -size: 1000 × 680, bounds: 1240 × 6