Commit graph

33 commits

Author SHA1 Message Date
Jonas Ådahl
035ffeddd6 Makefile.am: Also distribute README.md, GOVERNANCE.md and MEMBERS.md
README was distributed by default due to implicit autotools rules, so
when we renamed to README.md, it stopped being included. While at it,
also add the two other new files.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2020-02-29 20:55:11 +01:00
emersion
2c3b11d76f unstable: add primary-selection protocol
This primary selection is similar in spirit to the eponimous
in X11, allowing a quick "select text + middle click" shortcut
to copying and pasting.

It's otherwise very similar to its Wayland counterpart, and
explicitly made consistent with it.

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Carlos Garnacho <carlosg@gnome.org>
2018-11-12 16:56:50 +01:00
Alexandros Frantzis
19ec5dcc4b Add zwp_linux_explicit_synchronization_v1
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-11-12 16:32:54 +02:00
Carlos Garnacho
db152d7c6f text-input: Add v3 of the text-input protocol
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-30 17:42:39 +02:00
Simon Ser
76d1ae8c65 unstable: add xdg-decoration protocol
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-04 23:23:14 +02:00
Maciej Wolny
dae2a3dd09 Makefile.am: add include dir for AC_CONFIG_MACRO_DIR to work
da33164726 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-06-18 12:05:05 +03:00
Alexandros Frantzis
4f789286e4 unstable: Add input-timestamps protocol
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>
2018-01-19 11:21:02 +02:00
Jonas Ådahl
040a8698cd Makefile.am: Install stable xdg-shell
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2017-12-02 09:51:59 +08:00
Marco Martin
72699573cc Add a new version of the xdg-foreign protocol
Some methods will be renamed, so we need a new, not retrocompatible
protocol.

Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2017-09-26 09:49:23 -04:00
Olivier Fourdan
794a96a80f Add xdg-output protocol
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-31 18:15:45 +08:00
Olivier Fourdan
e16986b3d2 Add keyboard shortcuts inhibitor
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-11 14:18:39 +08:00
Olivier Fourdan
0a61d3516b Introduce keyboard grabbing protocol for Xwayland
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-07-11 14:18:39 +08:00
Jonas Ådahl
89cadb4354 xdg-shell: Bump unstable version to 6
This copies the version 5 of the XML to a new version 6 version, while
at the same time the interface names are changed to use the unstable
naming convention.

A whitespace cleanup was done as no git-blame:ability would be lost
anyway.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-08-15 10:25:31 +08:00
Bryce Harrington
a7f9e039f7 Add screensaver idle inhibitor protocol
This interface allows disabling of screensaver/screenblanking on a
per-surface basis.  As long as the surface remains visible and
non-occluded it blocks the screensaver, etc. from activating on the
output(s) that the surface is visible on.

To uninhibit, simply destroy the inhibitor object.

Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2016-08-12 11:21:36 +08:00
Jonas Ådahl
cf82828d49 Introduce xdg-foreign protocol
xdg-foreign is a protocol meant to enable setting up inter surface
relationships across clients. Potential use cases are out-of-process
dialogs, such as file dialogs, meant to be used by sandboxed processes
that may not have the access it needs to implement such dialogs.

It works by enabling a client to export a surface, creating a handle
for the exported surface. The handle, in form of a unique string, may
be shared in some way with other clients (for example the provider of
the file dialog) which can then import the exported surface.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
2016-08-12 10:50:42 +08:00
Peter Hutterer
fa1da433c5 tablet: add v2 of the tablet protocol
This is a straightforward copy/paste with a _v1 -> _v2 rename. No functional
changes otherwise.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Reviewed-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2016-07-20 15:20:04 +08:00
Pekka Paalanen
af6402c41e stable/viewporter: rename and build
Rename interfaces and the protocol to follow the policy.

Reset interface versions.

Replace "surface coordinates" with "surface local coordinates".

Hook up to build and install.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Acked-by: Bryce Harrington <bryce@osg.samsung.com>
2016-05-06 15:00:59 +03:00
Peter Hutterer
ca86a592c2 Add the tablet protocol
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2016-03-08 23:40:43 -08:00
Pekka Paalanen
62468ffc9a Makefile: install and dist stable protocols
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2016-03-01 11:19:24 +02:00
Pekka Paalanen
f4e9da8363 Makefile: add presentation-time to stable protocols
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2016-03-01 11:19:16 +02:00
Jonas Ådahl
162619d605 Introduce pointer locking and confinement protocol
This patch introduces a new protocol for locking and confining a
pointer. It consists of a new global object with two requests; one for
locking the surface to a position, one for confining the pointer to a
given region.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Reviewed-by: Daniel Stone <daniels@collabora.com>
2016-02-16 17:17:49 +08:00
Jonas Ådahl
a956c73e4e Introduce wp_relative_pointer interface
The wp_relative_pointer interface is an extension to the wl_pointer
interface created from wl_seat. It has the same focus, but adds the
functionality of sending relative pointer motions unhindered by
constraints such as monitor edges or other barriers. It also contains
unaccelerated pointer motion information.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Reviewed-by: Daniel Stone <daniels@collabora.com>
2016-02-16 17:00:15 +08:00
Derek Foreman
d8cb9c2a8b test: add make check
We can now test all the protocol files by running make check (or distcheck)
which will pass them through the scanner.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Jonas Ådahl <jadahl@gmail.com>
2016-01-14 15:49:00 +08:00
Igor Gnatenko
25c60496e8 install pkg-config file to arch-independent location
It is arch-independent, so no need to install it to /usr/lib*

Cc: Jonas Ådahl <jadahl@gmail.com>
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2015-11-23 09:39:35 +08:00
Jonas Ådahl
67cd84ca01 Makefile.am: Include protocol README files in tarball
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-11-18 13:24:32 +08:00
Jonas Ådahl
c1b9900ae4 Remove presentation timing protocol
The presentation timing protocol is already ready for being declared
stable and given this we can skip having it going through the unstable
naming procedures. Lets remove it for now, and re-introduce in stable/
when declaring it stable.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-11-17 11:47:57 +08:00
Jonas Ådahl
6c3112e5dc Migrate xdg_shell protocol
This migration did not involve any renaming, xdg_shell already has its
own form of unstable protocol semantics. The next xdg_shell protocol
change will change to the new naming semantics, and not earlier in
order to minimize breakage.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-30 15:20:47 +08:00
Jonas Ådahl
567de8a8fa Migrate the input method protocol
Applied the unstable naming convention.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-21 16:21:41 +08:00
Jonas Ådahl
e5fea4ed0b Migrate the text input protocol
Renamed from "text" to "text-input" and applied the unstable naming
convention.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-21 16:20:52 +08:00
Jonas Ådahl
41ad165c40 Migrate presentation timing protocol
Applied unstable naming convention.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-21 11:28:59 +08:00
Jonas Ådahl
0f3a723bc9 Migrate linux-dmabuf protocol
Version postfix added to interface names.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-21 11:28:59 +08:00
Jonas Ådahl
bce22b6708 Add fullscreen shell protocol
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-09 13:12:43 +08:00
Jonas Ådahl
f548e99266 Add autotools installation files
Currently installs unstable protocols under an unstable/ subdirectory
in $prefix/share/wayland-protocols/.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-09 13:12:37 +08:00