Ivan Molodetskikh
6b6a84e55b
Avoid panics on more wrong VBlank events
2024-09-10 10:48:45 +03:00
Ivan Molodetskikh
7d5785e96f
Give focus to on-demand layer surfaces on map
2024-09-10 10:14:34 +03:00
Ivan Molodetskikh
3514cd2e36
Prefer exclusive layer focus to on-demand on the same layer
2024-09-10 09:10:03 +03:00
Ivan Molodetskikh
d25d6ce337
Arrange layer map after sending new scale/transform
...
I think that should be a slightly better ordering of events.
2024-09-08 22:33:09 +03:00
Ivan Molodetskikh
bb044075fa
Inform layer surfaces of scale/transform changes
...
How'd I miss this and then never catch it?
2024-09-08 22:05:56 +03:00
Ivan Molodetskikh
dcb29efce5
Implement by-id window addressing in IPC and CLI, fix move-column-to-workspace
...
This is a JSON-breaking change for the IPC actions that changed from
unit variants to struct variants. Unfortunately, I couldn't find a way
with serde to both preserve a single variant, and make it serialize to
the old value when the new field is None. I don't think anyone is using
these actions from JSON at the moment, so this breaking change is fine.
2024-09-06 18:32:41 +03:00
Ivan Molodetskikh
608ab7d8b1
Change output sorting to match make/model/serial first
...
We can do this now that we have libdisplay-info.
2024-09-05 20:10:01 +03:00
Ivan Molodetskikh
5460c792bd
Fix missing KeyboardLayoutSwitched event on XKB switch
2024-09-04 20:54:11 +03:00
Ivan Molodetskikh
b65a243fc9
Remove warning about missing output config
2024-09-03 13:48:08 +03:00
Ivan Molodetskikh
f0157e03e7
Use libdisplay-info for make/model/serial parsing, implement throughout
2024-09-03 13:48:08 +03:00
Ivan Molodetskikh
f7181fb066
Implement by-id workspace action addressing
...
It's not added to clap because there's no convenient mutually-exclusive
argument enum derive yet (to have either the current <REFERENCE> or an
--id <ID>). It's not added to config parsing because I don't see how it
could be useful there. As such, it's only accessible through raw IPC.
2024-09-01 23:47:19 -07:00
Ivan Molodetskikh
0f522f209b
Change MappedIt::get() to return u64
2024-09-01 23:47:19 -07:00
Ivan Molodetskikh
30b213601a
Implement the event stream IPC
2024-09-01 23:47:19 -07:00
Ivan Molodetskikh
2b3d196876
Remove unused function
2024-09-01 23:47:19 -07:00
Ivan Molodetskikh
b2c7d3ad40
Rework PW screencast frame timing
...
- Remove the 0.5 ms hack.
- Add redraw scheduling to fix stuck frame if the last redrawn frame
happened too soon.
2024-08-24 10:49:32 +03:00
Ivan Molodetskikh
ff7cbb97df
Fix screen transition across scale/transform changes
2024-08-23 12:54:07 +03:00
Ivan Molodetskikh
09f3d3fb12
Extract Niri::update_render_elements()
2024-08-23 12:54:07 +03:00
Ivan Molodetskikh
63defc25d2
Fix Clippy warnings
2024-08-23 12:21:47 +03:00
Ivan Molodetskikh
471dc714aa
Add damage check to PW screencasts
...
Avoids unnecessary frames.
2024-08-23 11:02:34 +03:00
Ivan Molodetskikh
7bfdf87bf0
Implement resize transactions
2024-08-22 15:19:11 +03:00
Ivan Molodetskikh
618fa08aa5
Update Smithay (apply state in post commit)
2024-08-22 14:15:04 +03:00
Ivan Molodetskikh
a40e7b4470
Handle dmabuf blocker separately in toplevel pre-commit
...
Will be needed for transactions.
2024-08-22 13:13:28 +03:00
Michael Yang
f1894f6f9a
feature: add on-demand vrr ( #586 )
...
* feature: add on-demand vrr
* Don't require connector::Info in try_to_set_vrr
* Improve VRR help message
* Rename connector_handle => connector
* Fix tracy span name
* Move on demand vrr flag set higher
* wiki: Mention on-demand VRR
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-08-22 11:58:07 +03:00
Ivan Molodetskikh
883763c172
Implement stub mutter-x11-interop
...
Allows xdp-gnome dialogs to work with X11 clients.
Fixes https://github.com/YaLTeR/niri/issues/594
2024-08-13 09:15:57 +03:00
Ivan Molodetskikh
47680e43c5
screencopy: Wait for SyncPoint before submitting
2024-08-08 13:32:37 +03:00
Ivan Molodetskikh
0f1e44aac6
screencopy: Fix transformed damage calculation
2024-08-08 13:32:37 +03:00
Michael Yang
b6a7b3e9e4
feat: update screencopy to version 3
2024-08-08 13:32:37 +03:00
Ivan Molodetskikh
8ff90c4fc2
Implement PipeWire DMA-BUF modifier negotiation
2024-08-06 18:01:52 +03:00
Anant Sharma
689338f059
Add background color option for output
2024-07-26 11:51:29 +03:00
Ivan Molodetskikh
4513663084
screenshot-ui: Animate opening
2024-07-08 11:24:08 +04:00
Ivan Molodetskikh
236f96e676
screenshot-ui: Add a help panel
2024-07-08 10:54:21 +04:00
Ivan Molodetskikh
6ec9c72539
Clear pointer grab upon opening the screenshot UI
...
Gets rid of DND surfaces.
2024-07-07 09:54:19 +04:00
Ivan Molodetskikh
1a1086206c
Extract capture_screenshots()
2024-07-07 09:48:19 +04:00
Ivan Molodetskikh
f2766b103d
Implement toggling pointer for the screenshot UI
2024-07-07 09:23:59 +04:00
Ivan Molodetskikh
e394a7ff20
Implement on-demand layer-shell keyboard focus
2024-07-06 18:20:19 +04:00
Ivan Molodetskikh
921ed63204
Add LayerSurface to PointerFocus
2024-07-06 18:17:48 +04:00
Ivan Molodetskikh
1da99f4003
Implement focus-follows-mouse max-scroll-amount
2024-07-05 20:53:11 +04:00
Ivan Molodetskikh
de6caec685
Recompute current pointer focus for focus-follows-mouse
...
Fixes https://github.com/YaLTeR/niri/issues/377 .
2024-07-05 10:13:50 +04:00
Salman Farooq
d3aebdbec4
Implement key repeat for compositor binds
2024-07-05 08:40:25 +03:00
Ivan Molodetskikh
9dcc9160b3
Put Outputs config into a dedicated struct
2024-07-05 07:35:01 +03:00
tet
43df7fad46
Implement wlr-output-management protocol
...
fix: wlr_output_management use WeakOutput
2024-07-05 07:35:01 +03:00
Ivan Molodetskikh
d2087a2cd9
Add output ID tracking
2024-07-05 07:35:01 +03:00
Ivan Molodetskikh
4d60eae82e
Fix blocked-out + popups and rounded corners window screencasts
2024-06-28 12:35:12 +04:00
Ivan Molodetskikh
a43f30b7f5
Ignore compositor opacity for window screencasts
...
When using opacity as unfocused indicator, it will show up on the
screencast, which is undesired.
This is not a problem for window screen*shot*s where the window is
focused.
2024-06-28 10:39:36 +04:00
Ivan Molodetskikh
88f7b08e56
Add transparency support to window screencasts
...
Turns out it needed to be in a separate pod.
2024-06-28 10:39:35 +04:00
Ivan Molodetskikh
dc92d80b9f
Implement initial window screencasting
2024-06-28 10:39:35 +04:00
Ivan Molodetskikh
40aff3a094
Implement org/gnome/shell/Introspect/GetWindows
2024-06-28 10:39:35 +04:00
Ivan Molodetskikh
589e5a600c
Keep screencast running through size changes
2024-06-21 11:05:28 +03:00
Ivan Molodetskikh
cb0ebd35ce
Make tablet without specific output map to union of outputs
2024-06-19 23:02:45 +03:00
Ivan Molodetskikh
986f2c14ab
Make scale use FloatOrInt
2024-06-18 14:01:34 +03:00