| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-12-30 | floating: Implement directional move | Ivan Molodetskikh | |
| 2024-12-30 | layout/floating: Extract move_and_animate() | Ivan Molodetskikh | |
| 2024-12-30 | floating: Implement center_window() | Ivan Molodetskikh | |
| 2024-12-30 | floating: Implement directional focus | Ivan Molodetskikh | |
| 2024-12-30 | layout: Implement focus_right_or_first() generically | Ivan Molodetskikh | |
| 2024-12-30 | Extract center_preferring_top_left_in_area() | Ivan Molodetskikh | |
| 2024-12-30 | layout/floating: Move a function higher up | Ivan Molodetskikh | |
| Let's group action functions together. Activate is an action and set width/height too. | |||
| 2024-12-30 | Stub out actions when floating is active | Ivan Molodetskikh | |
| Make sure they don't go to the unfocused scrolling layout at least. | |||
| 2024-12-30 | floating: Implement smarter clamping for window location | Ivan Molodetskikh | |
| A small part of the window always remains on-screen regardless of the working area changes. Interactive move lets the user position the window anywhere; automatic actions like toggle-window-floating and dialog opening try to put the window fully on-screen. The size-fraction canonical floating window position remains unclamped, and clamping happens when recomputing the logical position. | |||
| 2024-12-30 | Make right click during move toggle floating | Ivan Molodetskikh | |
| 2024-12-30 | Stop move grab when the start button is released | Ivan Molodetskikh | |
| Rather than when all buttons are released. | |||
| 2024-12-30 | Implement floating child stacking above parents | Ivan Molodetskikh | |
| 2024-12-30 | layout: Extract TestWindowParams | Ivan Molodetskikh | |
| 2024-12-30 | Make interactive move keep in the same layout (floating/tiling) | Ivan Molodetskikh | |
| 2024-12-30 | Always honor min height in new window size | Ivan Molodetskikh | |
| 2024-12-30 | Honor min/max size in more places like initial configure | Ivan Molodetskikh | |
| 2024-12-30 | Initial WIP floating window implementation | Ivan Molodetskikh | |
| 2024-12-30 | Update for Smithay VRR changes | Ivan Molodetskikh | |
| 2024-12-30 | Update Smithay (presentation-time v2) | Ivan Molodetskikh | |
| 2024-12-22 | Implement client-server test infra and window opening tests | Ivan 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-22 | Add test-only single-pixel-buffer support | Ivan Molodetskikh | |
| 2024-12-22 | Add a Headless backend for tests | Ivan Molodetskikh | |
| Rendering and stuff is unimplemented. | |||
| 2024-12-22 | Switch from k9 to insta for snapshot testing | Ivan Molodetskikh | |
| We'll need some advanced features from insta. | |||
| 2024-12-22 | Initialize PipeWire lazily | Ivan 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-22 | Bump MSRV to `1.80` | bbb651 | |
| It should be old enough for most distros, and allows upgrading to `zbus 5.x` | |||
| 2024-12-22 | fix: check for layer surface under cursor when clicking | Rémi Labeyrie | |
| 2024-12-17 | Add force-pipewire-invalid-modifier debug flag | Ivan Molodetskikh | |
| 2024-12-15 | Add missing blank line | Ivan Molodetskikh | |
| 2024-12-11 | Activate 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-09 | Extract rules.apply_{min,max}_size() | Ivan Molodetskikh | |
| 2024-12-08 | layout: Return instead of breaking | Ivan Molodetskikh | |
| There's no code past this, and we want to break out of all loops. | |||
| 2024-12-08 | layout: Return bool from activate_window() | Ivan Molodetskikh | |
| Avoid an extra has_window() call. | |||
| 2024-12-07 | layout: Ignore more actions during interactive move | Ivan Molodetskikh | |
| The interactively moved window is the active window, so this makes sense. | |||
| 2024-12-07 | layout: Extract Tile::verify_invariants() | Ivan Molodetskikh | |
| 2024-12-07 | layout: Mark accessors as cfg(test) | Ivan Molodetskikh | |
| 2024-12-01 | layout: Extract ScrollingSpace | Ivan 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-01 | layout: Add a test for windows on other workspace remaining activated | Ivan Molodetskikh | |
| 2024-12-01 | layout: Fix windows on other workspaces losing activated state | Ivan Molodetskikh | |
| This erroneous check was introduced in interactive move. | |||
| 2024-12-01 | layout: Fix possible crash when dropping move on different, animating output | Ivan Molodetskikh | |
| 2024-12-01 | layout: Correct variable names | Ivan Molodetskikh | |
| 2024-12-01 | layout: Use tiles_mut() in Workspace::clear_unmap_snapshot() | Ivan Molodetskikh | |
| 2024-12-01 | layout: Extract Workspace::tiles() | Ivan Molodetskikh | |
| 2024-11-29 | Add strict-new-window-focus-policy debug flag | Ivan Molodetskikh | |
| 2024-11-29 | Activate newly mapped windows with a valid activation token | Christian 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-29 | xdg: startup activation | Christian Meissl | |
| pass an activation token to process spawned through actions | |||
| 2024-11-29 | Fix new warnings | Ivan Molodetskikh | |
| 2024-11-29 | Implement 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-27 | layout: Stop workspace switch when moving workspaces to primary | Ivan 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-26 | layout/tests: Add post option update to randomized test | Ivan Molodetskikh | |
| Will help to catch cases where updating options doesn't update the state correctly. | |||
| 2024-11-26 | layout: Fix adjusting for scale for moved tile when reloading config | Ivan Molodetskikh | |
