aboutsummaryrefslogtreecommitdiff
path: root/src/handlers/mod.rs
AgeCommit message (Collapse)Author
2025-10-15Implement maximize-to-edges (true Wayland maximize)Ivan Molodetskikh
2025-10-02layout: Deduplicate move_workspace_to_output()Ivan Molodetskikh
2025-09-19Fix DnD icon offset from surface cursorIvan Molodetskikh
The offset is already relative to the hotspot, no need to offset twice.
2025-09-17Update Smithay (last_acked refactor, Qt layer-shell popup grab fix, popup ↵Ivan Molodetskikh
ordering fix)
2025-07-31Update Smithay (clipboard client exit nil fix, input region bottom-right fix)Ivan Molodetskikh
2025-07-13Implement ext-workspaceIvan Molodetskikh
2025-06-04Round lock surface size, rather than floorIvan Molodetskikh
There's no problem with 1 px overflow here, while 1 px underflow shows up as a border.
2025-05-10add window urgency through xdg-activation-v1Duncan Overbruck
urgency is done through activation requests without a serial from a previous interaction. https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/150
2025-04-27Fix pointer hiding so that it is no longer annoying (#1426)bogdanov
* replace `pointer_hidden` with `pointer_visiblity` * disable hidden pointer after content underneath has changed * fixes --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-03-29layout: Remove duplicated functionIvan Molodetskikh
2025-03-29Make move-window-to-workspace focus=false work across monitors tooIvan Molodetskikh
2025-02-26Add honor-xdg-activation-with-invalid-serial debug flagIvan Molodetskikh
2025-02-24Also check pointer for activation token validityIvan 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-17Make idle notify lazyIvan Molodetskikh
2025-02-15Implement scrolling the view during DnDIvan Molodetskikh
DnD is external to the layout, so we just inform it when one is ongoing.
2025-02-14Implement ext-data-controlIvan Molodetskikh
2025-02-14Update Smithay (idle-notify 2)Ivan Molodetskikh
2025-02-05Fix find_window_and_output() returning None with no outputsIvan 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-27Extract Niri::insert_client()Ivan Molodetskikh
2025-01-25Add clipboard disable-primary settingpeelz
2025-01-23Add find_root_shell_surface() that goes through popupsIvan Molodetskikh
2025-01-18implement `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-10Fix new Clippy warningsIvan Molodetskikh
2025-01-03Clear on-demand layer-shell focus in more casesIvan Molodetskikh
2024-12-22Add test-only single-pixel-buffer supportIvan Molodetskikh
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-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-22Focus target window/output on DnDIvan 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-12Add PID to Window IPCIvan Molodetskikh
2024-11-03xdg: cleanup activation tokensChristian 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-03Correct pointer constraint activation logicIvan Molodetskikh
Internally it uses the pointer focus, so make sure we have up-to-date focus before setting it.
2024-11-03Rename pointer_focus to pointer_contents, clarify commentsIvan Molodetskikh
This is not pointer focus and it shouldn't be pointer focus, let's be clear about it.
2024-11-02Replace current_state() with with_toplevel_role()Ivan Molodetskikh
Avoid microallocations that happen in current_state().
2024-10-10layout: Replace move_window_to_output with move_to_outputIvan Molodetskikh
2024-10-06implement 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>
2024-09-30Update SmithayIvan Molodetskikh
2024-09-30handle role specific buffer offsetChristian Meissl
2024-08-13Implement stub mutter-x11-interopIvan Molodetskikh
Allows xdp-gnome dialogs to work with X11 clients. Fixes https://github.com/YaLTeR/niri/issues/594
2024-08-08feat: update screencopy to version 3Michael Yang
2024-07-06Implement on-demand layer-shell keyboard focusIvan Molodetskikh
2024-07-05Put Outputs config into a dedicated structIvan Molodetskikh
2024-07-05Implement wlr-output-management protocoltet
fix: wlr_output_management use WeakOutput
2024-06-19Handle KDE decorations in Mapped::has_ssdKirill Chibisov
This fixes an issue with default CSD border being drawn for SSD rendering firefox, because only xdg decorations were checked.
2024-06-18Queue redraw after activation in xdg-activationIvan Molodetskikh
2024-06-18Remove unnecessary returnIvan Molodetskikh
2024-06-18Enable fractional scalingIvan Molodetskikh
2024-06-10Signal fractional scale to clientsIvan Molodetskikh
Doesn't do anything yet because we don't bind the fractional scale manager and don't allow fractional scales.
2024-06-10Implement xdg_activation_v1Peter Collingbourne
Fixes #30.
2024-05-20Fix no outputs case handling in a few placesIvan Molodetskikh
2024-05-15Use correct function name in commentIvan Molodetskikh