aboutsummaryrefslogtreecommitdiff
path: root/rootston
AgeCommit message (Collapse)Author
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-07-23tablet-v2 tablet_tool grab implementationMarkus Ongyerth
Implement the basic logic for tablet-v2 tablet_tool's grabs. And plug in the default grab.
2018-07-19tablet-v2 tablet_pad grab implementationMarkus Ongyerth
Implement the basic logic for tablet-v2 tablet_pad's grabs. And plug in the default grab. Features like "holding" the focus should be implemented via grabs, like they are for pointer and keyboard.
2018-07-14propagate rename to rootston codeMarkus Ongyerth
2018-07-14rename wlr_tablet_tool to wlr_tabletMarkus Ongyerth
The previous naming was based on the input-device capability names from libinput. With code that uses the libinput_tablet_tool and mapping into tablet-v2, this is confusing, so the name is changed to follow the names used in the protocol.
2018-07-14Remove unused tablet_pad list from toolsMarkus Ongyerth
2018-07-14Another feedback passMarkus Ongyerth
2018-07-14Handle relative motion for mouse toolsMarkus Ongyerth
2018-07-14Send all tablet tool axis eventsMarkus Ongyerth
2018-07-14Fix clang build errorsMarkus Ongyerth
2018-07-14Hook up set_cursor in rootstonMarkus Ongyerth
2018-07-141st feedback passMarkus Ongyerth
Rename make_ functions to _create Implement set_cursor and set_feedback
2018-07-14Fix segfaultinessMarkus Ongyerth
2018-07-14Add tool buttonsMarkus Ongyerth
2018-07-14Propagate most axis events to clientsMarkus Ongyerth
2018-07-14Implement basic tablet_pad handling (bound to keyboard focus)Markus Ongyerth
2018-07-14Basic tablet_v2 object lifetimeMarkus Ongyerth
2018-07-09util: add wlr_ prefix to log symbolsemersion
2018-07-07Merge pull request #1095 from agx/output-add-modeDrew DeVault
Allow to add additional modes to outputs
2018-07-07rootston: use wl_list_empty instead of wl_list_length > 0Guido Günther
2018-07-07rootston: Handle modeline parameterGuido Günther
This allows to pass custom modes.
2018-07-04surface: move position and scale out of wlr_surface_stateemersion
2018-07-04surface: do not monkey-patch state damageemersion
2018-07-04surface: make pending and current embedded structsemersion
2018-07-04Fix damage tracking debug modeemersion
2018-06-30screencopy-v1: add basic implementationemersion
2018-06-30rootston: fix leak in handle_layer_shell_surfaceDominique Martinet
Found through static analysis
2018-06-24use seat function to end grabTony Crisci
2018-06-24Merge branch 'master' into cancel-grab-on-focus-changeTony Crisci
2018-06-17Merge branch 'master' into screencontentemersion
2018-06-13surface: remove wlr_surface.textureemersion
The texture is managed by the surface's wlr_buffer now. In particular, the buffer can destroy the texture early if it becomes invalid.
2018-06-10rootston: Cancel existing keyboard grab when changing focusGenki Sky
It's possible that a non-default keyboard grab exists when we are trying to change focus. For example, say there is an XDG popup when we click on a different window. This popup's keyboard grab will swallow any keyboard_notify_enter(), meaning the newly-clicked window won't receive keyboard input. So, we cancel any existing grabs in roots_seat_set_focus(). Before this fix, a window would have been set as active but not receive keyboard entry. Fixes #233. Signed-off-by: Genki Sky <sky@genki.is>
2018-06-08rootston: destroy xwayland before all clientsemersion
Destroying all clients disconnects the xwayland client, and xwayland automatically restarts when disconnected.
2018-06-06dont damage drag icon after update_positionTony Crisci
2018-06-05update drag position at the right timesTony Crisci
2018-06-05handle drag icon map in rootstonTony Crisci
2018-06-05rename drag-icon map to unmapTony Crisci
2018-06-01Add wlr_surface_get_geometryMarkus Ongyerth
This function defaults and clips the xdg-surface geometry to the bounding box of the surface + its subsurfaces, as specified by the protocol spec.
2018-05-31Merge branch 'master' into screencontentemersion
2018-05-30rootston: xdg-shell*: Fix get_size() for newly-mapped viewsGenki Sky
The user-visible issue is that newly-mapped xdg-shell* windows would sometimes start with their top-left-corner, rather than their center, in the center of the screen. This is because get_size() would conservatively fall back on (width, height) == (0, 0) if both set_window_geometry() had not been called, and it found view->wlr_surface to be NULL. But, view->wlr_surface is only set to non-NULL in view_map(). We call get_size() before this. Fortunately, the wlr_surface in question is accessible via view->xdg_shell{,_v6}->surface, so always fall back on that. We can assert its presence instead of further falling back on (width, height) == (0, 0). Signed-off-by: Genki Sky <sky@genki.is>
2018-05-29rootston: use wl_display_destroy_clientsemersion
2018-05-29rootston: enable export-dmabufemersion
2018-05-29Merge pull request #999 from dcz-purism/virtual-keyboardemersion
Support virtual keyboard protocol
2018-05-28virtual-keyboard: add support for the virtual-keyboard-v1 protocolDorota Czaplejewicz
2018-05-25Merge pull request #993 from emersion/bind-wl-drm-in-rendereremersion
render: bind wl_drm in renderer
2018-05-25backends: implement custom EGL and renderer initializationIlia Bozhinov
Compositors now have more control over how the backend creates its renderer. Currently all backends create an EGL/GLES2 renderer, so the necessary attributes for creating the context are passed to a user-provided callback function. It is responsible for initializing provided wlr_egl and to return a renderer. On fail, return 0. Fixes #987
2018-05-24rootston: Keep focus unchanged when non-focusable element clickedDorota Czaplejewicz
Before this change, a view would lose focus after clicking something that's not keyboard-interactive. This would lead to edge cases with layer-shell windows like input methods, which are pointer-only-interactive, but are not intended to change the state of any focus.
2018-05-24rootston: Disable keyboard focus on inactive viewsDorota Czaplejewicz
After clicking on something non-interactive, the current view was getting deactivated, but still received keyboard events. roots_seat_set_focus now changes both together in this case.
2018-05-21render: bind wl_drm in rendereremersion
2018-05-20output: correctly clear screen when fullscreenedemersion