| Age | Commit message (Collapse) | Author |
|
Tests the add_workspace_bottom() in Monitor::add_tile().
|
|
|
|
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.
|
|
* Add `FocusWindowPrevious` action
* remove [`
* track previous focus in Niri instead of every window
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
|
|
|
|
|
|
|
|
|
|
They can trigger with closed screenshot UI via key repeat.
|
|
|
|
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.
|
|
I find myself using them much more than regular consume or expel.
|
|
* 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>
|
|
|
|
|
|
|
|
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.
|
|
We don't need to reload the niri output config.
|
|
|
|
|
|
|
|
|
|
|
|
* Implement scroll_factor mouse and touchpad setting
* Change to FloatOrInt, add docs
* Also change v120 values
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
|
|
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
|
|
|
|
|
|
Internally it uses the pointer focus, so make sure we have up-to-date
focus before setting it.
|
|
|
|
This is not pointer focus and it shouldn't be pointer focus, let's be
clear about it.
|
|
|
|
Avoid microallocations that happen in current_state().
|
|
|
|
|
|
|
|
Implement it via FocusRing which already handles SolidColor vs. Border
render element.
|
|
|
|
|
|
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.
|
|
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.
|
|
Work around https://gitlab.gnome.org/GNOME/gtk/-/issues/7113
|
|
|
|
|
|
|
|
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.
|
|
|
|
Fixes https://github.com/YaLTeR/niri/issues/739
|
|
|
|
|
|
* support spawn action on switch events
this adds a new config section named `switch-events`
that allows to bind `spawn` action to certain switch
toggles.
* Expand docs
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
|