aboutsummaryrefslogtreecommitdiff
path: root/unstable
AgeCommit message (Collapse)Author
2016-08-15xdg-shell: Put xdg_shell events after requestsJonas Ådahl
It makes the structure consistent with most other protocols and provides a clear separation between what is done by the server and what is done by the client. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com> Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-08-15xdg-shell: Turn xdg_surface into a generic base interfaceJonas Ådahl
Split out toplevel window like requests and events into a new interface called xdg_toplevel, and turn xdg_surface into a generic base interface which others extends. xdg_popup is changed to extend the xdg_surface. The configure event in xdg_surface was split up making xdg_surface.configure an event only carrying the serial number, while a new xdg_toplevel.configure event carries the other data previously sent via xdg_surface.configure. xdg_toplevel.configure is made to extend, via the latch-state mechanism, xdg_surface.configure and depends on that event to synchronize state. Other future xdg_surface based extensions are meant to also extend xdg_surface.configure for relevant window type dependend state synchronization. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Signed-off-by: Mike Blumenkrantz <zmike@samsung.com> Reviewed-by: Yong Bakos <ybakos@humanoriented.com> Acked-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-08-15xdg-shell: Add min/max size requestsOlivier Fourdan
Some application may wish to restrict their window in size, but xdg-shell has no mechanism for the client to specify a maximum or minimum size. As a result, the compositor may try to maximize or fullscreen a window while the client would not allow for the requested size. Add new requests "set_max_size" and "set_min_size" to xdg-shell so that the client can tell the compositor what would be its smallest/largest acceptable size, and that the compositor can decide if maximize or fullscreen is achievable, draw an accurate animation, etc. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=764413 Reviewed-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2016-08-15xdg-shell: clarify xdg_surface creation semantics regarding buffersMike Blumenkrantz
this change ensures that the client will set its initial state before performing any drawing, ensuring that there is no mismatch when creating a surface with a non-default state (eg. maximize, fullscreen, ...) looking at the following event flows: 1) wl_surface.attach, wl_surface.commit, xdg_shell.get_xdg_surface 2) wl_surface.attach, xdg_shell.get_xdg_surface, wl_surface.commit 3) xdg_shell.get_xdg_surface, wl_surface.commit, xdg_surface.configure, wl_surface.attach, wl_surface.commit only 3) is now valid, while 1) and 2) will trigger errors as a result of handling buffers prior to creating the xdg surface Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com> Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-08-15xdg-shell: Remove the old unstable version enum and requestJonas Ådahl
As of version 6, the new unstable protocol discovery semantics are used, so lets remove the enum and request that made up the old one. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2016-08-15xdg-shell: Bump unstable version to 6Jonas Ådahl
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-12Add screensaver idle inhibitor protocolBryce Harrington
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-12Introduce xdg-foreign protocolJonas Ådahl
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-07-20tablet: Add pad support to the tablet protocolCarlos Garnacho
The pad's interface is similar to the tool interface, a client is notified of the pad after the tablet_added event. The pad has three functionalities: buttons, rings and strips. Buttons are fairly straightforward, rings and strips are separate interfaces with pointer-axis-like source/value/frame events. The two interfaces are effectively identical but for the actual value they send (degrees vs normalized position). Buttons are sequentially indexed starting with zero, unlike other protocols where a linux/input.h-style semantic event code is used. Since we expect all buttons to have client-specific functionality, an additional event tells the client when a given button index is not available, usually because the compositor assignes some function to it (e.g. mode switching, see below). Specific to the pad device is the set_feedback request which enables a client to set a user-defined string to display for an OSD on the current mappings. This request is available for buttons, rings and strips. Finally, the pad supports groups, effectively sets of button/ring/strip configurations. Those groups may have multiple modes each, so that users/clients may map several actions to a single element. Signed-off-by: Carlos Garnacho <carlosg@gnome.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2016-07-20tablet: restrict the cursor surface to one per toolPeter Hutterer
The initial approach was to allow one surface to be re-used between tools, seats and even used together as wl_pointer cursor surface. This has a few drawbacks, most of which are related to managing the surface correctly in the compositor. For example, the same cursor surface could have two different hotspots. Animated cursors should animate independently rather than update at the same time. Furthermore: a client cannot know when a surface will cease being used as a cursor surface. The basic assumption of "after focus out" is an implementation detail in the compositor and unless the client unsets the cursor it is not guaranteed that the surface is released. This again makes sharing a surface less obvious - you cannot know if the wl_pointer surface is still in use when you set it for a new wp_tablet_tool. Avoid these headaches (and push some of them to the client) by simply restricting a wl_surface to be assigned to a single tool. For the 99% use case where we have one tablet with two tools (pen + eraser) this means we merely get two extra surfaces, and the two don't usually share the same cursor shape anyway. If sharing is absolutely necessary, a client may still opt to share the underlying wl_buffer. 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-20tablet: change all degree values from int to wl_fixedPeter Hutterer
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-20tablet: add v2 of the tablet protocolPeter Hutterer
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-08Fix grammar for 'an X*'Bryce Harrington
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
2016-04-29tablet: Hyphenate compound adjective surface-localYong Bakos
In addition, simplify relevant x/y coordinate parameter summaries. See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html. Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
2016-04-29pointer-constraints: Use 'surface-local' in simplified parameter summaryYong Bakos
See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html. Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
2016-04-21fullscreen-shell: Correct spelling of parameter nameYong Bakos
Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13fullscreen-shell: Add missing xml declarationYong Bakos
Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13pointer-gestures: Add missing xml declarationYong Bakos
Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13fullscreen-shell: Correct grammar, punctuation, minor naming and spaceYong Bakos
Add missing periods that terminate sentences. Correct ARBITRARY_MODE to match the actual enum value name. Adjust one post-period space to match the rest of the content. Downcase summary description to match the rest of the document. Add line breaks between sequential enum elements to match conventions in this, and other, protocol xml docs. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13input-method: Correct grammar, add missing line breakYong Bakos
Adds one line between two sequential request elements, to match conventions within this, and other, protocol xml docs. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13linux-dmabuf: Add missing articles and punctuation, adjust minor whitespaceYong Bakos
Remove line breaks preceding closing interface tags, to match conventions in this, and other, protocol xml docs. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13pointer-constraints: Correct spelling, grammar and consistencyYong Bakos
Downcase the protocol summary description to match other protocols. Replace 'surface-relative' with 'surface local' for consistency and clarity. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13pointer-gestures: Correct pluralization, one space, minor vertical whitespaceYong Bakos
Adjust double-space after period to be consistent with all content. Adjust vertical whitespace surrounding first and last protocol tag to match conventions in this, and other, protocol xml docs. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13relative-pointer: Correct spelling error, one capitalization, and minor spaceYong Bakos
Downcase the protocol description summary. Adjust two double-spaces to one, like the rest of the content. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13tablet: Correct grammar and punctuationYong Bakos
Correcting minor grammar and punctuation affords clarity. Standardize the use of 'surface local coordinates' in lieu of 'surface relative'. Capitalize Wayland where appropriate, similar to other occurences. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-04-13tablet: Adjust vertical whitespace for consistencyYong Bakos
Add/remove vertial whitespace between xml elements according to conventions elsewhere within this, and other, protocol xml docs. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-03-09Revert "xdg-shell: clarify xdg_surface creation semantics regarding buffers"Jonas Ådahl
This patch was intended to be part of the coming v6 version of the xdg_shell protocol. It is an semantically backward incompatible change, so it cannot be implemented in xdg_shell v5 without breaking compatibility with available clients. This reverts commit 275fd34023fabdcb487f2adf2fe80bda1e4bf0dc.
2016-03-08Add the tablet protocolPeter Hutterer
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-08xdg-shell: clarify xdg_surface creation semantics regarding buffersMike Blumenkrantz
this change ensures that the client will set its initial state before performing any drawing, ensuring that there is no mismatch when creating a surface with a non-default state (eg. maximize, fullscreen, ...) looking at the following event flows: 1) wl_surface.attach, wl_surface.commit, xdg_shell.get_xdg_surface 2) wl_surface.attach, xdg_shell.get_xdg_surface, wl_surface.commit 3) xdg_shell.get_xdg_surface, wl_surface.commit, xdg_surface.configure, wl_surface.attach, wl_surface.commit only 3) is now valid, while 1) and 2) will trigger errors as a result of handling buffers prior to creating the xdg surface Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net> Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com> Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-02-29Remove 'is'.Carlos Olmedo Escobar
Signed-off-by: Carlos Olmedo Escobar <carlos.olmedo.e@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2016-02-16Introduce pointer locking and confinement protocolJonas Ådahl
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-16Introduce wp_relative_pointer interfaceJonas Ådahl
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>
2015-12-07xdg-shell: add state range reservation for EFLMike Blumenkrantz
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
2015-11-20xdg_shell: add missing <description> tags to the 'state' enum entriesPeter Hutterer
The scanner parses CDATA in <entry> but lets it disappear otherwise. To have descriptive text associated with the <entry>, we need a <description> tag - and that must have a summary attribute. The current scanner doesn't handle <description> however, so to get the summary printed in the output file we still need the summary attribute in the entry tag too. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2015-11-17Remove presentation timing protocolJonas Ådahl
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-09linux-dmabuf: Change the zlinux_prefix to zwp_linuxJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-11-09Apply the new version suffix convention to the protocolsJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-11-09Change all of the zwl_ prefixed protocols to use the zwp_ prefixJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-30Migrate xdg_shell protocolJonas Ådahl
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-29Add README files containing protocol maintainersJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-21Migrate the input method protocolJonas Ådahl
Applied the unstable naming convention. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-21Migrate the text input protocolJonas Ådahl
Renamed from "text" to "text-input" and applied the unstable naming convention. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-21Migrate presentation timing protocolJonas Ådahl
Applied unstable naming convention. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-21Migrate linux-dmabuf protocolJonas Ådahl
Version postfix added to interface names. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-21pointer-gestures: Use the new unstable naming schemaJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-20fullscreen-shell: Use the new unstable naming schemaJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-09Add fullscreen shell protocolJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2015-10-09Add unstable pointer gesture protocolJonas Ådahl
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>