| Age | Commit message (Collapse) | Author |
|
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>
|
|
|
|
There's no code past this, and we want to break out of all loops.
|
|
Avoid an extra has_window() call.
|
|
The interactively moved window is the active window, so this makes sense.
|
|
|
|
|
|
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().
|
|
|
|
This erroneous check was introduced in interactive move.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
pass an activation token to process spawned through actions
|
|
|
|
* 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>
|
|
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.
|
|
Will help to catch cases where updating options doesn't update the state
correctly.
|
|
|
|
Cuts down on boilerplate in a few places.
|
|
|
|
Guess I forgot this.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|