aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
AgeCommit message (Collapse)Author
2020-11-23surface: Make send_enter store entered outputsKenny Levinsen
wlr_surface_send_enter now stores outputs that have been entered. Combined with a new 'bind' event on wlr_output, this allows us to delay enter events as necessary until the respective wl_output global has been bound. Closes: https://github.com/swaywm/wlroots/issues/2466
2020-11-19backend/session: replace session_signal with events.activeSimon Ser
This is more idiomatic wlroots API. The new name makes it clear that the signal is emitted when wlr_session.active changes.
2020-11-19backend/session: wait for DRM device if none foundSimon Ser
Wait for a DRM device if none is found in wlr_session_find_gpus. This can happen if the compositor is loaded before the display kernel driver. This supersedes the logind CanGraphical property. To test, e.g. with i915 and sway: rmmod -f i915 sway & modprobe i915 Closes: https://github.com/swaywm/wlroots/issues/2093
2020-11-19backend/session: introduce wlr_session.events.add_drm_cardSimon Ser
This is triggered when a new DRM card is added. An easy way to test this patch is `modprobe vkms`.
2020-11-19backend/session: operate on wlr_deviceSimon Ser
Instead of operating on FDs in {open,close}_device, operate on wlr_devices. This avoids the device lookup in wlr_session and allows callers to have access to wlr_device fields. For now, we use it to remove wlr_session_signal_add and replace it with a more idiomatic wlr_session.events.change field. In the future, other events will be added.
2020-11-19texture: document that functions should not be called while renderingIlia Bozhinov
2020-11-19render/egl: stop including eglmesaext.hSimon Ser
This is a Mesa-specific header that was needed because some Wayland EGL extensions were missing from the Khronos registry. Now that this has been fixed [1] and Mesa [2] & glvnd [3] have sync'ed their headers, we can drop this workaround. [1]: https://github.com/KhronosGroup/EGL-Registry/pull/95 [2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953 [3]: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/225
2020-11-15render: introduce wlr_renderer_get_drm_fdSimon Ser
2020-11-15render/egl: introduce wlr_egl_dup_drm_fdSimon Ser
2020-11-15render: introduce wlr_renderer_bind_bufferSimon Ser
2020-11-15buffer: add wlr_client_buffer_getSimon Ser
2020-11-11Remove unneeded includes from wlr_input_device.hIsaac Freund
This uncovered many places where we were using things without directly including them.
2020-11-11Use uint32_t in wlr_renderer_begin signatureIsaac Freund
This matches the signature of wlr_renderer_impl.begin
2020-11-11Replace wlr_key_state with wl_keyboard_key_stateIsaac Freund
There's no reason to have duplicate enums
2020-11-05xwayland: remove unused listenerIsaac Freund
2020-11-05screencopy: perform DMA-BUF copy on output commitSimon Ser
2020-11-05export-dmabuf: export DMA-BUF on output commitSimon Ser
We were previously exporting DMA-BUFs when receiving the capture_output request, and sending a done event on wlr_output.events.precommit. Instead, export and send done on wlr_output.events.commit.
2020-11-05output: add when field to wlr_output_event_commitSimon Ser
Similar to the one already present in wlr_output_event_precommit.
2020-11-05output: update docs to reflect realitySimon Ser
The docs were outdated and weren't matching what the DRM backend does (the only implementor of wlr_output_export_dmabuf).
2020-11-03gamma-control-v1: apply gamma LUT when output gets enabledSimon Ser
Closes: https://github.com/swaywm/wlroots/issues/2372
2020-11-02render: define EGL_NO_PLATFORM_SPECIFIC_TYPES (#2452)Simon Ser
This avoids Xlib.h inclusion via EGL headers. See [1] for discussion. This change is based on a Weston commit [2]. [1]: https://github.com/KhronosGroup/EGL-Registry/pull/111 [2]: https://gitlab.freedesktop.org/wayland/weston/commit/526765ddfdfd
2020-10-31render/dmabuf: use bitmask for wlr_dmabuf_attributes_flagsTudor Brindus
2020-10-31util/edges: use bitmask for wlr_edgesTudor Brindus
2020-10-31types/wlr_output_layout: use bitmask for wlr_directionTudor Brindus
2020-10-31types/wlr_keyboard: use bitmasks for wlr_keyboard_led and ↵Tudor Brindus
wlr_keyboard_modifier enums
2020-10-18foreign-toplevel-management: report parent toplevelDaniel Kondor
Based on the wlr-protocols PR: https://github.com/swaywm/wlr-protocols/pull/52
2020-10-18wlr_drag: remove unused point_destroy fieldIsaac Freund
2020-10-16xdg_positioner: remove unused fieldIsaac Freund
The resource field of wlr_xdg_positioner is never initialized or accessed within wlroots. The wl_resource for this interface is stored in the wlr_xdg_positioner_resource struct.
2020-10-14xwayland: add set_geometry eventIlia Bozhinov
This is necessary to react to changes in position of override-redirect views.
2020-09-10layer-shell: add for_each_popupIsaac Freund
This brings the layer-shell api in line with that of xdg-shell and avoids reimplementing this function in every compositor in order to render layer shell popups correctly.
2020-09-03Remove xdg-shell v6Drew DeVault
Ding dong the witch is dead Fixes #2381
2020-08-27output-power-management-v1: listen to output commitSimon Ser
2020-08-27output: introduce wlr_output_event_commitSimon Ser
This event contains a `committed` bitfield, which allows callers to know which output fields changed during the commit. This allows users to setup a single atomic commit listener, instead of setting up one listener for each event (mode, scale, transform, and so on). References: https://github.com/swaywm/wlroots/issues/2098
2020-08-27xdg-shell: split last-acked and current stateIsaac Freund
These states are distinct in the time period between the ack_configure and the next commit on the surface. Splitting these states avoids the following race for example: - client starts at 1000x1000 - wlr_xdg_toplevel_set_size 500x500 - size is different -> configure sent - client acks the configure - wlr_xdg_toplevel_set_size 1000x1000 - compare_xdg_toplevel_state returns true since there is no pending configure and the currently committed size is still 1000x1000 - no new configure is sent - client commits at the size it last acked, 500x500
2020-08-24session: Add libseat backendKenny Levinsen
2020-07-28render/gles2: make wlr_gles2_texture_from_* privateSimon Ser
These functions are unused by compositors (see e.g. [1]) and prevent wlr_gles2_texture from accessing wlr_gles2_renderer state. This is an issue for proper teardown [2] and for accessing GLES2 extensions. [1]: https://github.com/swaywm/wlroots/pull/1962#issuecomment-569511830 [2]: https://github.com/swaywm/wlroots/pull/1962
2020-07-21xwm: add support for xwayland minimizeTobias Langendorf
2020-07-15input/pointer: add wlr_seat_pointer_wrapTudor Brindus
It allows a compositor to do things like skip motion events on pointer constraint unlock. References: https://github.com/swaywm/sway/pull/5431
2020-07-08input-method: implement keyboard grabsxdavidwu
2020-07-08virtual-keyboard: add wlr_input_device_get_virtual_keyboardxdavidwu
2020-07-07layer-shell: remove unused surface listIsaac Freund
This was rendered useless in 5cde359.
2020-06-30output: add backend docsSimon Ser
2020-06-19output: rename impl->rollback to rollback_renderSimon Ser
The output backend API is now mostly state-less thanks to the atomic hooks (commit and test). There is one exception though: attach_render. This function makes the rendering context current. However sometimes the compositor might decide not to render after attach_render (e.g. when there's nothing new to render to the back buffer). Thus wlr_output_rollback has been introduced to revert the pending state. Because the output backend API is mostly state-less, the only thing wlr_output_impl.rollback needs to do is revert the current rendering context. Rename the function to rollback_render to make this clear. Add a check in the common wlr_output code to only call rollback_render when attach_buffer has been previously called. On the long term, we'll be able to remove attach_render and rollback_render together.
2020-06-17viewporter: new protocol implementationSimon Ser
Closes: https://github.com/swaywm/wlroots/issues/633
2020-06-17surface: introduce wlr_surface_get_buffer_source_boxSimon Ser
This helper allows compositors to retrieve the buffer source box in buffer-local coordinates.
2020-06-17surface: add wlr_surface_state.viewportSimon Ser
This field contains the viewport source and destination parameters. It's intended to be updated by a third-party protocol, for instance viewporter.
2020-06-17render: add wlr_render_subtexture_with_matrixSimon Ser
This renders only a subset of the texture, instead of the full texture.
2020-06-17util/region: add wlr_region_scale_xySimon Ser
2020-06-17box: add wlr_fboxSimon Ser
Same as wlr_box, but for floating-point numbers.
2020-06-09output: document wlr_output_export_dmabufSimon Ser