Ivan Molodetskikh
4c480a1ea3
layout/tests: Add post option update to randomized test
...
Will help to catch cases where updating options doesn't update the state
correctly.
2024-11-26 22:02:46 +03:00
Ivan Molodetskikh
fa4aa0e06d
layout: Fix adjusting for scale for moved tile when reloading config
2024-11-26 22:01:26 +03:00
Ivan Molodetskikh
e2a6374bf5
layout/tests: Return Layout from check_ops()
...
Cuts down on boilerplate in a few places.
2024-11-26 22:00:44 +03:00
Ivan Molodetskikh
dc14554053
layout: Extract update_options()
2024-11-26 21:59:05 +03:00
Ivan Molodetskikh
985ca7b643
layout/tests: Allow AddWindowRightOf interactive moved window
...
Guess I forgot this.
2024-11-26 15:24:28 +03:00
Ivan Molodetskikh
60624d64fa
layout/tests: Standardize on usize for output id in tests
2024-11-26 15:24:28 +03:00
Ivan Molodetskikh
2935dae89e
wiki: Add animation timing page
2024-11-25 04:07:59 -08:00
Ivan Molodetskikh
4c22c3285d
Refactor animation timing to use lazy clocks
2024-11-25 04:07:59 -08:00
Ivan Molodetskikh
93cee2994a
Refactor animations to take explicit current time
2024-11-25 04:07:59 -08:00
Ivan Molodetskikh
9c7e8d04d2
Extract Niri::advance_animations()
2024-11-23 15:09:16 +03:00
Ivan Molodetskikh
1e6b8906e0
layout/monitor: Extract add_workspace_bottom()
2024-11-23 15:07:52 +03:00
Ivan Molodetskikh
6c5b92e5c0
Add interactive_move_onto_empty_output test
...
Tests the add_workspace_bottom() in Monitor::add_tile().
2024-11-23 15:07:35 +03:00
Ivan Molodetskikh
38c515e12e
pw: Fix potential crash when disconnecting output
2024-11-23 15:07:09 +03:00
Ivan Molodetskikh
c239937fac
Focus target window/output on DnD
...
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-22 09:37:26 +03:00
Ivan Molodetskikh
bafa574784
wiki: Link layer rules from block-out-from window rules
2024-11-21 14:57:41 +03:00
Ivan Molodetskikh
199a5854a8
wiki: Add Since to layer rules
2024-11-21 14:57:41 +03:00
Ridan Vandenbergh
a74a578198
Add focus-window-previous action ( #811 )
...
* Add `FocusWindowPrevious` action
* remove [`
* track previous focus in Niri instead of every window
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-11-21 14:48:51 +03:00
Ivan Molodetskikh
7de752ec56
Bump CI image versions
2024-11-20 13:16:02 +03:00
Ivan Molodetskikh
0a833171ac
Update Smithay (popup grab fix)
2024-11-20 08:34:19 +03:00
Ivan Molodetskikh
1a0612cbfd
Implement layer rules: opacity and block-out-from
2024-11-14 12:05:30 +03:00
Ivan Molodetskikh
fbbd3ba349
niri: Extract render_layer()
2024-11-14 10:24:04 +03:00
Ivan Molodetskikh
1028639186
config: Add RegexEq util type instead of manual PartialEq
2024-11-14 09:44:07 +03:00
Ivan Molodetskikh
0e5e764c78
Add niri msg layers
2024-11-12 21:44:00 +03:00
Ivan Molodetskikh
db1faecc95
Guard against closed screenshot UI in its binds
...
They can trigger with closed screenshot UI via key repeat.
2024-11-12 19:26:44 +03:00
Ivan Molodetskikh
c2c415d2e8
wiki/sidebar: Update application issues title
2024-11-12 10:11:41 +03:00
Ivan Molodetskikh
d193928f31
Add PID to Window IPC
2024-11-12 09:37:25 +03:00
Ivan Molodetskikh
17861e0003
Change expel-window-from-column to expel the bottom window
...
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 18:07:41 +03:00
Ivan Molodetskikh
97fe964e00
Make consume-or-expel binds more prominent
...
I find myself using them much more than regular consume or expel.
2024-11-11 17:56:35 +03:00
Ivan Molodetskikh
9debb5db23
wiki: Mention Ghidra in application issues
2024-11-11 10:06:23 +03:00
Ramses
494b438151
Unhide the pointer on scroll events ( #797 )
...
* 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-11 06:08:29 +00:00
Ivan Molodetskikh
010a236882
Start interactive move on Mod+Touch
2024-11-10 09:47:03 +03:00
Ivan Molodetskikh
1951d2a9f2
Fix scrolling not working with missing mouse config
2024-11-10 09:14:22 +03:00
Ivan Molodetskikh
9d8f640503
niri-ipc: Document features
v0.1.10
2024-11-09 17:57:52 +03:00
Ivan Molodetskikh
b18cfbae23
niri-ipc: Add README and Cargo.toml metadata
2024-11-09 17:57:34 +03:00
Ivan Molodetskikh
f64e7e14c3
Bump version to 0.1.10
2024-11-09 17:35:31 +03:00
Ivan Molodetskikh
e8c9bfc06a
wiki: Add scroll-button to mouse and touchpad overview
2024-11-09 17:23:59 +03:00
Ivan Molodetskikh
07452f50a8
Update dependencies
2024-11-09 15:57:17 +03:00
Ivan Molodetskikh
642c5acebb
wiki: Remove outdated info from Application Issues
2024-11-09 11:04:39 +03:00
Ivan Molodetskikh
0886dedff1
wiki: Mention Xwayland on other pages
2024-11-09 11:04:39 +03:00
Ivan Molodetskikh
cc88a7d42e
default-config: Bind Ctrl-Alt-Del to quit
...
This seems to be a shared bind across compositors.
2024-11-09 10:29:13 +03:00
Ivan Molodetskikh
c0829087da
Lock session right away with no outputs
2024-11-08 16:25:06 +03:00
Ivan Molodetskikh
b6f6d6a7c2
wiki: Update getting started
2024-11-08 09:43:43 +03:00
Ivan Molodetskikh
5ff8b89aaf
Rework output connection to always go through on_output_config_changed()
...
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 09:11:56 +03:00
Ivan Molodetskikh
927abad4b4
Only call on_output_config_changed() on lid switch
...
We don't need to reload the niri output config.
2024-11-08 09:11:28 +03:00
Ivan Molodetskikh
3d31f9860a
Extract format_make_model_serial()
2024-11-08 09:10:54 +03:00
Ivan Molodetskikh
8867a4f84c
Add disable-monitor-names debug flag
2024-11-06 08:42:22 +03:00
Ivan Molodetskikh
88f4c1d610
layout: Preserve active workspace for removed outputs
2024-11-05 21:52:02 +03:00
Ivan Molodetskikh
ddcb5c5e10
layout: Move some types further down
2024-11-05 21:08:50 +03:00
Ivan Molodetskikh
cd90dfc7be
Disable laptop panel when the lid is closed
2024-11-05 10:03:51 +03:00
Ivan Molodetskikh
a778ab3897
Extract is_laptop_panel() to utils
2024-11-05 09:40:12 +03:00