aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-22rootston: use wlr_output_preferred_modeSimon Ser
Also fix rootston setting the preferred mode when another mode is specified in the config file.
2019-04-22output: introduce wlr_output_preferred_modeSimon Ser
2019-04-22Fix missing headers when building without X11Alyssa Ross
The deleted includes are redundant, because other headers will include the necessary files. Additionally, they cause build failures, because including EGL/egl.h or EGL/eglext.h directly, instead of through wlr/render/egl.h or wlr/render/interface.h, will mean that MESA_EGL_NO_X11_HEADERS will not have been defined, and so the EGL headers will attempt to pull in unnecessary X11 headers that may not exist on the system. For the headers produced by glgen.sh, the includes couldn't simply be deleted, because no other header would include the EGL headers. Neither wlr/render/egl.h or wlr/render/interface.h felt appropriate to include, so I opted instead to copy the MESA_EGL_NO_X11_HEADERS definition before the EGL includes.
2019-04-19data-device: ignore accept for selection offersSimon Ser
It doesn't make sense for clients to send "accept" requests to offers that aren't drag-and-drop. I discussed with Daniel Stone to make it a protocol error [1] but too many clients send it (e.g. GTK+). Let's just log it for now. [1]: https://gitlab.freedesktop.org/wayland/wayland/merge_requests/11#note_149710
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-14output: do nothing in output_set_image if backend has no rendererIlia Bozhinov
This is useful when using the noop backend for example.
2019-04-13rootston: remove disabled outputs from the output layoutIlia Bozhinov
We should also be careful when using wlr_output_layout_get_box(), since it may return null.
2019-04-13output: remove lx, lyemersion
Fixes https://github.com/swaywm/wlroots/issues/1610
2019-04-11output-management-v1: add more docsemersion
2019-04-11rootston: disable then enable outputs when applying output-management stateemersion
2019-04-11Emit preferred modeGuido Günther
2019-04-11output-management-v1: update protocol, add set_custom_modeemersion
2019-04-11output-management-v1: support outputs without modesemersion
2019-04-11output-management-v1: fix wl_fixed_t conversionemersion
2019-04-11output-management-v1: support applying configurationemersion
2019-04-11output-management-v1: add support for position, transform and scaleemersion
2019-04-11rootston: update output-management-v1 state when output is modesetemersion
2019-04-11output-management-v1: add support for modesemersion
2019-04-11rootston: add output-management-v1 supportemersion
2019-04-11output-management-v1: various fixesemersion
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-08backend: unbreak on 32-bit architecturesJan Beich
backend/headless/output.c:132:3: error: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Werror,-Wformat] ++backend->last_output_num); ^~~~~~~~~~~~~~~~~~~~~~~~~~ backend/noop/output.c:72:3: error: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Werror,-Wformat] ++backend->last_output_num); ^~~~~~~~~~~~~~~~~~~~~~~~~~ backend/wayland/output.c:294:3: error: format specifies type 'unsigned long' but the argument has type 'size_t' (aka 'unsigned int') [-Werror,-Wformat] ++backend->last_output_num); ^~~~~~~~~~~~~~~~~~~~~~~~~~ backend/x11/output.c:150:3: error: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Werror,-Wformat] ++x11->last_output_num); ^~~~~~~~~~~~~~~~~~~~~~
2019-04-08noop: implement setting a custom modeIlia Bozhinov
2019-04-08Add FreeRDP backend for remote desktop supportDrew DeVault
2019-04-08Merge pull request #1642 from emersion/format-setGuido Günther
Introduce wlr_format_set
2019-04-07util/log: setup wayland log handleremersion
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-31send proximity_out in proximity in for tablet_v2Markus Ongyerth
When the proximity_in event is sent for tablet_v2 and there's already a surface that currently has tablet (tool) focus, it should be told that this is no longer the case, so we need to send the proximity_out event.
2019-03-27types/meson.build: Add compile args for libinput to lib_wlr_types (#1636)Stuart Dilts
* Add compile args for libinput to lib_wlr_types Fixes the build on openSUSE Tumbleweed * Remove libinput include from wlr_tablet_v2.c + libinput isn't used in the file + Also remove libinput dependency from types/meson.build
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-24rootston: Also iterate layer shell popupsGuido Günther
Broken by 62fd03a7beb18da6c4a5929e38739cf2199dfa79 Closes: #1631
2019-03-22meson.build: require libinput >= 1.9.0Ilia Bozhinov
We use LIBINPUT_SWITCH_TABLET_MODE, which is introduced in 1.9.0
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-15backend/noop: improve output number handlingBrian Ashworth
This improves the way the output numbers are handled for the noop backend. Instead of using the number of active outputs plus one, the last used number is stored and new outputs will increment it. This fixes the situation where you start with one output, create a second, close the first, and create a third. Without this, both outputs will be NOOP-2, which causes an issue since the identifier will also be identical. With this, the last output is NOOP-3 and the outputs can be distinguished.
2019-03-15backend/headless: improve output number handlingBrian Ashworth
This improves the way the output numbers are handled for the headless backend. Instead of using the number of active outputs plus one, the last used number is stored and new outputs will increment it. This fixes the situation where you start with one output, create a second, close the first, and create a third. Without this, both outputs will be HEADLESS-2, which causes an issue since the identifier will also be identical. With this, the last output is HEADLESS-3 and the outputs can be distinguished.
2019-03-15backend/x11: improve output number handlingBrian Ashworth
This improves the way the output numbers are handled for the x11 backend. Instead of using the number of active outputs plus one, the last used number is stored and new outputs will increment it. This fixes the situation where you start with one output, create a second, close the first, and create a third. Without this, both outputs will be X11-2, which causes an issue since the identifier will also be identical. With this, the last output is X11-3 and the outputs can be distinguished.
2019-03-15backend/wayland: improve output number handlingBrian Ashworth
This improves the way the output numbers are handled for the wayland backend. Instead of using the number of active outputs plus one, the last used number is stored and new outputs will increment it. This fixes the situation where you start with one output, create a second, close the first, and create a third. Without this, both outputs will be `WL-2`, which causes an issue since the identifier will also be identical. With this, the last output is `WL-3` and the outputs can be distinguished.
2019-03-12meson: remove -Wredundant-declsemersion
This is causing issues with wayland-scanner generated files. The client and server headers are declaring the same structs. We include both in the Wayland backend. See https://gitlab.freedesktop.org/wayland/wayland/issues/82
2019-03-11Update version to 0.5.0Drew DeVault
2019-03-08wlr_output_layout_get_box: handle empty layoutBrian Ashworth
If there were no outputs in the output layout, wlr_output_layout_get_box would return the box: { .x = INT_MIN, .y = INT_MIN, .width = INT_MIN - INT_MAX, .height = INT_MIN - INT_MAX } which results in an integer underflow for both the width and height. This changes the logic to have the box be all zeroes, since an empty output layout does not have a width or height and the location of something without a size is irrelevant so this just uses the origin.