Ivan Molodetskikh
ec5144feca
Make pointer inactivity timer reset lazy
2025-02-17 09:04:07 +03:00
Ivan Molodetskikh
7816f20e6a
Implement ext-data-control
2025-02-14 09:03:20 +03:00
Ivan Molodetskikh
0d3610416c
Update Smithay (idle-notify 2)
2025-02-14 09:03:20 +03:00
Ivan Molodetskikh
ef80bcc834
Parse the config on the file watcher thread
...
It takes a while, so let's not block the main thread.
2025-02-12 20:56:32 +03:00
Ivan Molodetskikh
29b7a41692
Implement is-window-cast-target window rule matcher
2025-02-11 10:31:12 +03:00
Ivan Molodetskikh
6942ecc13a
Implement clicking on tab to switch
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
963ff14ed0
Store hit type in PointContents
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
bfd81fc290
Make send_frame() a function on Mapped
...
We'll add some extra logic there.
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
1d883931b4
Account for border in contents_under()
...
Fixes pointer clicks going through window borders to a layer surface below,
also fixes window not getting activated in all cases from a border click.
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
b65fad09d8
Remove unnecessary mut
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
734e3a6d3c
Fix find_window_and_output() returning None with no outputs
...
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-02-05 09:35:10 +03:00
may
e412a0fc6b
add option to set xkb config from file ( #1062 )
...
* add option to set xkb config from file
* Apply suggestions from code review
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-01-30 13:50:05 +00:00
bbb651
6b04b1e454
misc: Use helper function for restriced protocol filters
...
I looked at cosmic-comp as a sanity check and they do the same thing,
I ended up yoinking their function name because it reads better,
not sure about "unrestricted" vs "privileged".
2025-01-30 07:18:42 +03:00
bbb651
0c340ec5ea
misc: Use CursorImageSurfaceData type alias
...
instead of `Mutex<CursorImageAttributes>`
2025-01-30 07:18:42 +03:00
Ivan Molodetskikh
0226d9aec2
Don't create on-disk sockets in tests
2025-01-27 08:30:22 +03:00
Ivan Molodetskikh
ec43493522
Extract Niri::insert_client()
2025-01-27 08:06:33 +03:00
peelz
54a1cd5069
Add clipboard disable-primary setting
2025-01-25 10:36:36 +03:00
Ivan Molodetskikh
788c9c6c54
Add find_root_shell_surface() that goes through popups
2025-01-23 12:07:32 +03:00
Ivan Molodetskikh
a10705fb20
Add toggle-window-rule-opacity action
2025-01-23 11:13:55 +03:00
Ivan Molodetskikh
acd4cb51aa
Implement shadows for layer surfaces
2025-01-21 11:31:30 +03:00
Ivan Molodetskikh
2511a98e8b
Extract Niri::update_shaders()
2025-01-21 11:31:30 +03:00
Ivan Molodetskikh
a7692d10c4
Add update_render_elements() to MappedLayer
2025-01-21 11:31:30 +03:00
sodiboo
0584dd2f1e
implement keyboard-shortcuts-inhibit and wlr-virtual-pointer ( #630 )
...
* 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-18 17:26:42 +03:00
Val Packett
890bbff007
dbus: DisplayConfig: implement apply_monitors_config
...
This enables gnome-control-center to apply display configuration
changes. Only temporarily, persistence is ignored currently.
2025-01-17 11:16:10 +03:00
Gustav Sörnäs
0df7a085de
add write-to-disk argument to screenshot actions
2025-01-14 13:39:52 +03:00
bbb651
c523c80598
Support WAYLAND_SOCKET in winit backend
...
I know of a single compositor that supports `WAYLAND_SOCKET` but not
`WAYLAND_DISPLAY`: https://gitlab.freedesktop.org/mstoeckl/windowtolayer
This should also make niri more robust against accidentally setting
`WAYLAND_SOCKET` when starting as a session, before programs could fail
if they preffered `WAYLAND_SOCKET` over `WAYLAND_DISPLAY`
2025-01-13 08:19:17 +03:00
Ivan Molodetskikh
7dee2f6995
Fix two manual let-else
2025-01-10 09:11:31 +03:00
Ivan Molodetskikh
623687e59b
Fix new Clippy warnings
2025-01-10 09:11:31 +03:00
Ivan Molodetskikh
b2ca280c49
Restart PipeWire on errors
...
This lets you restart pipewire and then get a screencast successfully.
2025-01-04 12:23:25 +03:00
Ivan Molodetskikh
a2f9d132a0
Migrate to new Rectangle functions
2025-01-04 11:22:56 +03:00
Ivan Molodetskikh
1973b97cc2
Upgrade Smithay (DrmCompositor changes)
2025-01-04 11:22:56 +03:00
Ivan Molodetskikh
152ed59502
Allow keyboard focus for bottom and background layers
2025-01-03 16:41:39 +03:00
Ivan Molodetskikh
8e16be9e11
Allow pop-up grabs for bottom and background layers
2025-01-03 16:24:23 +03:00
Ivan Molodetskikh
300701f44e
Render layer-shell pop-ups on top
2025-01-03 15:57:59 +03:00
Julian Schuler
c17d4dc050
Add actions to focus/move to next/previous monitor
2025-01-02 15:15:23 +03:00
bbb651
4e33f45522
Add Mouse{Left,Right,Middle,Back,Forward} binds
2025-01-02 14:59:15 +03:00
Christian Meissl
b16d7abb35
skip keyboard focus for layer shell surfaces not...
...
...requesting keyboard interactivity
2025-01-02 14:24:39 +03:00
Ivan Molodetskikh
44b5612697
Remove notify-rust dependency
...
It uses outdated zbus.
2025-01-02 09:33:54 +03:00
bbb651
0113292cf6
Upgrade zbus and async-io
2025-01-02 08:50:48 +03:00
Ivan Molodetskikh
be05b66ac3
Hide focus ring for unfocused layout and under interactive move
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
c5fffd6e2c
Initial WIP floating window implementation
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
d38bfc4aff
Add test-only single-pixel-buffer support
2024-12-22 15:19:46 +03:00
Ivan Molodetskikh
fbb0054232
Add a Headless backend for tests
...
Rendering and stuff is unimplemented.
2024-12-22 15:19:46 +03:00
Ivan Molodetskikh
8dcc41a54d
Initialize PipeWire lazily
...
This helps with:
- System setups starting PipeWire late (after niri startup, but before any
screencast).
- Tests which don't even want to start PipeWire.
2024-12-22 15:19:46 +03:00
Rémi Labeyrie
b1c40a9079
fix: check for layer surface under cursor when clicking
2024-12-22 15:13:17 +03:00
Ivan Molodetskikh
6b16cc52db
Add force-pipewire-invalid-modifier debug flag
2024-12-17 17:08:14 +03: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
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