| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-02-24 | Also check pointer for activation token validity | Ivan Molodetskikh | |
| This actually doesn't matter in most cases currently, because it more or less checks for *anything* to have a keyboard focus, so if you have some focused window while clicking on a mako notification, that already qualifies. Signed-off-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
| 2025-02-17 | Make idle notify lazy | Ivan Molodetskikh | |
| 2025-02-15 | Implement scrolling the view during DnD | Ivan Molodetskikh | |
| DnD is external to the layout, so we just inform it when one is ongoing. | |||
| 2025-02-14 | Implement ext-data-control | Ivan Molodetskikh | |
| 2025-02-14 | Update Smithay (idle-notify 2) | Ivan Molodetskikh | |
| 2025-02-05 | mapped: Add needs_configure flag | Ivan Molodetskikh | |
| Allows to de-duplicate configures from requests that require one. | |||
| 2025-02-05 | Fix find_window_and_output() returning None with no outputs | Ivan Molodetskikh | |
| As far as I can tell, this would mess up a ton of the logic. Not sure how anything worked with no outputs before? | |||
| 2025-01-31 | Take border into account for fixed preset-column-width for tiled windows | Ivan Molodetskikh | |
| 2025-01-27 | Extract Niri::insert_client() | Ivan Molodetskikh | |
| 2025-01-25 | Add clipboard disable-primary setting | peelz | |
| 2025-01-23 | Add find_root_shell_surface() that goes through popups | Ivan Molodetskikh | |
| 2025-01-21 | Implement shadows for layer surfaces | Ivan Molodetskikh | |
| 2025-01-18 | implement `keyboard-shortcuts-inhibit` and `wlr-virtual-pointer` (#630) | sodiboo | |
| * stub keyboard-shortcuts-inhibit and virtual-pointer impls * implement keyboard-shortcuts-inhibit * implement virtual-pointer * deal with supressed key release edge-case; add allow-inhibiting property * add toggle-keyboard-shortcuts-inhibit bind * add InputBackend extensions; use Device::output() for absolute pos events * add a `State` parameter to the backend exts and better document future intent * Add some tests for is_inhibiting_shortcuts --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
| 2025-01-10 | Fix new Clippy warnings | Ivan Molodetskikh | |
| 2025-01-04 | Migrate to new Rectangle functions | Ivan Molodetskikh | |
| 2025-01-03 | Clear on-demand layer-shell focus in more cases | Ivan Molodetskikh | |
| 2025-01-03 | Allow pop-up grabs for bottom and background layers | Ivan Molodetskikh | |
| 2025-01-02 | skip keyboard focus for layer shell surfaces not... | Christian Meissl | |
| ...requesting keyboard interactivity | |||
| 2025-01-02 | xdg: do not focus unmapped popup on grab | Christian Meissl | |
| a grab is requested for an unmapped popup, delay focusing the popup until the first keyboard interaction | |||
| 2024-12-30 | Implement default-window-height for scrolling windows | Ivan Molodetskikh | |
| 2024-12-30 | Dump post-unfullscreen configure in snapshot tests | Ivan Molodetskikh | |
| 2024-12-30 | Disable double-resize-click for floating windows | Ivan Molodetskikh | |
| 2024-12-30 | Implement buffer delta for toplevels | Ivan Molodetskikh | |
| 2024-12-30 | Implement default-window-height window rule | Ivan Molodetskikh | |
| Only works for floats that aren't initially fullscreen atm. | |||
| 2024-12-30 | floating: Support default-column-width in most cases | Ivan Molodetskikh | |
| open-fullscreen + open-floating default width is still not supported in this commit. | |||
| 2024-12-30 | Add open-focused window rule | Ivan Molodetskikh | |
| 2024-12-30 | layout: Refactor window opening targets | Ivan Molodetskikh | |
| 2024-12-30 | Implement floating child stacking above parents | Ivan Molodetskikh | |
| 2024-12-30 | Initial WIP floating window implementation | Ivan Molodetskikh | |
| 2024-12-22 | Add test-only single-pixel-buffer support | 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-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-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-22 | Focus target window/output on DnD | Ivan Molodetskikh | |
| In sway, focus-follows-mouse keeps working during DnD, but not in niri. So it can be surprising when you DnD something into another app, but it doesn't get automatically focused. This commit fixes that. Even if the DnD is not validated, or if there's no target surface (e.g. dropped on the niri background), focus the target output, since that's how Firefox's drag-tab-into-new-window works for example. | |||
| 2024-11-14 | Implement layer rules: opacity and block-out-from | Ivan Molodetskikh | |
| 2024-11-12 | Add PID to Window IPC | Ivan Molodetskikh | |
| 2024-11-03 | xdg: cleanup activation tokens | Christian Meissl | |
| valid tokens will stay around until explicitly cleaned-up. remove the token after it has been successfully used or we consider it timed out to prevent leaking the memory used by the activation tokens | |||
| 2024-11-03 | Remove pointer_grab_ongoing in favor of checking the actual grab | Ivan Molodetskikh | |
| 2024-11-03 | Use is() instead of downcast().is_some() | Ivan Molodetskikh | |
| 2024-11-03 | Correct pointer constraint activation logic | Ivan Molodetskikh | |
| Internally it uses the pointer focus, so make sure we have up-to-date focus before setting it. | |||
| 2024-11-03 | Rename pointer_focus to pointer_contents, clarify comments | Ivan Molodetskikh | |
| This is not pointer focus and it shouldn't be pointer focus, let's be clear about it. | |||
| 2024-11-02 | Replace current_state() with with_toplevel_role() | Ivan Molodetskikh | |
| Avoid microallocations that happen in current_state(). | |||
| 2024-10-28 | Deny toplevel move from DnD grabs | Ivan Molodetskikh | |
| Work around https://gitlab.gnome.org/GNOME/gtk/-/issues/7113 | |||
| 2024-10-27 | Implement touch interactive resize | Ivan Molodetskikh | |
| 2024-10-27 | Implement touch interactive move | Ivan Molodetskikh | |
| 2024-10-27 | Implement interactive window move | Rasmus Eneman | |
| 2024-10-10 | layout: Replace move_window_to_output with move_to_output | Ivan Molodetskikh | |
| 2024-10-10 | layout: Reduce field visibility | Ivan Molodetskikh | |
| The outside code isn't supposed to mess with the fields. | |||
| 2024-10-06 | implement locked cursor position hints (#685) | sodiboo | |
| * implement cursor position hints * Remove redundant fully qualified path * Find root surface * Convert nesting to if-return * Manually wrap error messages * Remove error!() prints * Add queue redraw --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
