Ivan Molodetskikh
83aec41df3
Hide pointer on touch interaction
2024-04-06 10:57:12 -07:00
Ivan Molodetskikh
fe79a6a4e2
Clarify PipeWire error message
2024-03-31 11:36:04 +04:00
Ivan Molodetskikh
9b7ed57d37
Create screenshot directory if it doesn't exist
2024-03-28 20:59:42 +04:00
Ivan Molodetskikh
3091102365
Implement niri msg focused-window
2024-03-28 13:45:24 +04:00
Ivan Molodetskikh
9927c15f68
Replace config transform with ipc
2024-03-27 17:03:17 +04:00
Ivan Molodetskikh
cf87a185a9
Add logical output info and preferred modes to IPC
2024-03-27 14:54:24 +04:00
Ivan Molodetskikh
e276c906bf
Expose more info in DisplayConfig impl
...
Needed for the new xdp-gnome.
2024-03-27 09:46:18 +04:00
Ivan Molodetskikh
5f23d344d5
Make screenshot UI render target-aware
2024-03-24 11:25:48 +04:00
Ivan Molodetskikh
493c8dc890
Implement block-out-from window rule, fix alpha on window screenshots
2024-03-24 10:22:56 +04:00
Ivan Molodetskikh
a16a0f0e52
Implement TouchpadScroll binds
2024-03-23 20:30:45 +04:00
Ivan Molodetskikh
6ba195211b
Rename WheelTracker to ScrollTracker
2024-03-23 20:17:01 +04:00
Ivan Molodetskikh
afaaf36f27
Avoid scroll bind lookup until it is triggered
2024-03-23 19:20:44 +04:00
Ivan Molodetskikh
f1b36b0dce
Send pending configure after recomputing window rules
2024-03-23 18:57:06 +04:00
Ivan Molodetskikh
6ec65bc0d6
Add is-focused window rule matcher
2024-03-23 16:16:52 +04:00
Ivan Molodetskikh
5cc2c31a5b
Split State::refresh() to get a trace span
2024-03-23 15:45:44 +04:00
Ivan Molodetskikh
b7ed2fb82a
Add is-active window rule matcher
2024-03-23 15:45:44 +04:00
Ivan Molodetskikh
f3f02aca20
Lift output clones from queue_redraw()
2024-03-23 15:45:44 +04:00
Ivan Molodetskikh
021a2a1af7
Don't use an idle for queued redraw tracking
...
This way we can order the redraw after all the refreshing, where it
should be.
2024-03-23 15:45:44 +04:00
Ivan Molodetskikh
354f0b039a
Pass Un/Mapped to window rule resolution
2024-03-23 15:45:44 +04:00
Ivan Molodetskikh
b06e51da60
Implement bind cooldown-ms
2024-03-22 20:47:40 +04:00
Ivan Molodetskikh
4b2fdd0776
Implement mouse wheel bindings
2024-03-22 13:10:40 +04:00
Ivan Molodetskikh
c61361de3c
Implement window rule reloading and min/max size rules
2024-03-19 18:29:13 +04:00
Ivan Molodetskikh
3963f537a4
Wrap mapped windows in a Mapped
2024-03-19 18:29:13 +04:00
Ivan Molodetskikh
e0da101c73
Disable screencast when PipeWire is missing
...
This can cause a panic.
2024-03-19 08:59:28 +04:00
Ivan Molodetskikh
df9d721f74
Implement focus-follows-mouse
2024-03-18 19:32:03 +04:00
Ivan Molodetskikh
d970abead8
Keep track of output and window in PointerFocus separately
2024-03-18 19:32:03 +04:00
Ivan Molodetskikh
4f6ed9dfc9
Fix lock surface pointer location
2024-03-18 19:32:03 +04:00
Ivan Molodetskikh
a39e703fc3
Don't warp if currently using tablet
...
The tablet will override the position anyway.
2024-03-18 19:31:11 +04:00
Ivan Molodetskikh
2984722f80
Warp mouse only if layout is focused
2024-03-18 19:31:11 +04:00
Ivan Molodetskikh
118773e17d
Track keyboard focus component
2024-03-18 19:31:11 +04:00
FluxTape
741bee461c
Implement warp-mouse-to-focus
2024-03-18 19:31:11 +04:00
Ivan Molodetskikh
9ae3cad82b
gamma-control: Misc. clean ups and fixes
2024-03-15 13:29:36 +04:00
phuhl
89dfaa6cac
Adds support for wlr_gamma_control_unstable_v1 protocol
2024-03-15 13:29:36 +04:00
Ivan Molodetskikh
5f137b77d3
Reapply "Add wp-viewporter"
...
This reverts commit 40cec34aa4 .
The Chromium issues are now fixed.
2024-03-12 17:22:53 +04:00
Ivan Molodetskikh
ed8a6afe80
Add a 1 Hz fallback frame callback timer
...
gamescope + Minecraft with NeoForge throws an error upon starting if
there are no frame callbacks, thus making it the first client that has a
problem. Also, apparently, Veloren disconnects from server with VSync
and no frame callbacks.
2024-03-12 10:42:09 +04:00
Ivan Molodetskikh
43aa2f95be
Fix new clone_from Clippy lints
2024-03-12 10:42:09 +04:00
Ivan Molodetskikh
40cec34aa4
Revert "Add wp-viewporter"
...
This reverts commit 348690afb6 .
Apparently this breaks input in Chromium: the input region won't resize
together with the window.
2024-03-10 17:59:10 +04:00
Ivan Molodetskikh
4ea90140d4
Fix warning on --no-default-features
2024-03-09 18:36:01 +04:00
Ivan Molodetskikh
9d7c39b89a
Reposition outputs after potentially changing mode
...
Currently outputs aren't repositioned again after a mode change, which
can cause overlaps.
2024-03-09 08:23:57 +04:00
Ivan Molodetskikh
03fe864d07
Add xdg-foreign
2024-03-08 17:08:58 +04:00
Ivan Molodetskikh
348690afb6
Add wp-viewporter
...
Doesn't hurt I guess.
2024-03-08 16:52:54 +04:00
sodiboo
ca22e70cc4
Implement wlr-screencopy v1 ( #243 )
...
* Implement wlr-screencopy
* Finish the implementation
Lots of changes, mainly to fix transform handling. Turns out, grim
expects transformed buffers and untransforms them by itself using info
from wl_output. This means that render helpers needed to learn how to
actually render transformed buffers.
Also, it meant that y_invert is no longer needed.
Next, moved the rendering to the Screencopy frame handler. Turns out,
copy() is more or less expected to return immediately, whereas
copy_with_damage() is expected to wait until the next VBlank. At least
that's the intent I parse reading the protocol.
Finally, brought the version from 3 down to 1, because
copy_with_damage() will need bigger changes. Grim still works, others
not really, mainly because they bind v3 unnecessarily, even if they
don't use the damage request.
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-03-08 04:10:55 -08:00
Ivan Molodetskikh
93243d7772
Disentangle frame callback sequence from real DRM sequence
...
It can currently happen that the estimated VBlank timer fires right
before a real VBlank, which can cause some sequence collisions, which
might cause frame callbacks to never be sent. To prevent this, just
track the frame callback sequence fully separately. There isn't really
any harm in this, and if we accidentally increment it more frequently
than necessary then nothing terrible will happen.
2024-03-02 08:20:17 +04:00
Ivan Molodetskikh
ba10bab010
Implement horizontal touchpad swipe
2024-02-29 09:51:49 +04:00
Christian Meissl
719697179f
input: add basic touch support
2024-02-28 13:19:41 +04:00
Christian Meissl
5ac350d51c
chore: update smithay
2024-02-28 13:19:41 +04:00
Ivan Molodetskikh
ec156a8587
Add environment {} config section
2024-02-24 10:08:56 +04:00
Ivan Molodetskikh
2317021a7c
Implement explicit unmapped window state tracking
2024-02-23 14:01:32 +04:00
Ivan Molodetskikh
af6485cd8c
Fix new warnings
2024-02-22 14:04:18 +04:00
Ivan Molodetskikh
d1fe6930a7
Move UI elements into submodule
2024-02-21 10:50:30 +04:00