aboutsummaryrefslogtreecommitdiff
path: root/rootston
AgeCommit message (Collapse)Author
2018-10-08rootston: export XCURSOR_SIZE and XCURSOR_THEMEemersion
These can be used by toolkits (currently Qt) to choose a default cursor theme and size. Note that this isn't a perfect solution: - Per-seat configuration isn't possible - It's not possible to set the default image - Live config reload isn't possible But it's easy to implement and simple. To fix these remaining issues a separate protocol would be needed.
2018-10-04output: add presentation refresh predictionemersion
2018-10-04rootston: send presentation eventsemersion
2018-10-04rootston: add output_for_each_surfaceemersion
2018-10-04rootston: add layer_for_each_surfaceemersion
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-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-27rootston: remove broken rotated pointer constraint handlingemersion
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-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-18Fix implicit conversion of floats to ints in calls to ↵Las
pixman_region32_contains_point I do not think the conversion is specifically defined, but on my system and SirCmpwn's the floats are rounded instead of floored, which is incorrect in this case, since for a range from 0 to 256, any value greater or equal to 0 and less than 256 is valid. I.e. [0;256[, or 0 <= x < 256, but if x is e.g. -0.1, then it will be rounded to 0, which is invalid. The correct behavior would be to floor to -1.
2018-09-18Implement pointer-constraints protocol in wlroots and rootstonLas
2018-09-18Make wlr_seat->data in rootston point to the wrapping roots_seatLas
2018-09-18Remove extraneous indentation and conform to coding styleLas
2018-09-18Update pointer focus when cycling focusLas
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-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
2018-09-12Merge pull request #1160 from Ongy/tablet-grabsemersion
Tablet grabs
2018-09-11rootston: Keep older anchored layers near anchor pointsDorota Czaplejewicz
Layer surfaces are attached to edges of the screen starting with the youngest, causing new ones to always displace existing ones. This changes the order to oldest first, keeping the positions more often.
2018-09-10Merge pull request #1227 from emersion/rootston-segfault-tablet-destroyDrew DeVault
rootston: fix segfault on tablet pad destroy
2018-09-07Fix #1129 and remove sx, sy from wlr_drag_iconnyorain
sx, sy used to store the buffer offset of the drag surface which was then be added (by rootston) to the drag icon position. Buffer offsets are handled already in surface_intersect_output (output.c) so they were added twice for dnd surfaces.
2018-09-03Merge pull request #1213 from arandomhuman/wlr_log_get_verbosityDrew DeVault
Add wlr_log_get_verbosity method
2018-09-03Add support for setting log verbosity in rootstonrandom human
2018-09-02rootston: fix segfault on tablet pad destroyemersion
2018-09-02Init dmabuf global in rendereremersion
2018-09-01Do not modeset disabled outputsemersion
2018-08-31Fix bugs listed by clang's static analyzerrandom human
A few pedantic changes and unused variables (1-4), and genuine bugs (5, 6). The reports with the corresponding files and lines numbers are as follows. 1. backend/libinput/tablet_pad.c@31,44,57 "Allocator sizeof operand mismatch" "Result of 'calloc' is converted to a pointer of type 'unsigned int', which is incompatible with sizeof operand type 'int'" 2. types/tablet_v2/wlr_tablet_v2_pad.c@371 "Allocator sizeof operand mismatch" "Result of 'calloc' is converted to a pointer of type 'uint32_t', which is incompatible with sizeof operand type 'int'" 3. types/wlr_cursor.c@335 "Dead initialization" "Value stored to 'dx'/'dy' during its initialization is never read" 4. rootston/xdg_shell.c@510 "Dead initialization" "Value stored to 'desktop' during its initialization is never read" 5. types/tablet_v2/wlr_tablet_v2_pad.c@475 "Dereference of null pointer" "Access to field 'strips' results in a dereference of a null pointer (loaded from field 'current_client')" The boolean logic was incorrect (c.f. the check in the following function). 6. examples/idle.c@163,174,182 "Uninitialized argument value" "1st function call argument is an uninitialized value" If close_timeout != 0, but simulate_activity_timeout >= close_timeout, the program would segfault at pthread_cancel(t1).
2018-08-28Merge pull request #1196 from dcz-purism/surface_moveBrian Ashworth
rootston/surface_layers: fix clicking after surface moved
2018-08-24Revert "Revert "Merge pull request #1194 from ascent12/meson_feature""Scott Anderson
This reverts commit 9c886f20b97b6ab1ac85b849f1fe7f16eb199ff0.
2018-08-23Revert "Merge pull request #1194 from ascent12/meson_feature"Drew DeVault
This breaks wlroots when used as a meson subproject. This reverts commit dea311992eb4ff3e343c3cf5b0603034223d2a42, reversing changes made to 6db9c4b74667c1d917d720f5e96985a2461569fb.
2018-08-23rootston/layer_shell: fix clicking after surface moved/resizedDorota Czaplejewicz
Layer surfaces are not notified of cursor position changes if the surface moves, only if the cursor moves. This workaround emits a cursor position event every time a cursor ends up over a newly resized layer surface to make sure the following clicks land in the right place. This change doesn't address sending leave events when a cursor previously present over the surface becomes away. There are 2 separate mechanisms in play, because a layer surface gets resized in 2 steps: 1. Layer surface resize & rearrange. 2. Underlying surface resize. The first step may affect all layer surfaces. The cursor events are sent to cursors placed over all layer surfaces which have moved (not been resized). The second step affects any layer surface whose surface changed size. The cursor event is sent only to that surface. Together, these events cover all surfaces: those which moves, and those which changed size, as long as each layer surface resize is accompanied by an immediate surface resize.
2018-08-22Update rootston to use new optionScott Anderson
2018-08-22Use new options for X11 backend and XwaylandScott Anderson
2018-08-16rootston: fix again FreeBSD buildemersion
Had an outdated copy of wlroots, so missed that one.
2018-08-16Merge pull request #1188 from emersion/freebsd-fixesemersion
Fix build on FreeBSD
2018-08-16Fix build on FreeBSDemersion
2018-08-13move wlr_drm_connector_add_mode to wlr/backend/drm.hIlia Bozhinov
2018-08-10rootston: Double fork for keyboard bindingsGenki Sky
This avoids leaving around zombies, without having to setup SIGCHLD handler (which interferes with other fork/waitpid calls).
2018-08-06rootston: add keybinding to toggle decoration modeemersion
2018-08-06tablet-v2 tool: Implement implicit grabMarkus Ongyerth
Implement the tablet-v2 tablet tool's implicit grab semantics for buttons and tip. This avoids losing focus (to other [sub]surfaces) when a button is held, or the tip is down. This should help when the device is used close to a surface's border and would otherwise have to be very precise.
2018-08-02rootston: fire up wlr-gamma-control-unstable-v1emersion
2018-08-02Merge pull request #1053 from emersion/xdg-decorationDrew DeVault
Add xdg-decoration-unstable-v1 support
2018-07-29Merge pull request #1167 from ammen99/masterBrian Ashworth
rootston: focus newly-created surfaces
2018-07-29rootston: focus newly-created surfacesIlia Bozhinov
Whenever a new surface is created, we have to update the cursor focus, even if there's no input event. So, we generate one motion event, and reuse the code to update the proper cursor focus. We need to do this for all surface roles - toplevels, popups, subsurfaces. Fixes #1162