Andri Yngvason
3a91dc1b48
Create & implement transient seat protocol
11 months ago
Simon Ser
435ca39960
linux-dmabuf-v1: bump to v5
...
We already send a protocol error when the modifiers aren't the same
for all planes.
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/224
11 months ago
Simon Ser
6991f03767
linux-dmabuf-v1: switch to stable
...
The protocol is no longer unstable.
11 months ago
Simon Ser
ba3c1ae065
linux-dmabuf-v1: fix include guard name
11 months ago
Kirill Primak
92ff86db23
backend/drm: use wlr_drm_backend.name for fd cloning
...
This also fixes a memleak.
11 months ago
Alexander Orzechowski
8dff1bb9bd
wlr_damage_ring: Replace wlr_damage_ring_rotate_buffer with original list impl
...
The seq based implementation is complex to reason about and doesn't even
work.
11 months ago
Kirill Primak
4688a371e0
compositor: don't get buffer from pending buffer resource too early
...
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3795
11 months ago
Simon Ser
00b869c1a9
backend/drm: add support for atomic tearing page-flips
...
The kernel patches [1] have been merged.
[1]: https://patchwork.freedesktop.org/series/120103/
11 months ago
Simon Ser
4ec901bb33
scene: release shm buffers once uploaded
...
Once a shm buffer is uploaded there's no reason for wlr_scene_buffer
to keep it locked any further. Allow the compositor to re-use it.
11 months ago
Kirill Primak
0052078bd3
compositor: introduce wlr_surface_reject_pending()
11 months ago
Félix Poisot
5ae8ce807a
render/vulkan: correct sRBG gamma expansion in shader
11 months ago
Simon Ser
d1b39b5843
backend: take wl_event_loop instead of wl_display in wlr_backend_autocreate()
11 months ago
Simon Ser
f27808b8d9
backend/multi: take wl_event_loop instead of wl_display
11 months ago
Simon Ser
54f9944b48
backend/drm: drop wl_display argument
...
We can grab the event loop from the wlr_session instead.
11 months ago
Simon Ser
b62ac611c8
backend/x11: take wl_event_loop instead of wl_display
11 months ago
Simon Ser
ed0bba581b
backend/wayland: take wl_event_loop instead of wl_display
11 months ago
Simon Ser
f5e8fa48f3
backend/libinput: drop wl_display argument
...
We can grab the event loop from the wlr_session instead.
11 months ago
Simon Ser
682dbf36e5
backend/headless: take wl_event_loop instead of wl_display
11 months ago
Grigory Kirillov
0867dd4e6b
xwayland: add support for _NET_WM_WINDOW_TYPE_DESKTOP atom
11 months ago
Simon Ser
3cc4374542
backend: stop calling wl_display_terminate()
...
Leave it up to the compositor to decide what to do when a backend
becomes unavailable.
11 months ago
Simon Ser
4ad6e6c298
backend: destroy multi backend when primary backend is
...
This makes it easy for compositors to handle situations where the
DRM or libinput backend becomes unavailable. Compositors can listen
the destroy event of the multi backend returned by
wlr_backend_autocreate() and decide what to do.
11 months ago
Simon Ser
be0b7845f7
backend: make attempt_drm_backend() return the primary backend
...
We'll need this in the next commit.
11 months ago
Simon Ser
a82fc4cb8f
backend/multi: emit destroy signal before destroying child backends
...
Some users might want to destroy the multi backend when a child
backend is being destroyed. However, they can't destroy the multi
backend if it's already in the process of being destroyed.
The destroy signal was changed to be emitted after destroying child
backends in babdd6ccf7
("backend: fix use-after-free when destroying
backends"). However, this was done to accomodate for an old
"output_remove" event on backends, which has long been dropped in
favor of wlr_output.events.destroy.
This patch follows the same principle as 5d639394f3
("types/output: emit destroy event before destroying global").
11 months ago
Sarunas Valaskevicius
7c080c3b60
Fix disappearing menus in QT apps
...
A motivating example of such problem - Zoom's popups that open on button presses.
Before this fix the popup would flicker and immediately disappear - because the PID is not yet
available for the verification (as the surface has not been associated yet), wlroots would refuse to
focus the popup and instead focus the previous window. This leads QT to interpret this as a sign to
close the popup.
This change moves the PID aqcuisition to an earlier phase - just where the window is created.
11 months ago
Alexander Orzechowski
cca2bfbe92
output: Drop pending state
11 months ago
Kirill Primak
f91fc445ff
xwayland/xwm: associate even on xcb_get_property() failure
...
This matches the behavior before f5797be8a8
.
11 months ago
Simon Ser
98c708618e
backend/wayland: populate pointer axis relative direction
11 months ago
Simon Ser
7a58f41416
backend/libinput: populate pointer axis relative direction
11 months ago
Simon Ser
00bb1b0f84
seat/pointer: add support for axis_relative_direction event
11 months ago
Simon Ser
88b16bac54
pointer: add support for axis relative direction
11 months ago
Simon Ser
b80337a8f2
xdg-shell: assert that configure events carry positive or zero sizes
...
Negative values here would indicate a compositor bug. For xdg_popup,
zero values are not allowed.
11 months ago
Kirill Primak
be1c48cbfb
layer-shell: forbid set_size with values ≥INT32_MAX
11 months ago
Kirill Primak
0b090c83fb
single-pixel-buffer: send wl_buffer.release
11 months ago
Kirill Primak
58bb49a00b
security-context-v1: fix possible leaks on wl_client_create() and state copying errors
11 months ago
Kirill Primak
d18670b922
xwayland: close pipe fds on set_cloexec() error
11 months ago
Kirill Primak
db69dcf767
backend/x11: handle touchpoint allocation failure
11 months ago
Kirill Primak
20b99ed854
render/drm_format_set: fix possible leak on realloc error
11 months ago
Kirill Primak
3eb89e5325
render/vulkan: fix possible double free
11 months ago
Isaac Freund
7129eaa1f2
keyboard: fix type of wlr_keyboard_modifiers.group
...
This isn't a breaking change since both of these typedefs are uint32_t
but this should make things a bit less confusing for readers.
11 months ago
Kirill Primak
ce89f49b7a
tinywl: depend on the server xdg-shell header
12 months ago
MaxVerevkin
48721bca65
fix outdated comment in wlr_output.h
12 months ago
Simon Ser
a0b1329ee6
Fix bool return types
...
This makes wlroots build in C23 mode.
C23 is more strict and rejects implicit conversions from bool to a
pointer.
12 months ago
Simon Ser
2f2a55ebd3
render: stop auto-creating wl_drm
...
wl_drm is a legacy interface superseded by the linux-dmabuf
protocol. All clients should migrate.
As a first step, stop creating the wl_drm global by default.
This should let us discover any remaining issues in clients.
Compositors can still manually create the global if they want to.
As a second step, we can completely drop our implementation.
12 months ago
Simon Ser
d0da76fbf6
wl_drm: add deprecation notice
12 months ago
Simon Ser
57d7d79982
region: add docs for wlr_region_scale_xy() and wlr_region_confine()
12 months ago
Simon Ser
f81c3d93cd
backend/drm: save current refresh rate
...
wlr_output.refresh is populated by core wlr_output, and thus will
be zero for a custom mode with an unset refresh rate.
Save the refresh rate from the drmModeModeInfo in wlr_drm_connector
instead.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3791
1 year ago
Simon Ser
ab924064f2
scene: drop wlr_scene_set_presentation()
1 year ago
Simon Ser
d68ba9d6c2
presentation-time: drop wlr_presentation arg
...
There can only be a single presentation-time global advertised to
clients, this it's unnecessary to pass around the wlr_presentation
pointer.
1 year ago
Simon Ser
1968ada213
tearing-control-v1: synchronize state with surface
1 year ago
Simon Ser
0ea6b6e2cc
session-lock-v1: use wlr_surface_synced
1 year ago