Ivan Molodetskikh
ee0e2c7f1b
Try default when configured xkb keymap fails to compile
...
Fixes panic at startup.
2025-03-13 21:39:07 +03:00
Ivan Molodetskikh
4f16be9e4d
Wait for lock surfaces before locking
...
Fixes the red flash when locking.
2025-03-13 19:09:32 +03:00
Ivan Molodetskikh
1c6037e612
Add tiled-state window rule, update the tiled state live
2025-03-13 14:14:54 +03:00
Toby Bridle
47dd338340
feat: 🎉 add show-pointer for Screenshot and ScreenshotScreen
2025-03-10 22:31:50 -07:00
Ivan Molodetskikh
b351f6ff22
Keep track of RenderElementStates in offscreens
...
This both avoids sending frame callbacks to surfaces invisible on the offscreen
(fixing Firefox with subsurface compositing in the process), and fixes
searching for split popups during the resize animation.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
12817a682d
Store offscreen element id on Mapped instead of user data
...
We don't need user data for this.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
1c521e4831
Update Smithay (Framebuffer type)
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
70dcd229cf
Extract encompassing_geo()
2025-02-27 10:38:36 +03:00
bbb651 🇮🇱
16405b9b2b
Implement niri msg pick-window
...
* feat: `niri msg pick-window`
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-02-26 15:22:27 +03:00
Ivan Molodetskikh
d27d6a504d
Make idle notify lazy
2025-02-17 09:09:59 +03:00
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