aboutsummaryrefslogtreecommitdiff
path: root/rootston
AgeCommit message (Collapse)Author
2018-11-12Use #if instead of #ifdef for wlroots config dataemersion
This prevents some annoying issues when e.g. not including wlr/config.h or making a typo in the guard name.
2018-11-04Merge pull request #1261 from arandomhuman/damage-controlDrew DeVault
Fix damage tracking for surfaces with transforms
2018-11-04surface: fix wlr_surface_get_effective_damage to give surface coordsemersion
Transforms were applied, but scale wasn't.
2018-10-28rootston: fix segfault when destroying unmapped fullscreen viewsemersion
2018-10-28rootston: fix segfault in view_atemersion
Make sure the view is mapped.
2018-10-28Fix "variable ‘cursor_default’ set but not used"Sorcus
2018-10-17rootston: Don't let the wlr_output handle the fullscreen view in case of ↵Guido Günther
layer-shell overlays Otherwise the overlays will no tbe drawn. Closes: #1300
2018-10-13text-input: Accept disable requestsDorota Czaplejewicz
The disable signal on text-input objects must not be ignored. It is only sent when the previous state was enabled.
2018-10-12text-input: fix releasing destroy handlersDorota Czaplejewicz
2018-10-12Merge pull request #1203 from dcz-purism/inputDrew DeVault
Support input method and text input
2018-10-09rootston: add support for text input and the basic of input methodDorota Czaplejewicz
The compositor acts as a relay between applications using the text-input protocol and input methods using the input-method protocol. This change implements the basic but useful support for input-method, leaving out grabs as well as popups.
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-10-04wlr_surface: add wlr_surface_get_effective_damagerandom human
This calculates and returns the effective damage of the surface in surface coordinates, including the client damage (in buffer coordinates), and damage induced by resize or move events.
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-24wlr_surface: fix surface damage transformationrandom human
Damage tracking on transformed surfaces now work (see "weston-simple-damage --rotation=90"), using either of buffer or surface damage.
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.