John Lindgren
2521fba37c
xwayland: add map_request signal
...
For XWayland surfaces that start maximized, it's best to send an initial
Configure event to set the size of the surface before mapping it. This
reduces visual glitches since the application sees the correct maximized
size when performing its initial layout and drawing.
wlroots surfaces emit their first "map" event after the XWayland window
has already been mapped and the first frame has been drawn & committed.
This is too late to send the initial Configure event.
So, add a new "map_request" event which is emitted immediately before
telling XWayland to map the window. Compositors can connect to this
event to send the initial Configure event to an XWayland app based on
its requested maximized (or fullscreen) state.
Compositors should not place anything visually on the screen at this
point but rather wait until the "map" event as before.
9 months ago
columbarius
9e426e70e6
ext-foreign-toplevel-list-v1: new protocol implementation
...
This implements the new ext-foreign-toplevel-list-v1 protocol [1].
Implemented analog to the zwlr-foreign-toplevel-management-v1 implementation.
The additional _ext_ in the names was added to avoid name collisions.
[1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/187
Co-authored-by: Leon Henrik Plickat <leonhenrik.plickat@stud.uni-goettingen.de>
10 months ago
Austin Shafer
4cd556ea20
linux_dmabuf_v1: allow callbacks for checking dmabuf import
10 months ago
Kirill Primak
811ca199c4
xdg-shell: drop automatic surface configuration
...
Compositors now are expected to wait for an initial commit by checking
wlr_xdg_surface.initial_commit on every surface commit and send
(schedule) configure events manually.
10 months ago
Simon Ser
a8aeadeab2
switch: add docs
10 months ago
Simon Ser
967e788bc8
backend/session: add docs
10 months ago
Kirill Primak
7dfbd87771
compositor: drop wlr_surface.external_damage
10 months ago
Andri Yngvason
3a91dc1b48
Create & implement transient seat protocol
10 months ago
Simon Ser
6991f03767
linux-dmabuf-v1: switch to stable
...
The protocol is no longer unstable.
10 months ago
Simon Ser
ba3c1ae065
linux-dmabuf-v1: fix include guard name
10 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.
10 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
10 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.
10 months ago
Kirill Primak
0052078bd3
compositor: introduce wlr_surface_reject_pending()
10 months ago
Simon Ser
d1b39b5843
backend: take wl_event_loop instead of wl_display in wlr_backend_autocreate()
10 months ago
Simon Ser
f27808b8d9
backend/multi: take wl_event_loop instead of wl_display
10 months ago
Simon Ser
54f9944b48
backend/drm: drop wl_display argument
...
We can grab the event loop from the wlr_session instead.
10 months ago
Simon Ser
b62ac611c8
backend/x11: take wl_event_loop instead of wl_display
10 months ago
Simon Ser
ed0bba581b
backend/wayland: take wl_event_loop instead of wl_display
10 months ago
Simon Ser
f5e8fa48f3
backend/libinput: drop wl_display argument
...
We can grab the event loop from the wlr_session instead.
10 months ago
Simon Ser
682dbf36e5
backend/headless: take wl_event_loop instead of wl_display
10 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.
10 months ago
Alexander Orzechowski
cca2bfbe92
output: Drop pending state
10 months ago
Simon Ser
00bb1b0f84
seat/pointer: add support for axis_relative_direction event
10 months ago
Simon Ser
88b16bac54
pointer: add support for axis relative direction
10 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
MaxVerevkin
48721bca65
fix outdated comment in wlr_output.h
11 months ago
Simon Ser
d0da76fbf6
wl_drm: add deprecation notice
11 months ago
Simon Ser
57d7d79982
region: add docs for wlr_region_scale_xy() and wlr_region_confine()
11 months ago
Simon Ser
ab924064f2
scene: drop wlr_scene_set_presentation()
11 months 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.
11 months ago
Simon Ser
1968ada213
tearing-control-v1: synchronize state with surface
11 months ago
Simon Ser
0ea6b6e2cc
session-lock-v1: use wlr_surface_synced
11 months ago
Simon Ser
90e12fb978
pointer-constraints-v1: use wlr_surface_synced
11 months ago
Simon Ser
a6122c3ec5
layer-shell-v1: use wlr_surface_synced
11 months ago
Simon Ser
0e3d2222c2
xdg-decoration: use wlr_surface_synced for toplevel
11 months ago
Simon Ser
96aec06b0a
subcompositor: use wlr_surface_synced
11 months ago
Simon Ser
4b3553409a
xdg-shell: use wlr_surface_synced for popups
11 months ago
Simon Ser
9201431c29
xdg-shell: use wlr_surface_synced for toplevel
11 months ago
Simon Ser
69d9a4e2cb
xdg-shell: use wlr_surface_synced for wlr_xdg_surface
11 months ago
Simon Ser
7e1ae5548c
compositor: add wlr_surface_role.client_commit
11 months ago
Simon Ser
d847516765
compositor: add wlr_surface_synced
...
A lot of protocols extend the wl_surface state. Such protocols need
to synchronize their extended state with wl_surface.commit and
cached states. Add a new utility for this purpose.
11 months ago
Simon Ser
34d5af4172
compositor: add wlr_surface_state_has_buffer()
11 months ago
Simon Ser
43734f7c62
compositor: fix wlr_surface_has_buffer() doc comment
...
The function does not check whether the upload succeeded: it does
not check the wlr_client_buffer.
11 months ago
Simon Ser
66b6c349e7
compositor: remove unnecessary wlr_surface.has_buffer
...
No need to store this bit, we can infer it from buffer_width and
buffer_height.
11 months ago
Simon Ser
85f44f3684
pointer-constraints-v1: add cursor_hint.enabled
...
This allows compositors to check whether the cursor hint is set.
11 months ago
Simon Ser
fc7a0b93dd
backend/drm: add wlr_drm_backend_get_parent()
...
Allows compositors to figure out whether a DRM backend is
secondary on a multi-GPU setup.
12 months ago
Roman Gilg
3531007b75
render/pixman: add wlr_pixman_renderer_get_buffer_image()
...
This is similar to wlr_pixman_texture_get_image and can be useful for
compositors to access the rendering data.
12 months ago
Simon Ser
1f64f3925c
render/gles2: add wlr_gles2_renderer_get_buffer_fbo()
...
Replacement for wlr_gles2_renderer_get_current_fbo(). Wayfire uses
it for instance.
12 months ago
Simon Ser
6a2ff0dffe
compositor: drop surface precommit event
...
This is unused.
1 year ago