aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-12-30layout: Extract TestWindowParamsIvan Molodetskikh
2024-12-30Make interactive move keep in the same layout (floating/tiling)Ivan Molodetskikh
2024-12-30Always honor min height in new window sizeIvan Molodetskikh
2024-12-30Honor min/max size in more places like initial configureIvan Molodetskikh
2024-12-30Initial WIP floating window implementationIvan Molodetskikh
2024-12-30temp: Use patched Smithay (fix VRR cursor-plane-only)Ivan Molodetskikh
2024-12-30Update for Smithay VRR changesIvan Molodetskikh
2024-12-30Update Smithay (presentation-time v2)Ivan Molodetskikh
2024-12-27config: Fix border rule on -> off mergingIvan Molodetskikh
2024-12-27config: Add a test for border rule on/off mergingIvan Molodetskikh
2024-12-26Fix nix flake for client-server tests (#896)Maximilian Huber
This was suggested by @sodiboo in https://github.com/YaLTeR/niri/issues/894#issuecomment-2562153840 and was copied from https://github.com/sodiboo/niri-flake/commit/350e6b68c70f5002a75e10521f5e66ace4b5eed1i Signed-off-by: Maximilian Huber <gh@maxhbr.de>
2024-12-23Update Configuration:-Key-Bindings.md (#893)Nathan
* Update Configuration:-Key-Bindings.md Added Leve5 notes with scant instruction on how to use. * Update wiki/Configuration:-Key-Bindings.md --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-12-22Implement client-server test infra and window opening testsIvan Molodetskikh
These tests make a real Niri instance and real Wayland clients (via manual wayland-rs implementation), both on the same event loop local to the test. This allows testing the full Wayland interaction, including arbitrary event ordering and delays. To start off, add a massive powerset test for the settings that influence where a window may open.
2024-12-22Add test-only single-pixel-buffer supportIvan Molodetskikh
2024-12-22Add a Headless backend for testsIvan Molodetskikh
Rendering and stuff is unimplemented.
2024-12-22Switch from k9 to insta for snapshot testingIvan Molodetskikh
We'll need some advanced features from insta.
2024-12-22Initialize PipeWire lazilyIvan Molodetskikh
This helps with: - System setups starting PipeWire late (after niri startup, but before any screencast). - Tests which don't even want to start PipeWire.
2024-12-22Bump MSRV to `1.80`bbb651
It should be old enough for most distros, and allows upgrading to `zbus 5.x`
2024-12-22Avoid implicit feature namesbbb651
2024-12-22fix: check for layer surface under cursor when clickingRémi Labeyrie
2024-12-20README: Replace Matrix badge with staticIvan Molodetskikh
The dynamic one broke recently.
2024-12-17Add force-pipewire-invalid-modifier debug flagIvan Molodetskikh
2024-12-15wiki: Change Since 0.1.11 to Since next releaseIvan Molodetskikh
2024-12-15Add missing blank lineIvan Molodetskikh
2024-12-11Use gtk Notification portalIvan Molodetskikh
xdg-gnome 47 now implements notifications via GNOME Shell API which we don't have. So force the gtk portal to make notifications work again.
2024-12-11Activate monitors on session unlock (#858)Salman Farooq
So that e.g. unlocking by touching the fingerprint reader powers on the monitors. --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> Co-authored-by: Salman Farooq <46742354+SalmanFarooqShiekh@users.noreply.github.com>
2024-12-09Extract rules.apply_{min,max}_size()Ivan Molodetskikh
2024-12-08layout: Return instead of breakingIvan Molodetskikh
There's no code past this, and we want to break out of all loops.
2024-12-08layout: Return bool from activate_window()Ivan Molodetskikh
Avoid an extra has_window() call.
2024-12-07layout: Ignore more actions during interactive moveIvan Molodetskikh
The interactively moved window is the active window, so this makes sense.
2024-12-07layout: Extract Tile::verify_invariants()Ivan Molodetskikh
2024-12-07layout: Mark accessors as cfg(test)Ivan Molodetskikh
2024-12-03nix: update flake.locksodiboo
2024-12-03nix: clang -> rustPlatform.bindgenHooksodiboo
2024-12-01layout: Extract ScrollingSpaceIvan Molodetskikh
Leave the Workspace to do the workspace parts, and extract the scrolling parts into a new file. This is a pre-requisite for things like the floating layer (which will live in a workspace alongside the scrolling layer). As part of this huge refactor, I found and fixed at least these issues: - Wrong horizontal popup unconstraining for a smaller window in an always-centered column. - Wrong workspace switch in focus_up_or_right().
2024-12-01layout: Add a test for windows on other workspace remaining activatedIvan Molodetskikh
2024-12-01layout: Fix windows on other workspaces losing activated stateIvan Molodetskikh
This erroneous check was introduced in interactive move.
2024-12-01layout: Fix possible crash when dropping move on different, animating outputIvan Molodetskikh
2024-12-01layout: Correct variable namesIvan Molodetskikh
2024-12-01layout: Use tiles_mut() in Workspace::clear_unmap_snapshot()Ivan Molodetskikh
2024-12-01layout: Extract Workspace::tiles()Ivan Molodetskikh
2024-11-29Add strict-new-window-focus-policy debug flagIvan Molodetskikh
2024-11-29Activate newly mapped windows with a valid activation tokenChristian Meissl
most of the time the activation token is passed while the window is still unmapped. in this case store the intend to activate the window for later retrieval on map.
2024-11-29xdg: startup activationChristian Meissl
pass an activation token to process spawned through actions
2024-11-29Fix new warningsIvan Molodetskikh
2024-11-29Implement empty-workspace-above-first (#745)FluxTape
* Implement empty-workspace-above-first option * add two failing tests * fix interactive_move_onto_empty_output_ewaf and interactive_move_onto_first_empty_workspace tests * Add two failing ewaf option toggle tests * Fix adding/removing first empty workspace on option toggle * Don't remove first empty workspace if focused * Stop workspace switch when enabling ewaf * layout/monitor: Offset workspace switch on adding workspace above * Fix some initial active workspace ids with ewaf * wiki: Document empty-workspace-above-first --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-11-27layout: Stop workspace switch when moving workspaces to primaryIvan Molodetskikh
Okay, this might be one of the oldest layout issues to have remained uncaught. Well, maybe as I add more randomized tests, I'll catch even more of those.
2024-11-26layout/tests: Add post option update to randomized testIvan Molodetskikh
Will help to catch cases where updating options doesn't update the state correctly.
2024-11-26layout: Fix adjusting for scale for moved tile when reloading configIvan Molodetskikh
2024-11-26layout/tests: Return Layout from check_ops()Ivan Molodetskikh
Cuts down on boilerplate in a few places.