Simon Ser
df0c926a7a
xdg-shell: rename wlr_xdg_toplevel.added to sent_initial_configure
...
This is more descriptive, and avoids the confusion with
wlr_xdg_surface.added.
2023-01-31 16:20:33 +01:00
Simon Ser
0e54b861e9
seat/keyboard: constify wlr_seat_keyboard_notify_enter()
2023-01-26 15:06:45 +00:00
Simon Ser
695d28c250
seat/keyboard: constify wlr_seat_keyboard_notify_modifiers()
2023-01-26 15:06:45 +00:00
Simon Ser
e44834595d
seat/keyboard: constify args in wlr_seat_keyboard_enter()
2023-01-26 15:06:45 +00:00
Simon Ser
12e04d8f83
seat/keyboard: constify wlr_seat_keyboard_send_modifiers()
2023-01-26 15:06:45 +00:00
Alexander Orzechowski
5007e713b4
wlr_scene: Send intersecting list of scene outputs for outputs_update signal
2023-01-21 16:23:30 -05:00
Kirill Primak
843b874f22
output-layout: improve closest point for no outputs case
...
Without outputs, all points are equally invalid anyway, but for e.g.
cursor warping it makes more sense to preserve the original position.
2023-01-21 12:48:43 +00:00
Simon Ser
e93ecc669c
tablet-tool: revert bitfield in enum wlr_tablet_tool_tip_state
...
This was changed to a bitfield by mistake.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3484#note_1697926
2023-01-03 20:15:55 +00:00
Isaac Freund
869af1cfbb
session-lock: send more protocol errors
...
The invalid_destroy and invalid_unlock protocol errors aren't currently
sent by wlroots and instead left up to the compositor. However, we can
handle these as well without much additional complexity.
This also adds a missing wl_resource_destroy() call if the lock is inert
in lock_handle_unlock_and_destroy().
2022-12-23 16:56:42 +01:00
Simon Ser
7081687843
keyboard: improve documentation
2022-12-15 19:49:45 +00:00
xiliuya
7f6d646e0a
keyboard: only update LEDs when changed
2022-12-14 17:51:06 +01:00
Kirill Primak
8f58c060fd
util/region: forbid "shrinking" a region with wlr_region_expand()
...
The logic isn't correct.
2022-12-09 16:46:36 +00:00
Ronan Pigott
f8e70af318
wlr_xdg_activation_v1: add new_token event
2022-12-06 05:45:37 +00:00
Kirill Primak
097ea84cda
output-layout: improve API
...
- wlr_output_layout_add{,_auto}() now return a bool indicating whether
the function has succeeded.
- wlr_output_layout_move() is removed.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1083
2022-12-05 18:21:04 +00:00
Kirill Primak
27ea18cc33
output-layout: remove wlr_output_layout_output_state
...
wlroots uses "// private state" comments to denote structure fields
which shouldn't be accessed by compositors, so let's drop
wlr_output_layout_output_state and inline its fields into
wlr_output_layout_output; this also simplifies layout output creation.
2022-12-05 18:21:04 +00:00
Kirill Primak
604df8b327
output-layout: fix function decl indentation
2022-12-05 18:21:04 +00:00
Simon Ser
532f3d3c20
xwayland/xwm: replace role with addon
...
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3545
2022-12-05 18:48:15 +01:00
Simon Ser
512deebd82
compositor: add wlr_surface.events.precommit
2022-12-05 10:51:46 +01:00
Simon Ser
c4727240af
compositor: document wlr_surface_{enter,leave,send_frame_done}
2022-12-03 16:52:32 +00:00
Alexander Orzechowski
ec846adb54
wlr_drm: Add missing wlr_buffer import
2022-12-03 07:57:40 -05:00
Simon Ser
f36a5915da
wl-drm: don't store wlr_renderer
...
Query the formats at init time, then forget about the renderer.
This will allow wl_drm to be created with a list of formats instead
of a renderer, and will behave better after a GPU reset.
2022-12-02 14:27:07 +00:00
Simon Ser
c8eb24d30e
output: drop enable/mode events
...
The backend no longer changes the output state behind the
compositor's back. Instead, compositors can listen to the "commit"
event and check for WLR_OUTPUT_STATE_ENABLED/WLR_OUTPUT_STATE_MODE.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2300
2022-12-01 20:05:04 +00:00
Simon Ser
19dfe99496
output-damage: stop listening for output mode events
...
These will go away.
2022-12-01 20:05:04 +00:00
Simon Ser
fecbaa2bd6
scene: stop listening for output enable/mode events
...
These will go away.
2022-12-01 20:05:04 +00:00
Alexander Orzechowski
fe891ebd4e
output_init_render: Allow re-initialization
...
This lets the compositor call this function after the fact to replace
the renderer/allocator after a renderer context lost.
2022-12-01 10:01:35 +00:00
Alexander Orzechowski
db0e962368
wlr_texture: Expose owning renderer
2022-12-01 04:41:43 -05:00
Simon Ser
f103dc74d8
linux-dmabuf-v1: introduce wlr_linux_dmabuf_v1_create()
...
Some compositors may want to use the linux-dmabuf-v1 implementation
with a completely custom renderer. Add a function to create the
global with a default feedback.
2022-11-30 14:19:46 +01:00
Simon Ser
9c04fd2496
linux-dmabuf-v1: drop wlr_renderer field
...
This isn't used anymore.
2022-11-30 14:19:46 +01:00
Simon Ser
88493d1f7c
linux-dmabuf-v1: don't use wlr_renderer to send legacy format list
...
The wlr_renderer field will go away in a subsequent commit.
Build the legacy device list from the default feedback instead.
2022-11-30 14:19:46 +01:00
Simon Ser
d45cffb865
linux-dmabuf-v1: don't use wlr_renderer to sanity check DMA-BUFs
...
The wlr_renderer field will go away in a subsequent commit.
Instead of trying to create a texture, try to import the DMA-BUF
into the DRM device FD.
2022-11-30 14:14:07 +01:00
Simon Ser
c99c60090c
linux-dmabuf-v1: add version arg to create()
...
To be able to add support for newer versions without breaking
changes.
2022-11-30 14:14:04 +01:00
Simon Ser
444d94ef89
linux-dmabuf-v1: add "_with_renderer" suffix to create() function
...
Make it clear this is a helper consuming a wlr_renderer. We'll
add a lower-level create() function which doesn't take it in the
next commit.
2022-11-30 14:14:02 +01:00
Simon Ser
f0375eed24
backend/session: make optional
...
Some compositors are not interested in wlr_session, for instance
nested compositors.
Disabling wlr_session removes the udev dependency.
2022-11-25 16:15:29 +00:00
Simon Ser
76b3687739
shm: add create() function without a wlr_renderer
...
This allows compositors which don't use wlr_renderer to still use
wlroots' wl_shm implementation.
2022-11-25 15:16:42 +00:00
Kirill Primak
060df4c6c0
scene: introduce wlr_scene_buffer.events.outputs_update
...
This event is useful for e.g. sending the preferred buffer scale to the
client.
2022-11-24 22:28:13 +00:00
Simon Ser
42016fa262
compositor: make renderer optional
...
This is a first step towards moving texture uploading out of
wlr_compositor.
This commit allows compositors to opt-out of the texture uploading
by passing a NULL wlr_renderer. An immediate user of this is
gamescope, which currently implements a stub wlr_renderer just to
make wlr_compositor happy.
2022-11-24 21:55:24 +00:00
Simon Ser
359df5ef84
compsitor: document wlr_compositor_create()
2022-11-24 21:55:24 +00:00
Simon Ser
d47016abb2
backend/multi: stop pulling <wlr/backend/session.h>
...
Unused.
2022-11-24 21:50:28 +00:00
Simon Ser
0fa5743c26
render/gles2, render/pixman: stop pulling <wlr/backend.h>
...
No reason why the GLES2/Pixman renderers should depend on the
backend.
2022-11-24 21:50:28 +00:00
Simon Ser
b89a050e58
backend: stop pulling <wlr/backend/session.h>
...
We can just forward-declare the struct instead.
2022-11-24 21:50:28 +00:00
Simon Ser
ba13f471ea
backend/session: drop unused <libudev.h>
...
We don't actually need to pull that header here.
2022-11-24 21:50:28 +00:00
Simon Ser
99134c26b8
render: stop pulling <wlr/backend.h>
...
Let's just forward-declare struct wlr_backend instead.
We need to fixup the Vulkan renderer: it needs makedev(), which
got included by chance via <wlr/backend.h> → <wlr/backend/session.h>
→ <libudev.h>.
2022-11-24 21:50:28 +00:00
Simon Ser
4ff46e6cf9
xwayland/xwm: add support for xwayland-shell-v1
2022-11-18 15:35:20 +00:00
Simon Ser
85b37127a6
xwayland/shell: add wlr_xwayland_shell_v1_surface_from_serial()
2022-11-18 15:35:20 +00:00
Simon Ser
d19191ff6b
xwayland/server: delay non-lazy startup
...
This allows users to setup event listeners before the server is
actually started.
2022-11-18 15:35:20 +00:00
Simon Ser
3f40b0031f
xwayland/server: add start signal
...
This can be used to know when wlr_xwayland_server decides to start
a new Xwayland process. At that point the wl_client has already
been created but the Xwayland process hasn't been started yet.
2022-11-18 15:35:20 +00:00
Simon Ser
d3b84463f8
xwayland: add wlr_xwayland_shell_v1_destroy()
2022-11-18 15:35:20 +00:00
Simon Ser
44c7e233ff
xwayland: add wlr_xwayland_shell_v1_set_client()
2022-11-18 15:35:20 +00:00
Simon Ser
69b0b296a2
xwayland-shell-v1: new protocol implementation
...
References: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/163
2022-11-18 15:35:20 +00:00
Kirill Primak
236918d52e
Nuke deprecated include/wlr/types/wlr_surface.h
...
Use wlr_compositor.h and wlr_subcompositor.h instead.
2022-11-17 10:12:06 +00:00