aboutsummaryrefslogtreecommitdiff
path: root/include
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-14tablet-v2: fix merge commits and test againMarkus Ongyerth
There were a few issues after rebase, that the merge algorithm didn't throw at my face: wlr_output did a check on the actual role, not a string anymore, so that had to go to allow tablet-v2 to set cursor surfaces. A few L_DEBUG/L_ERRORs were still around There was a user-after-free in tablet-group free()ing, probably after insufficient testing from a previous feedback pass
2018-07-14Another round of feedback from acrisciMarkus Ongyerth
2018-07-14First feedback pass from acrisciMarkus Ongyerth
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-14use previous resource versions and destroy padsMarkus Ongyerth
2018-07-14Handle relative motion for mouse toolsMarkus Ongyerth
2018-07-14remove unused wl_listenerMarkus Ongyerth
2018-07-14Silent conversion from double to int should be illegalMarkus Ongyerth
2018-07-14Clean up serial handling and automate proximity acompaning eventsMarkus Ongyerth
2018-07-14Clean up serial handlingMarkus Ongyerth
2018-07-14Hide pad auxiliary data in .c fileMarkus Ongyerth
2018-07-14Split tablet_v2 implementation for easier maintainanceMarkus Ongyerth
2018-07-14Send all tablet tool axis eventsMarkus Ongyerth
2018-07-14Improve inert resource handlingMarkus Ongyerth
2018-07-14Hook up set_cursor in rootstonMarkus Ongyerth
2018-07-14Use wlr_list for paths, and improve inert resource handlingMarkus Ongyerth
2018-07-14Use tablet_tool impl in libinput backendMarkus Ongyerth
2018-07-141st feedback passMarkus Ongyerth
Rename make_ functions to _create Implement set_cursor and set_feedback
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-14storage commit #2Markus Ongyerth
2018-07-14backend/libinput: Manage tablet tool livetimesMarkus Ongyerth
This adds the management code to manage tablet tools lifetimes from libinput. It follows the suggestion made in the tablet-unstable-v2.xml to destroy tablet_tools once all tablets that it got into contact with were removed from the system. This is implemented via a refcount. If a tool is *not* unique, it will be destroyed on proximity out. This is libinput specific and mentioned in libinput docs that tools will not be found again, so we shouldn't keep a reference to them. Also they can't be on other tablets as well, because they cannot be tracked. The naming in this commit is a bit off (to not break things). The wlr names stay the same, tablet_tool is the libinput_device with capaiblity LIBINPUT_DEVICE_CAP_TABLET_TOOL which is more akin to "tablet" in the tablet-unstable-v2 protocol. The struct that corresponds to the tablet_tool in tablet-unstable-v2 is called tablet_tool_tool, a rename should be done at some point in the future.
2018-07-13surface: add wlr_surface.opaque_regionemersion
2018-07-12render: add wlr_texture_is_opaqueemersion
2018-07-11Merge pull request #1116 from emersion/surface-roleDrew DeVault
surface: replace wlr_surface_set_role_committed with wlr_surface_role
2018-07-09util: add wlr_ prefix to log symbolsemersion
2018-07-08Rename wl_resources to resource, wl_global to globalemersion
2018-07-08xdg-output: don't send no-op updatesemersion
To begin with, no-op updates are unnecessary, so this patch is an improvement on its own. Then, this fixes hotplugging issues with xwayland. xwayland waits for both wl_output and xdg_output to send a "done" event. However, it doesn't handle well desynchronized "done" updates: if xdg-output sends "done" twice, the second one will wait for the next wl_output "done" event. This is an issue when the first is a no-op and the second is a real update: the second isn't applied. I've considered patching xwayland instead, but it seems pretty complicated.
2018-07-07surface: replace wlr_surface_set_role_committed with wlr_surface_roleemersion
2018-07-07Merge pull request #1095 from agx/output-add-modeDrew DeVault
Allow to add additional modes to outputs
2018-07-07rootston: Handle modeline parameterGuido Günther
This allows to pass custom modes.
2018-07-07drm: Allow to add additional modesGuido Günther
This allows to add additional modes to the list of available video modes using VESA Coordinated Video Timing information. Closes #1080
2018-07-04surface: rename wlr_surface_state.buffer to buffer_resourceemersion
2018-07-04surface: add wlr_surface.previousemersion
2018-07-04surface: move position and scale out of wlr_surface_stateemersion
2018-07-04surface: do not monkey-patch state damageemersion
2018-07-04surface: better buffer position handlingemersion
2018-07-04surface: fix WLR_SURFACE_STATE_BUFFER_DAMAGE valueemersion
2018-07-04surface: make pending and current embedded structsemersion
2018-07-04surface: remove wlr_surface_state.subsurface_positionemersion
2018-07-04surface: rename invalid stateemersion
2018-07-01Introduce wlr_xdg_surface_for_each_popupRyan Dwyer
It is common to want to iterate an xdg-surface's popups separately from the toplevel and subsurfaces. For example, popups are typically rendered on top of most other surfaces. wlr_xdg_surface_for_each_surface continues to iterate both surfaces and popups to maintain backwards compatibility.
2018-06-30screencopy: listen to buffer destroyemersion