aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2024-02-29backend/libinput: use NULL to indicate missing device nameSimon Ser
libinput guarantees that the name is non-NULL, and an empty string if unset. However wlroots uses NULL to indicate that an input device name is unset.
2024-02-28pointer: drop enum wlr_axis_orientationSimon Ser
Instead, use enum wl_pointer_axis from the Wayland protocol.
2024-02-28pointer: drop enum wlr_axis_relative_directionSimon Ser
Instead, use enum wl_pointer_axis_relative_direction from the Wayland protocol.
2024-02-28pointer: use enum wl_pointer_button_stateSimon Ser
2024-02-28pointer: drop enum wlr_axis_sourceSimon Ser
Instead, use enum wl_pointer_axis_source from the Wayland protocol.
2024-02-28input-device: add doc commentsSimon Ser
2024-02-23render/egl: drop wlr_egl_is_current()Simon Ser
This is unused.
2024-02-23render/egl: drop wlr_egl_save_context()Simon Ser
This is no longer used.
2024-02-23render/egl: add save_context parameter to wlr_egl_make_current()Simon Ser
Saving the old context and immediately making our own context current is a common pattern. Let's make it easier to do. No functional change, just refactoring.
2024-02-23xwayland: add map_request signalJohn Lindgren
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.
2024-02-21backend/drm: don't destroy previous DRM master blobsSimon Ser
On startup, we fetch the previous MODE_ID blob ID so that compositors can keep using the previous mode if they want to. However, that blob doesn't belong to us, it belongs to the previous DRM master. As a result, we get an error when trying to destroy it. Fix this by tracking whether the blob belongs to us or not. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3811
2024-02-21backend/drm: fix broken link to KMS property docsSimon Ser
The Linux graphics section of 01.org is no more. Link to more official docs instead.
2024-02-15backend/drm: move restore logic to drm.cSimon Ser
We'll need to use a bunch of internal functions from that file in the next commits.
2024-02-14backend/drm: atomically reset state after VT switchSimon Ser
Allows the KMS driver to parallelize the modesets, so should be faster than going through each CRTC one by one.
2024-02-14backend/drm: drop wlr_drm_backend arg from create_mode_blob()Simon Ser
No need for this, the backend can be grabbed from the connector.
2024-02-12ext-foreign-toplevel-list-v1: new protocol implementationcolumbarius
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>
2024-02-06linux_dmabuf_v1: allow callbacks for checking dmabuf importAustin Shafer
2024-02-06xdg-shell: drop automatic surface configurationKirill Primak
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.
2024-02-02allocator: remove backend parameter in allocator_autocreate_with_drm_fdAustin Shafer
Since we only use the backend capabilities here we can simply pass them in directly. This allows other locations to create an allocator even if they don't have a backend. They can simply specify the caps they want instead.
2024-02-02switch: add docsSimon Ser
2024-02-01backend/session: add docsSimon Ser
2024-02-01compositor: drop wlr_surface.external_damageKirill Primak
2024-01-31render/pixel-format: Move has_alpha into it's own arrayLeo Li
Some opaque pixel formats (nv12, p010) require per-plane bytes_per_block info. However, it doesn't make sense to store them in wlr_pixel_format_info, as they will never be useful (currently, this info is used for shm, which doesn't have a concept of multi-planar buffers.) Let's define a separate array and function for determining whether a pixel format has alpha.
2024-01-31Create & implement transient seat protocolAndri Yngvason
2024-01-31linux-dmabuf-v1: switch to stableSimon Ser
The protocol is no longer unstable.
2024-01-31linux-dmabuf-v1: fix include guard nameSimon Ser
2024-01-29wlr_damage_ring: Replace wlr_damage_ring_rotate_buffer with original list implAlexander Orzechowski
The seq based implementation is complex to reason about and doesn't even work.
2024-01-27compositor: don't get buffer from pending buffer resource too earlyKirill Primak
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3795
2024-01-27scene: release shm buffers once uploadedSimon Ser
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.
2024-01-27compositor: introduce wlr_surface_reject_pending()Kirill Primak
2024-01-25backend: take wl_event_loop instead of wl_display in wlr_backend_autocreate()Simon Ser
2024-01-25backend/multi: take wl_event_loop instead of wl_displaySimon Ser
2024-01-25backend/drm: drop wl_display argumentSimon Ser
We can grab the event loop from the wlr_session instead.
2024-01-25backend/x11: take wl_event_loop instead of wl_displaySimon Ser
2024-01-25backend/wayland: take wl_event_loop instead of wl_displaySimon Ser
2024-01-25backend/libinput: drop wl_display argumentSimon Ser
We can grab the event loop from the wlr_session instead.
2024-01-25backend/headless: take wl_event_loop instead of wl_displaySimon Ser
2024-01-25xwayland: add support for _NET_WM_WINDOW_TYPE_DESKTOP atomGrigory Kirillov
2024-01-25backend: destroy multi backend when primary backend isSimon Ser
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.
2024-01-24output: Drop pending stateAlexander Orzechowski
2024-01-23backend/wayland: populate pointer axis relative directionSimon Ser
2024-01-23seat/pointer: add support for axis_relative_direction eventSimon Ser
2024-01-23pointer: add support for axis relative directionSimon Ser
2024-01-17keyboard: fix type of wlr_keyboard_modifiers.groupIsaac Freund
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.
2024-01-07fix outdated comment in wlr_output.hMaxVerevkin
2024-01-03wl_drm: add deprecation noticeSimon Ser
2024-01-03region: add docs for wlr_region_scale_xy() and wlr_region_confine()Simon Ser
2023-12-30backend/drm: save current refresh rateSimon Ser
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
2023-12-27scene: drop wlr_scene_set_presentation()Simon Ser
2023-12-27presentation-time: drop wlr_presentation argSimon Ser
There can only be a single presentation-time global advertised to clients, this it's unnecessary to pass around the wlr_presentation pointer.