aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-09-02 08:07:22 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-10-15 09:04:16 +0300
commite1fad994da9565b43c7fb139cb2fb7bf404cc320 (patch)
tree305fa0714d66ad2b4346b3aee6eb785099b29fa1
parente5d4e7c1b1a0b61770b6711a53fe41920d56452d (diff)
downloadniri-e1fad994da9565b43c7fb139cb2fb7bf404cc320.tar.gz
niri-e1fad994da9565b43c7fb139cb2fb7bf404cc320.tar.bz2
niri-e1fad994da9565b43c7fb139cb2fb7bf404cc320.zip
Implement maximize-to-edges (true Wayland maximize)
-rw-r--r--niri-config/src/binds.rs7
-rw-r--r--niri-config/src/lib.rs1
-rw-r--r--niri-config/src/window_rule.rs2
-rw-r--r--niri-ipc/src/lib.rs8
-rw-r--r--niri-visual-tests/src/cases/layout.rs6
-rw-r--r--niri-visual-tests/src/cases/window.rs10
-rw-r--r--niri-visual-tests/src/test_window.rs18
-rw-r--r--src/handlers/compositor.rs91
-rw-r--r--src/handlers/mod.rs14
-rw-r--r--src/handlers/xdg_shell.rs234
-rw-r--r--src/input/mod.rs17
-rw-r--r--src/layout/floating.rs13
-rw-r--r--src/layout/mod.rs73
-rw-r--r--src/layout/scrolling.rs363
-rw-r--r--src/layout/tests.rs163
-rw-r--r--src/layout/tile.rs171
-rw-r--r--src/layout/workspace.rs131
-rw-r--r--src/niri.rs13
-rw-r--r--src/protocols/foreign_toplevel.rs8
-rw-r--r--src/tests/client.rs8
-rw-r--r--src/tests/floating.rs279
-rw-r--r--src/tests/fullscreen.rs42
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAN-wmA.snap18
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAN-wmAU.snap15
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAN-wmB.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAN-wmBU.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAN.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAU-wmA.snap15
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAU-wmAU.snap12
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAU-wmB.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAU-wmBU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBN-wmA.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBN-wmAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBN-wmB.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBN-wmBU.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBN.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBU-wmA.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBU-wmAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBU-wmB.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBU-wmBU.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wfsBU.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wmA.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wmAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wmB.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF-wmBU.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmF.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAN-wmA.snap18
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAN-wmAU.snap15
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAN-wmB.snap17
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAN-wmBU.snap17
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAN.snap17
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAU-wmA.snap15
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAU-wmAU.snap12
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAU-wmB.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAU-wmBU.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsAU.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBN-wmA.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBN-wmAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBN-wmB.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBN-wmBU.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBN.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBU-wmA.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBU-wmAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBU-wmB.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBU-wmBU.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wfsBU.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wmA.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wmAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wmB.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT-wmBU.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-tmT.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAN-wmA.snap18
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAN-wmAU.snap15
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAN-wmB.snap17
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAN-wmBU.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAN.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAU-wmA.snap15
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAU-wmAU.snap12
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAU-wmB.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAU-wmBU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBN-wmA.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBN-wmAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBN-wmB.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBN-wmBU.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBN.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBU-wmA.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBU-wmAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBU-wmB.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBU-wmBU.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wfsBU.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wmA.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wmAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wmB.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF-wmBU.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsF.snap10
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAN-wmA.snap18
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAN-wmAU.snap15
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAN-wmB.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAN-wmBU.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAN.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAU-wmA.snap15
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAU-wmAU.snap12
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAU-wmB.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAU-wmBU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsAU.snap11
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsBN-wmA.snap17
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsBN-wmAU.snap14
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsBN-wmB.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsBN-wmBU.snap13
-rw-r--r--src/tests/snapshots/niri__tests__window_opening__check_fullscreen_maximize@fsT-tmF-wfsBN.snap13