aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
AgeCommit message (Collapse)Author
2018-08-02Implement wlr-gamma-control-unstable-v1emersion
2018-08-02Merge pull request #1053 from emersion/xdg-decorationDrew DeVault
Add xdg-decoration-unstable-v1 support
2018-07-29Initial pass on API stability guaranteesDrew DeVault
This introduces -DWLR_USE_UNSTABLE and adds information regarding the stability status to all headers. I started with a conservative set of headers to mark as stable: - types/wlr_matrix.h - util/edges.h - util/log.h - util/region.h - xcursor.h
2018-07-29reintroduce xwayland is_unmanagedMarkus Ongyerth
153f37bdf57c61e7fb09162a6791afe8b9b4d0ef (#1145) removed the wlr_xwayland_is_unamanged function while fixing OR, because it was belieived that it's supposed to work around the broken OR handling. This was a misunderstanding. is_unmanaged is (while sort of a hack) intended to work around inherent differences between "real" X sessions and our Xwayland/wayland situation. The main reason it exists is to support applications like rofi and dzen, while not handing focus to other OR windows (which should *not* be required). Traditionally, these applications just grabbed input from X and didn't need to be focused by any logic in the WM. Which of course doesn't work in wayland compositors. So we have to give them focus in some way. Giving *every* OR window focus, breaks other applications that don't expect focus to change. A testcase that was pointed out to me where wlr_xwayland_is_unamanged was breaking things is https://github.com/swaywm/sway/issues/2128 (syncplay, gitk, gitgui) Supposedly it broke using keyboard to navigate the menus. I can't reproduce this with this patch. The popups can be navigated as long as the parent has focus.
2018-07-28Add xdg-decoration-unstable-v1 supportemersion
2018-07-27Merge pull request #1127 from emersion/surface-precommitDrew DeVault
surface: add wlr_surface_role.precommit
2018-07-22xdg-shell(-v6): add set_title and set_app_id toplevel signalsIlia Bozhinov
This is useful for example when rendering decorations
2018-07-19linux-dmabuf: add v1 suffixemersion
This prevents some future conflicts with the stable version. Fixes #1133
2018-07-19Introduce set_hints event for xwaylandRyan Dwyer
2018-07-18xwayland: handle override_redirect flag changesemersion
The override_redirect flag can change on configure notify and on map notify. This adds an event to know when it changes. This removes wlr_xwayland_surface_is_unmanaged which was wrongly using the window type to decide whether the view should be unmanaged. A similar patch was proposed to Weston, but has never been merged upstream [1]. [1]: https://patchwork.freedesktop.org/patch/211161/
2018-07-15surface: add wlr_surface_role.precommitemersion
This allows to emit the unmap event before the surface becomes actually unmapped for most shells.
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-14First feedback pass from acrisciMarkus 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-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-14Send all tablet tool axis eventsMarkus 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-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-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
2018-06-30screncopy: update protocolemersion
2018-06-30screencopy: add capture_output_region supportemersion