aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-12Add zwp_linux_explicit_synchronization_v1Alexandros Frantzis
This protocol enables explicit synchronization of asynchronous graphics operations on buffers on a per-commit basis. Support is currently limited to dmabuf buffers and dma_fence fence FDs. Explicit synchronization provides a more versatile notification mechanism for buffer readiness and availability, and can be used to improve efficiency by integrating with related functionality in display and graphics APIs. This protocol is also useful in ChromeOS ARC++ (running Android apps inside ChromeOS, using Wayland as the communication protocol), where it can enable integration of the ChromeOS compositor with the explicit synchronization mechanisms of the Android display subsystem. Finally, the per-commit nature of the release events provided by this protocol potentially offers a solution to a deficiency of the wl_buffer.release event (see https://gitlab.freedesktop.org/wayland/wayland/issues/46). Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Daniel Stone <daniels@collabora.com> [Pekka: dropped Reveman from maintainers] Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2018-07-31fullscreen-shell: Add missing license tagJohan Klokkhammer Helsing
Although it would probably default to the license at the root of the repository anyway, it's best to be explicit about it, and also be consistent with the other extensions. The copyright holders have been assembled from git history and the README. Signed-off-by: Johan Klokkhammer Helsing <johan.helsing@qt.io> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
2018-07-30configure.ac: Bump version to 1.16Jonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2018-07-30xdg-shell: Make sure wording reflects expectationsMarkus Ongyerth
The wording in xdg-shell's `set_*` requests implies the compositor *will* honour the client's request. This would give clients the control over their actual state, while the general expectation is that clients kindly ask for state changes which the compositor may follow. This patch ensures the actual protocol text reflects these expectations. Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2018-07-30xdg-shell: move maximized state definition togetherMarkus Ongyerth
The xdg-shell documentation had part of the maximized state render implications in the `set_maximized` request documentation, not the actual state. This moves the relevant lines into the state description. Signed-off-by: Markus Ongyerth <wl@ongy.net> Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com> Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2018-07-30text-input: Add v3 of the text-input protocolCarlos Garnacho
This new protocol description is an evolution of v2. - All pre-edit text styling is gone. - Pre-edit cursor can span characters. - No events regarding input panel (OSK) state nor covered rectangle. Compositors are still free to handle situations where the keyboard focus rectangle is covered by the input panel. - No set_preferred_language request for clients. - There is no event to send keysyms. Compositors can use wl_keyboard interface instead. - All state is double-buffered, with specified defaults. - The compositor can be notified about external changes to the state. - The client can detect outdated requests. Signed-off-by: Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm> Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Simon Ser <contact@emersion.fr>
2018-07-30tests: Make wayland-scanner strictJonas Ådahl
Pass --strict to wayland-scanner in order to make it exit with failure if something wasn't correct. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr>
2018-07-30tests: Use public-code and private-code instead of codeJonas Ådahl
The wayland-scanner sub-commands private-code and public-code replaced the old code command, so lets use those in the tests instead. This requires at least wayland-scanner 1.15.0. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr>
2018-07-16xdg-output: add a transform example for the logical sizeSimon Ser
Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2018-07-04configure.ac: Bump version to 1.15Jonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2018-07-04unstable: add xdg-decoration protocolSimon Ser
This adds a new protocol to negotiate server-side rendering of window decorations for xdg-toplevels. This allows compositors that want to draw decorations themselves to send their preference to clients, and clients that prefer server-side decorations to request them. This is inspired by a protocol from KDE [1] which has been implemented in KDE and Sway and was submitted for consideration in 2017 [2]. This patch provides an updated protocol with those concerns taken into account. Signed-off-by: Simon Ser <contact@emersion.fr> Reviewed-by: Drew DeVault <sir@cmpwn.com> Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Eike Hein <hein@kde.org> Reviewed-by: Alan Griffiths <alan.griffiths@canonical.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> [1] https://github.com/KDE/kwayland/blob/master/src/client/protocols/server-decoration.xml [2] https://lists.freedesktop.org/archives/wayland-devel/2017-October/035564.html
2018-07-04xdg-shell: remove constraint on popup parentsDrew DeVault
It seems that this was partially done in a3cf97ff982638bf7ed23b4303eba280c521b54d; this patch just corrects an oversight. Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2018-06-18Makefile.am: add include dir for AC_CONFIG_MACRO_DIR to workMaciej Wolny
da331647269ee9d73c4008ae901d107320bdc8d1 added a compatiblity macro for old versions of pkg-config. However, the file in which that macro resides was not included. From the autoconf docs: "Note that if you use aclocal from Automake to generate aclocal.m4, you must also set ACLOCAL_AMFLAGS = -I dir in your top-level Makefile.am.". Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2018-05-03configure.ac: Bump version to 1.14Jonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2018-05-03xdg-output: Add name and description eventsDrew DeVault
This adds two events to the protocol. The goal is to allow clients to give the user the ability to select outputs with the same names the compositor uses and to identify outputs consistently across sessions. The output name is a short and stiff identifier with strict limits on permitted characters, which is suitable for storing in config files, command line arguments, etc. A warmer "description" event is also provided to (optionally) provide a more human readable name, and has much broader restrictions on its form. Signed-off-by: Drew DeVault <sir@cmpwn.com> Reviewed-by: Simon Ser <contact@emersion.fr> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> [Jonas: Fixed formatting and commit subject] Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2018-05-03xdg-shell: add enums for tiled window state to toplevel configureMike Blumenkrantz
this adds implementation from a related discussion long ago in which it was decided that it would be useful for clients to know if/where their windows were tiled so that various behaviors and visuals could be modified to improve UX a window which is e.g., tiled on the right side of the screen would set the right|top|bottom tiled states in configure Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> [Jonas: Minor formatting fixes] Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Changes since v2: simplified docs Changes since v1: added since=2 to enum members
2018-02-14configure.ac: Bump version to 1.13Jonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2018-01-19xdg-shell: remove harmless typoMike Blumenkrantz
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
2018-01-19unstable: Add input-timestamps protocolAlexandros Frantzis
wl_pointer, wl_keyboard and wl_touch events currently use a 32-bit timestamp with millisecond resolution. In some cases, notably latency measurements, this resolution is too coarse to be useful. This protocol provides additional high-resolution timestamps events, which are emitted before the corresponding input event. Each timestamp event contains a high-resolution, and ideally higher-accuracy, version of the 'time' argument of the first subsequent supported input event. Clients that care about high-resolution timestamps just need to keep track of the last timestamp event they receive and associate it with the next supported input event that arrives. Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
2017-12-02configure.ac: Bump version to 1.12Jonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2017-12-02Makefile.am: Install stable xdg-shellJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2017-11-22xdg-shell: Soften fullscreen geometry requirementsJonas Ådahl
Having a strict requirement on clients obeying the configured window geometry for fullscreen toplevel surfaces might have the side effect of making it harder or impossible to implement various hardware optimizations on certain system configurations. By softening requirements on the geometry while loosely defining the border fill, we remove that restriction. Clients that still want total control of the surrounding area can still for example prepare the attached buffers to match the configured surface size, or use subsurfaces in combination with wp_viewporter to make up a surface matching the fullscreen window geometry dimensions. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Arnaud Vrac <rawoul@gmail.com> Reviewed-by: Mike Blumenkrantz <zmike@samsung.com>
2017-11-21xdg-shell: Add unset_fullscreen descriptionJonas Ådahl
The description for xdg_toplevel.unset_fullscreen was completely missing, so add it. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mike Blumenkrantz <zmike@samsung.com>
2017-11-21xdg-shell: Clarify set_fullscreen semanticsJonas Ådahl
It was not explicitly specified (as it is in set/unset_maximize) that the compositor will respond with a configure event when a client asks to be fullscreened, and the meaning of the output parameter was somewhat awkwardly described. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mike Blumenkrantz <zmike@samsung.com>
2017-11-21xdg-shell: Specify what happens when (un)maximizing while fullscreenJonas Ådahl
Specify that the maximize/unmaximize state requests only affects the state a surface will return to if it is currently fullscreen. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mike Blumenkrantz <zmike@samsung.com>
2017-11-21xdg-shell: Fix typoJonas Ådahl
There is no configure 'request' only configure 'events'. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mike Blumenkrantz <zmike@samsung.com>
2017-11-21xdg-shell/positioner: Clarify flip semantics with anchor offsetJonas Ådahl
While there is no currently known usages of setting an anchor offset on the same axis as the 'flip' constraint action is set, it must still be specified so compositors behave the same. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2017-11-21xdg-shell/positioner: Replace edge bitfield with extended enumDavid Edmundson
Bitfields allowed for impossible combinations of anchor edges, such as being on the left and right edge. Use of explicit enumerations means we don't need to handle that case. Signed-off-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2017-11-21xdg-shell: clarify map/unmap wordingMike Blumenkrantz
ensure that this is as precise and explicit as possible for all useful cases and also define previously-unspecified behavior Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2017-11-21xdg-shell/popup: Allow custom parent by passing null as parentJonas Ådahl
Allow using some other protocol (custom, or future xdg_* based) to set up the parent-child relationship of a popup. This allows future protocols to use xdg_popup when mapping popups over surfaces not based on xdg_surface. An example use case for this is the window menu, where a shells UI client can use xdg_popup to create popup menus over windows it does not have a xdg_surface of by having a custom protocol setting up the proper parent-child relationship. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-By: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-11-21xdg-shell/toplevel: Chain multiple parent-child relationshipsJonas Ådahl
Change the semantics of xdg_toplevel.set_parent to allow chaining multiple parent-child relationships together, while allowing arbitrarily unmapping parents, while keeping what is left over of the chain intact. This makes things easier to manage when parent-child relationships cross client borders, for example when using xdg_foreign. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-11-21xdg-shell/toplevel: Clarify xdg_toplevel.set_parent(null)Jonas Ådahl
Setting a null-surface as a toplevel parent should unset the parent-child relationship. This was not specified, so lets do that. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-11-21xdg-shell/surface: Add note about window position and geometryJonas Ådahl
A client might want to change the window geometry without wanting the window to be moved, for example when changing the width of the border. Point out that the compositor should treat the (x,y) coordinate of the geometry as the top-left corner of the window, and not change the position of the window as it appears on the screen if the (x,y) coordinate changes. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-By: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-11-21xdg-shell: Replace 'monitor' with 'output'Jonas Ådahl
There is no such thing as 'monitor' in Wayland, only outputs. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-By: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-11-21xdg-shell/positioner: Allow empty anchor_rectJonas Ådahl
Allow setting an empty anchor rectangle, so that one can map a popup against a coordinate, not a pixel. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-By: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-11-21xdg-shell: Reword the xdg_wm_base introductionJonas Ådahl
Don't refer to things as "traditional desktop" as it is not defined nor clear what that refers to; instead reword things in a more explicit way. A reason for this is that xdg-shell is not strictly meant only for traditional window stacking based desktop environments, but should be equally suitable for stacking, tiling and potentially other styles as well. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-By: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-11-21xdg-shell: Update copyright noticesJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Acked-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-11-21xdg-shell: Rename interfacesJonas Ådahl
Rename the interfaces according to the wayland-protocols policy. Since the name 'xdg_shell' as an interface was already taken (by xdg-shell-unstable-v5) zxdg_shell_v6 was renamed xdg_wm_base. The surface role related interfaces were not renamed, as naming collision is only unmanagable when exposed as globals via the registry. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-By: Mike Blumenkrantz <zmike@osg.samsung.com>
2017-11-21Add xdg-shell to stable/Jonas Ådahl
Add a copy of xdg-shell unstable v6 to stable/xdg-shell/xdg-shell.xml. Folliwing this commit, it will go through a set of changes, before being declared stable. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: David Edmundson <davidedmundson@kde.org>
2017-10-11configure.ac: Bump version to 1.11Jonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2017-10-11xdg-foreign-v2: Rename export and import callsMarco Martin
As export is a reserved keyword in C++, in order for the output generated by wayland_scanner to compile correctly rename export to export_toplevel and import to import_toplevel this needs a new protocol version as is an incompatible change [jadahl: Fix various documentation issues] Signed-off-by: Marco Martin <notmart@gmail.com> Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2017-09-26Add a new version of the xdg-foreign protocolMarco Martin
Some methods will be renamed, so we need a new, not retrocompatible protocol. Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2017-08-30Use sysroot prefix for pkgdatadir variableTomek Bury
The pc_sysroot is automatically added to cflags and libs but not to 'pkg-config --variable' Reviewed-by: Daniel Stone <daniels@collabora.com>
2017-07-31configure.ac: Bump version to 1.10Jonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2017-07-31configure.ac: force autotool to use starOlivier Fourdan
To circumvent the 99 character filename limit. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2017-07-31Add xdg-output protocolOlivier Fourdan
This protocol aims at describing outputs in way which is more in line with the concept of an output on desktop oriented systems. Some information are more specific to the concept of an output for a desktop oriented system and may not make sense in other applications, such as IVI systems for example. The goal is to gradually move the desktop specific concepts out of the core wl_output protocol. For now it just features the position and logical size which describe the output position and size in the global compositor space. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
2017-07-11configure.ac: Bump version to 1.9Jonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2017-07-11Add keyboard shortcuts inhibitorOlivier Fourdan
This adds a new protocol to let Wayland clients specify that they want all keyboard events to be sent to the client, regardless of the compositor own shortcuts. This protocol can be used for virtual machine and remote connection viewers which require to pass all keyboard shortcuts to the hosted or remote system instead of being caught up by the compositor locally. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2017-07-11Introduce keyboard grabbing protocol for XwaylandOlivier Fourdan
This patch introduces a new protocol for grabbing the keyboard from Xwayland. This is needed for X11 applications that map an override redirect window (thus not focused by the window manager) and issue an active grab on the keyboard to capture all keyboard events. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2017-06-12Bump version to 1.8Daniel Stone
Signed-off-by: Daniel Stone <daniels@collabora.com>