aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
AgeCommit message (Collapse)Author
2019-07-17wlr_touch: Declare wlr_touch_impl usage as constSebastian Krzyszkowiak
This brings it in line with wlr_keyboard and wlr_pointer
2019-07-16layer-shell: Remove unused event sourceGuido Günther
2019-06-30wlr_seat: Fix edge cases with serial validationManuel Stoeckl
2019-06-30Implement serial validation for selection requestsManuel Stoeckl
This change tracks, for each wlr_seat_client, the most recent serial numbers which were sent to the client. When the client makes a selection request, wlroots now verifies that the serial number associated with the selection request was actually provided to that specific client. This ensures that the client that was most recently interacted with always has priority for its copy selection requests, and that no other clients can incorrectly use a larger serial value and "steal" the role of having the copy selection. Also, the code used to determine when a given selection is superseded by a newer request uses < instead of <= to allow clients to make multiple selection requests with the same serial number and have the last one hold. To limit memory use, a ring buffer is used to store runs of sequential serial numbers, and all serial numbers earlier than the start of the ring buffer are assumed to be valid. Faking very old serials is unlikely to be disruptive. Assuming all clients are correctly written, the only additional constraint which this patch should impose is that serial numbers are now bound to seats: clients may not receive a serial number from an input event on one seat and then use that to request copy-selection on another seat.
2019-06-24virtual_keyboard: Require keymap before accepting keycodesDorota Czaplejewicz
2019-06-16output: remove wlr_output_impl.transformSimon Ser
The backend doesn't need to handle transform changes, since everything is done in software. In fact, all of the implementations were all identical and just set the transform. We could add support for hardware transforms, but: - This would require a different field (something like hardware_transform) - Not all combinations are possible because there often are hardware limitations - The Wayland protocol isn't ready for this (in particular xdg-output, see [1]) This belongs to a different patch series anyway. [1]: https://patchwork.freedesktop.org/series/52324/
2019-06-16Use a set to track pointer button state.Ashkan Kiani
In addition to `button_count`, we keep track of the current buttons pressed just as in `wlr_keyboard`. Add `set_add` and `set_remove` to assist with this. These functions can only be used with values greater than 0 (such as the button/key masks for keyboards and pointers). Partially addresses: - https://github.com/swaywm/wlroots/issues/1716 - https://github.com/swaywm/wlroots/issues/1593
2019-06-07output: introduce wlr_output_lock_attach_renderSimon Ser
This allows screen shooters and screen grabbers to ensure rendering will be used instead of direct scan-out.
2019-06-07output: fix attach_buffer semanticsSimon Ser
2019-06-07output: change set_dmabuf to attach_bufferSimon Ser
2019-06-07buffer: add wlr_buffer_get_dmabufSimon Ser
2019-06-07render/dmabuf: add wlr_dmabuf_attributes_copySimon Ser
2019-06-07backend/drm: check format when scanning out DMA-BUFSimon Ser
2019-06-07backend/drm: add basic support for direct scan-outemersion
2019-06-02Remove orbital screenshooter and gamma-controlSimon Ser
These are undocumented, outdated protocols that have a better wlr-protocols equivalent.
2019-04-29foreign-toplevel: support fullscreen state and requestIlia Bozhinov
2019-04-27output: introduce wlr_output_schedule_doneSimon Ser
This commit introduces wlr_output_schedule_done and refactors the mechanism used to send wl_output events to clients. wlr_output_schedule_done schedules a wl_output.done event. This allows clients to see wlr_output property changes as atomic. This function is also useful for add-on interfaces like xdg_output which need to trigger a wl_output.done event to apply their new state.
2019-04-26output: disambiguate the two types of damageSimon Ser
See https://github.com/swaywm/wlroots/issues/1665
2019-04-26Remove wlr_wl_shellDrew DeVault
2019-04-23output: rename needs_commit to needs_frameSimon Ser
This new name makes more sense, since it is a request from the backend to get a new frame. In the future a commit may not convey a new frame.
2019-04-23output-damage: refactor APISimon Ser
wlr_output_damage_make_current has been renamed to wlr_output_damage_attach_render, since it's just a wrapper for wlr_output_attach_render. wlr_output_damage_swap_buffers has been removed completely. Instead, wlr_output_damage now listens to successful wlr_output commits and updates its internal state accordingly.
2019-04-23output: rename swap_buffers event to precommitSimon Ser
Also remove damage from the event data since it's no longer tied to commits.
2019-04-23output: refactor backend APISimon Ser
This updates the backend part of the output API. This is mostly renaming: make_current becomes attach_render and swap_buffers becomes commit. This also fixes the RDP backend to support NULL damage.
2019-04-23output: refactor frame submission APISimon Ser
This is necessary for direct scan-out and other upcoming features. This patch changes the output API to look like the wl_surface API. Outputs now have some double-buffered state: the frame to be submitted (currently only wlr_renderer frames are supported) and the damaged region. To attach a pending frame, use wlr_output_attach_render. To set the pending damaged region, use wlr_output_set_damage. To submit the pending state, call wlr_output_commit. This will submit the pending frame to the backend. To migrate from the old API to the new one: - Replace wlr_output_make_current calls by wlr_output_attach_render - Replace wlr_output_swap_buffers calls by wlr_output_set_damage and wlr_output_commit
2019-04-22output: introduce wlr_output_preferred_modeSimon Ser
2019-04-17idle: enable the compositors to add custom idle timeouts (#1655)Ilia Bozhinov
* idle: enable the compositors to add custom idle timeouts * idle: add a private constructor which also creates the resource * idle: move resource creation to the idle implementation callback
2019-04-13output: remove lx, lyemersion
Fixes https://github.com/swaywm/wlroots/issues/1610
2019-04-11output-management-v1: add more docsemersion
2019-04-11output-management-v1: support outputs without modesemersion
2019-04-11output-management-v1: support applying configurationemersion
2019-04-11output-management-v1: add support for position, transform and scaleemersion
2019-04-11output-management-v1: add support for modesemersion
2019-04-11Add apply and test events to manageremersion
2019-04-11Split wlr_output_configuration_head_v1emersion
2019-04-11Add support for wlr-output-management-unstable-v1emersion
2019-04-08Add FreeRDP backend for remote desktop supportDrew DeVault
2019-04-01render: switch wlr_renderer to wlr_drm_format_setemersion
2019-04-01render: introduce wlr_drm_format_setScott Anderson
This types adds a container for formats + modifiers. A list that is of [format [modifier]] was chosen instead of [format modifer] because that is how GBM accepts them. Co-Authored-By: emersion <contact@emersion.fr>
2019-03-27wlr_xdg_toplevel_v6: store pending fullscreen outputBrian Ashworth
Since the fullscreen request may be made before the toplevel's surface is mapped, the requested fullscreen output needs to be stored so it can be retrieved on map (along with the existing fullscreen property). This commit makes the required changes for wlr_xdg_toplevel_v6.
2019-03-27wlr_xdg_toplevel: store pending fullscreen outputBrian Ashworth
Since the fullscreen request may be made before the toplevel's surface is mapped, the requested fullscreen output needs to be stored so it can be retrieved on map (along with the existing fullscreen property). This commit makes the required changes for wlr_xdg_toplevel.
2019-03-21wlr_output: Add preferred property (#1625)Guido Günther
* wlr_output: Indicate modes link * wlr_output: Introduce preferred flag This indicates an outputs preferred mode. * drm: Set preferred flag for an outputs preferred mode
2019-03-19s/lid_switch/switch_deviceRyan Walklin
Rename lid_switch to switch_device to disambiguate lid and tablet mode switches.
2019-03-04xwayland: don't set DISPLAYemersion
Let the compositor set it. This allows for multiple Xwayland instances to run at the same time. Fixes https://github.com/swaywm/wlroots/issues/1442
2019-03-01seat: use wlr_button_state enum instead of uint32_temersion
2019-02-28wlr_xdg_shell: Remove redundant declaration in the same fileGuido Günther
2019-02-28Unbreak build with '-Wstrict-prototypes'Guido Günther
2019-02-20data-device: unbreak wl_data_source.cancel during drag-and-dropemersion
2019-02-20data-device: refactor wlr_dragemersion
2019-02-19Merge pull request #1493 from emersion/primary-selection-v1Drew DeVault
primary-selection-v1: copy from gtk-primary-selection
2019-02-17subsurface: add map/unmap eventsemersion
Fixes https://github.com/swaywm/wlroots/issues/1414