aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2018-10-07data-device: remove wlr_data_source.seat_clientemersion
Since the source doesn't always come from a client, this field doesn't make sense. It is replaced by a new "finalized" field in wlr_client_data_source. This is used to make sure set_actions is not sent after start_drag has been sent. A check in data_offer_choose_action has been removed: if an offer has been sent then start_drag has been called, no need to check. I also wanted to add a check for wl_data_source.offer, but it turns out (1) this isn't in the spec (2) it breaks GTK+. This is some preliminary work for Firefox on Wayland compatibility.
2018-10-05output: don't trigger a frame immediately in schedule_frameemersion
This desynchronizes our rendering loop with the vblank cycle. In case a compositor doesn't swap buffers but schedules a frame, emitting a frame event immediately enters a busy-loop. Instead, ask the backend to send a frame when appropriate. On Wayland we can just register a frame callback on our surface. On DRM we can do a no-op pageflip. Fixes #617 Fixes swaywm/sway#2748
2018-10-04output: add presentation refresh predictionemersion
2018-10-04rootston: send presentation eventsemersion
2018-10-04Rename get_present_clock to get_presentation clock, use itemersion
2018-10-04backend: add get_present_clockemersion
2018-10-04output: document signalsemersion
2018-10-04output: add present eventemersion
2018-10-04presentation-time: add protocol implementationemersion
2018-10-04Merge pull request #1281 from aereaux/edid-sizesemersion
Update sizes for new EDID database.
2018-10-04Merge pull request #1262 from nyorain/session_fixDrew DeVault
Improve session handling
2018-10-04Update sizes for new EDID database.Aidan Epstein
2018-10-04Use sd_bus_get_property_trivial & remove numberingnyorain
2018-10-03backend/drm: reset gamma table on VT switchemersion
2018-10-03output: make gamma size a size_t and gamma table constemersion
2018-09-28backend/drm: don't free connector immediatelyemersion
When a pageflip is pending, we'll get a DRM event for the connector in the future. We don't want to free the connector immediately otherwise we'll use-after-free in the pageflip handler. This commit adds a new state, "DISAPPEARED". This asks the pageflip handler to destroy the output after it's done pageflipping.
2018-09-27Merge pull request #1266 from Ongy/xdc_tablet_fixDrew DeVault
Fix tablet_tool tilt and send proximity_out
2018-09-27Fix tablet_tool tilt and send proximity_outMarkus Ongyerth
Originally I asumed tilt_x and tilt_y are very unlikely to change independent, I was proven wrong. And while investigating Krita not using the Erasor tool, I found a bug, which is unrelated though.
2018-09-27Merge pull request #852 from Laaas/masterDrew DeVault
Implement pointer-constraints-unstable-v1 protocol
2018-09-27pointer-constraints: add unstable headeremersion
2018-09-27seat: remove unused keyboard focus_change eventemersion
2018-09-27pointer-constraints: use proper wayland-scanner functionsemersion
2018-09-27pointer-constraints: refactoringemersion
* Rename the constraint_create signal to new_constraint for consistency * Move the constraint_destroy signal to the constraint itself * Use rotate_child_position instead of duplicating logic * Fix inert constraint resource handling * Style fixes
2018-09-26pointer-constraints: make region not a pointer, add committed bitfieldemersion
2018-09-26pointer-constraints: rename wl_{global,resources}emersion
2018-09-24Rework session handlingnyorain
Sessions can now be retrieved from a backend in a more general manner. Multi-backend gets back its `session` field that contains the session if one was created, removing the interfacing from multi backend with the drm backend directly. This adds the possibility to use sessions even without the drm backend. It additionally fixes the bug that 2 session objects got created when WLR_BACKENDS were set to "libinput,drm". To allow vt switching without drm backend (and drm fd) on logind, start listening to PropertiesChanged signals from dbus and parse the session "Active" property when no master fd was created (this does not change current drm backend behaviour in any way).
2018-09-24xwayland: Introduce set_decorations eventRyan Dwyer
2018-09-19Merge pull request #1253 from RyanDwyer/multi-for-each-backendemersion
Introduce wlr_multi_for_each_backend
2018-09-19Merge pull request #1245 from emersion/capture-disable-hw-cursorsDrew DeVault
Disable hardware cursors when capturing output
2018-09-19Introduce wlr_multi_for_each_backendRyan Dwyer
2018-09-18export-dmabuf: disable hardware cursors if desiredemersion
Also make the frame resource inert when sending "ready".
2018-09-18output: add wlr_output_set_hardware_cursors_enabledemersion
And use it in screencopy.
2018-09-18backend/drm: add assertionsemersion
2018-09-18backend/x11: add assertionsemersion
2018-09-18backend/wayland: add assertionsemersion
2018-09-18backend/libinput: add assertionsemersion
2018-09-18backend/headless: add assertionsemersion
2018-09-18Send unique keymap file descriptorsrandom human
To prevent wl_keyboard keymap being written to by clients, use a unique file descriptor for each wl_keyboard resource. Reference: weston, commit 76829fc4eaea329d2a525c3978271e13bd76c078
2018-09-18Implement pointer-constraints protocol in wlroots and rootstonLas
2018-09-18Add wlr_surface::input_region memberLas
This is analogous to the opaque_region member. In addition the code for setting the opaque region is cleaned up.
2018-09-18Remove extraneous indentation and conform to coding styleLas
2018-09-18Update pointer focus when cycling focusLas
2018-09-18Make (wlr_)seat_client_from_pointer_resource publicLas
2018-09-18Make roots_cursor::pointer_view available even if there is a surfaceLas
To find out whether there was a surface or not before a movement, the member roots_cursor::wlr_surface has been added.
2018-09-18Add focus change event for seatsLas
2018-09-15backend/drm: steal CRTCs from disabled outputsemersion
This commit allows outputs that need a CRTC to steal it from user-disabled outputs. Note that in the case there are enough CRTCs, disabled outputs don't loose it (so there's no modeset and plane initialization needed after DPMS). CRTC allocation still prefers to keep the old configuration, even if that means allocating an extra CRTC to a disabled output. CRTC reallocation now happen when enabling/disabling an output as well as when trying to modeset. When enabling an output without a CRTC, we realloc to try to steal a CRTC from a disabled output (that doesn't really need the CRTC). When disabling an output, we try to give our CRTC to an output that needs one. Modesetting is similar to enabling. A new DRM connector field has been added: `desired_enabled`. Outputs without CRTCs get automatically disabled. This field keeps track of the state desired by the user, allowing to automatically re-enable outputs when a CRTC becomes free. This required some changes to the allocation algorithm. Previously, the algorithm tried to keep the previous configuration even if a new configuration with a better score was possible (it only changed configuration when the old one didn't work anymore). This is now changed and the old configuration (still preferred) is only retained without considering new possibilities when it's perfect (all outputs have CRTCs). User-disabled outputs now have `possible_crtcs` set to 0, meaning they can only retain a previous CRTC (not acquire a new one). The allocation algorithm has been updated to do not bump the score when assigning a CRTC to a disabled output.
2018-09-14Merge pull request #1241 from emersion/output-enable-error-checkingDrew DeVault
output: make wlr_output_enable return a bool
2018-09-14Merge pull request #1243 from emersion/layer-shell-suffixDrew DeVault
layer-shell: add _v1 suffix
2018-09-14layer-shell: add _v1 suffixemersion
2018-09-14xdg-output: add _v1 suffixemersion