| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-11-26 | layout/tests: Standardize on usize for output id in tests | Ivan Molodetskikh | |
| 2024-11-25 | Refactor animation timing to use lazy clocks | Ivan Molodetskikh | |
| 2024-11-25 | Refactor animations to take explicit current time | Ivan Molodetskikh | |
| 2024-11-23 | Extract Niri::advance_animations() | Ivan Molodetskikh | |
| 2024-11-23 | layout/monitor: Extract add_workspace_bottom() | Ivan Molodetskikh | |
| 2024-11-23 | Add interactive_move_onto_empty_output test | Ivan Molodetskikh | |
| Tests the add_workspace_bottom() in Monitor::add_tile(). | |||
| 2024-11-23 | pw: Fix potential crash when disconnecting output | Ivan Molodetskikh | |
| 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-21 | Add `focus-window-previous` action (#811) | Ridan Vandenbergh | |
| * Add `FocusWindowPrevious` action * remove [` * track previous focus in Niri instead of every window --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
| 2024-11-14 | Implement layer rules: opacity and block-out-from | Ivan Molodetskikh | |
| 2024-11-14 | niri: Extract render_layer() | Ivan Molodetskikh | |
| 2024-11-14 | config: Add RegexEq util type instead of manual PartialEq | Ivan Molodetskikh | |
| 2024-11-12 | Add niri msg layers | Ivan Molodetskikh | |
| 2024-11-12 | Guard against closed screenshot UI in its binds | Ivan Molodetskikh | |
| They can trigger with closed screenshot UI via key repeat. | |||
| 2024-11-12 | Add PID to Window IPC | Ivan Molodetskikh | |
| 2024-11-11 | Change expel-window-from-column to expel the bottom window | Ivan Molodetskikh | |
| This way, expel becomes symmetric with consume. This is also how it works in PaperWM. Though, in PaperWM if the expelled window was focused, it will remain focused, while in this commit it is never focused, making it the exact opposite of consume. Use consume-or-expel-window-right for the old expel behavior. | |||
| 2024-11-11 | Make consume-or-expel binds more prominent | Ivan Molodetskikh | |
| I find myself using them much more than regular consume or expel. | |||
| 2024-11-11 | Unhide the pointer on scroll events (#797) | Ramses | |
| * Unhide the pointer on scroll events Since we reset the surface under the pointer when we hide the pointer (see update_pointer_contents), scroll events don't work when the pointer is hidden. So to make scrolling work, we make sure that we unhide the pointer when a scrolling event occurs. * Update src/input/mod.rs --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
| 2024-11-10 | Start interactive move on Mod+Touch | Ivan Molodetskikh | |
| 2024-11-10 | Fix scrolling not working with missing mouse config | Ivan Molodetskikh | |
| 2024-11-08 | Lock session right away with no outputs | Ivan Molodetskikh | |
| 2024-11-08 | Rework output connection to always go through on_output_config_changed() | Ivan Molodetskikh | |
| This has the following benefits: 1. connector_connected() is now more closely mirroring connector_disconnected() in that it merely lights up the connector, and doesn't check if the connector should be off from the config. 2. We can use more complex on/off logic that depends on multiple connectors. For example, this commit adds logic to only disable the laptop panel on lid close if there are other connected outputs. We don't want to disable the laptop panel on lid close if it's the only connected output because it causes screen lockers to create their surface from scratch on normal laptop unsuspend, which is undesirable and also confuses some screen lockers. | |||
| 2024-11-08 | Only call on_output_config_changed() on lid switch | Ivan Molodetskikh | |
| We don't need to reload the niri output config. | |||
| 2024-11-06 | Add disable-monitor-names debug flag | Ivan Molodetskikh | |
| 2024-11-05 | layout: Preserve active workspace for removed outputs | Ivan Molodetskikh | |
| 2024-11-05 | layout: Move some types further down | Ivan Molodetskikh | |
| 2024-11-05 | Disable laptop panel when the lid is closed | Ivan Molodetskikh | |
| 2024-11-05 | Extract is_laptop_panel() to utils | Ivan Molodetskikh | |
| 2024-11-03 | Implement scroll_factor mouse and touchpad setting (#730) | elipp | |
| * Implement scroll_factor mouse and touchpad setting * Change to FloatOrInt, add docs * Also change v120 values --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
| 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 | Clarify redraw in refresh_pointer_focus() | Ivan Molodetskikh | |
| 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-03 | Rename surface_under_and_global_space() to contents_under() | Ivan Molodetskikh | |
| 2024-11-02 | Replace current_state() with with_toplevel_role() | Ivan Molodetskikh | |
| Avoid microallocations that happen in current_state(). | |||
| 2024-11-02 | Add with_toplevel_role() util function | Ivan Molodetskikh | |
| 2024-11-02 | Add Tracy allocation profiling feature flag | Ivan Molodetskikh | |
| 2024-11-02 | Follow window corner radius in insert hint | Ivan Molodetskikh | |
| 2024-11-02 | Add gradient support for the insert hint | Ivan Molodetskikh | |
| Implement it via FocusRing which already handles SolidColor vs. Border render element. | |||
| 2024-11-02 | Change TODO to FIXME | Ivan Molodetskikh | |
| 2024-11-02 | Remove obsolete TODO | Ivan Molodetskikh | |
| 2024-10-29 | Don't show the cursor on programmatic movement | Ivan Molodetskikh | |
| For keyboard-only use, especially with warp-mouse-to-focus, the intention is that the cursor stays hidden from keyboard and other automatic actions, and only shows up with an actual mouse movement. | |||
| 2024-10-29 | [cfg-breaking] Rename hide-on-key-press to hide-when-typing | Ivan Molodetskikh | |
| I originally preferred on-key-press, but when-typing feels more natural and matches sway. This setting had not been in a stable release yet so this is not stable release cfg breaking. | |||
| 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-27 | Require Clone for LayoutElement::Id | Ivan Molodetskikh | |
| Now that we have MappedId, this could really be Copy. But it's quite a big refactor, so for now just require Clone as I'll need it. | |||
