Ivan Molodetskikh
2e50f8dee0
Hardcode winit transform for now
2024-01-31 23:02:38 +04:00
Ivan Molodetskikh
7052f0129e
Stop screencasts on size changes
2024-01-31 23:02:38 +04:00
axtloss
962e159db6
Add option to rotate outputs
2024-01-31 23:02:38 +04:00
Ivan Molodetskikh
59ff331597
Implement wlr-foreign-toplevel-management
...
The parent event isn't sent but whatever.
2024-01-30 12:30:57 +04:00
Christian Meissl
b813f99abd
tty: reset surface state after changing monitor state
...
changing the "ACTIVE" property of a surface requires
to re-evaluate the surface state.
2024-01-30 08:03:21 +04:00
Ivan Molodetskikh
6d7c220137
Try harder to find an output for the screenshot UI
...
The mouse might be outside any outputs, let's try to open in that case
anyway.
2024-01-27 14:09:55 +04:00
Ivan Molodetskikh
d77aac1afa
Fix damage when rendering to texture
2024-01-27 10:50:40 +04:00
Ivan Molodetskikh
ecdf756b55
Name output render element better
2024-01-25 08:02:33 +04:00
Christian Meissl
73f3c160b2
use pixman for cursor plane rendering
2024-01-25 07:49:51 +04:00
Ivan Molodetskikh
f5642ab733
Ignore popup grabs when IME keyboard grab is active
...
Doing this properly will require more refactors, potentially in Smithay.
For now let's just ignore popup grabs to make popups work.
2024-01-23 17:05:08 +04:00
Ivan Molodetskikh
ab9706cb30
screencast: Emit MonitorsChanged
2024-01-23 12:02:52 +04:00
Ivan Molodetskikh
5cacd03e85
Return error instead of broken screenshot for portal
2024-01-21 10:03:13 +04:00
Ivan Molodetskikh
dc47de178f
Add an option to skip the hotkey overlay at startup
2024-01-20 08:31:05 +04:00
Ivan Molodetskikh
475b3df2b5
Don't crash when failing to render a cursor
...
I only hit this when the renderer was completely busted, but
nevertheless.
2024-01-19 09:13:32 +04:00
Ivan Molodetskikh
4b9cb2f0d3
Add exit confirmation dialog
2024-01-19 08:33:54 +04:00
Ivan Molodetskikh
3461c66d2c
Redraw upon starting PW stream
...
Otherwise it may take a while for the first frame to arrive.
2024-01-18 21:16:36 +04:00
Ivan Molodetskikh
011c91c98a
Add an important hotkeys overlay
2024-01-18 20:32:44 +04:00
Ivan Molodetskikh
fa9b3ed106
Add a config parse error notification
...
We can't rely on a notification daemon being available, especially
during initial niri setup. So, render our own.
2024-01-18 12:44:05 +04:00
Ivan Molodetskikh
0f85c79548
Watch config path even if it didn't exist at startup
2024-01-18 11:13:36 +04:00
Ivan Molodetskikh
40c85da102
Add an IPC socket and a niri msg outputs subcommand
2024-01-17 10:45:18 +04:00
Ivan Molodetskikh
f068157f55
Add a calloop futures executor
2024-01-17 10:24:01 +04:00
Ivan Molodetskikh
12590f689a
Write a comment on xdg-decoration lack of live-reload
2024-01-16 20:43:28 +04:00
Ivan Molodetskikh
4656332d07
Add live-reload to libinput settings
2024-01-16 20:29:37 +04:00
Ivan Molodetskikh
5f440f7be3
Add live-reload for output on/off
2024-01-16 15:34:00 +04:00
Ivan Molodetskikh
9e667efc4c
Close layer surfaces upon output removal
...
Fixes https://github.com/YaLTeR/niri/issues/23
2024-01-16 13:28:29 +04:00
Ivan Molodetskikh
69907f123d
Add live-reload of output scales
2024-01-16 11:34:34 +04:00
Ivan Molodetskikh
6ca3b6ddb5
Move output scale setting into niri
2024-01-16 09:46:02 +04:00
Ivan Molodetskikh
83719a49b7
Add live-reload of output positions
2024-01-16 09:46:02 +04:00
Ivan Molodetskikh
da4967d43c
Reposition all outputs on any change
...
This way the positioning is independent of the order of plugging in.
2024-01-16 08:43:28 +04:00
Ivan Molodetskikh
e4643c6dbe
Implement security-context, hide some protocols from it
2024-01-15 16:02:07 +04:00
Ivan Molodetskikh
59763fd0da
Hide decoration globals when we need CSD
...
This gets the current SDL2 with libdecor working.
2024-01-15 16:01:01 +04:00
Ivan Molodetskikh
632a00fcca
Implement popup grabs
2024-01-13 09:00:57 +04:00
Ivan Molodetskikh
952ff02982
Keep track of keyboard focus manually
2024-01-12 17:14:18 +04:00
Ivan Molodetskikh
e1adabed2d
Rename update_focus -> update_keyboard_focus
2024-01-12 16:53:00 +04:00
Ivan Molodetskikh
e46b614c2b
Fix clicks activating windows through layer-shell surfaces
2024-01-12 08:45:39 +04:00
Ivan Molodetskikh
64c41fa2c8
Move config into a separate crate
...
Get miette and knuffel deps contained within.
2024-01-07 09:28:14 +04:00
Ivan Molodetskikh
5cd31e5730
Implement multi-GPU support
...
Rendering always happens on the primary GPU.
2024-01-03 18:16:20 +04:00
Ivan Molodetskikh
de3fc2def0
Make rendering generic over renderer
2024-01-03 18:05:15 +04:00
Ivan Molodetskikh
fd1d4b07fd
Replace renderer() with with_primary_renderer()
2024-01-03 11:38:09 +04:00
Ivan Molodetskikh
8b5acd5e6e
Rename RenderResult::Error to Skipped
2024-01-03 11:38:07 +04:00
Ivan Molodetskikh
31bb9096e2
Move Niri::render() invocation to backends
2024-01-03 11:38:02 +04:00
Ivan Molodetskikh
dae93ee159
Render again for screencast
...
Will be needed when multi-gpu support is added.
2024-01-03 11:37:04 +04:00
Ivan Molodetskikh
0dd9a42087
Move DmabufState to Niri
2023-12-31 12:02:39 +04:00
Ivan Molodetskikh
b13892ca63
Activate windows when clicking on the border
2023-12-28 08:45:12 +04:00
Ivan Molodetskikh
be2e551a89
Move clones up from find_window_and_output
2023-12-24 17:38:13 +04:00
Ivan Molodetskikh
461ce5f363
Move output_size to utils
2023-12-24 14:30:19 +04:00
Ivan Molodetskikh
86c4c1368e
Implement pointer-constraints
2023-12-21 16:19:16 +04:00
Ivan Molodetskikh
c29a049245
Fix some cases of incomplete search for surface output
...
Most visibly, fixes screen not immediately redrawing upon layer-shell
popup commits.
There's still a number of places with questionable handling left, mostly
to do with subsurfaces (like, find_popup_root_surface() doesn't go up to
subsurfaces), and session-lock. I don't have good clients to test these.
2023-12-19 13:32:13 +04:00
Ivan Molodetskikh
243519598e
Live-reload keyboard config
...
This needed the Smithay bump for a deadlock fix.
2023-12-08 07:58:03 +04:00
Ivan Molodetskikh
cb1e5d6c19
Track tablet pointer separately, don't sent wl_pointer events
...
Tablets are not supposed to send wl_pointer events. This unbreaks GTK 4
clients for example.
2023-12-05 10:24:41 +04:00