summaryrefslogtreecommitdiff
path: root/protocol
Commit message (Collapse)AuthorAgeFilesLines
* ivi-application: Hyphenate compound adjective surface-localYong Bakos2016-04-291-1/+1
| | | | | | | See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* protocol: migrate to stable presentation-time.xmlPekka Paalanen2016-03-071-274/+0
| | | | | | | | | | | | | | | | | | | | Remove the unstable presentation_timing.xml file, and use presentation-time.xml from wayland-protocols instead to generate all the Presentation extension bindings. The following renames are done according to the XML changes: - generated header includes - enum constants and macros prefixed with WP_ - interface symbol names prefixed with wp_ - protocol API calls prefixed with wp_ Clients use wp_presentation_interface.name rather than hardcoding the global interface name: presentation-shm, weston-info, presentation-test. 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> [Pekka: updated wayland-protocols dependency to 1.2]
* protocol: fix DTD warning in weston-desktop-shellPekka Paalanen2015-11-191-1/+2
| | | | | | | | | | | | | The DTD requires elements in certain order, scanner itself doesn't. Anyway, fix the warning with a simple reordering to match how all other protocols are written. Fixes: protocol:107: element request: validity error : Element request content does not follow the DTD, expecting (description? , arg*), got (arg description ) Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Remove workspaces protocolJonas Ådahl2015-11-191-27/+0
| | | | | | | | | | | | It doesn't fill a useful function and is not intended to be continued. If there is need for workspace manipulation from clients a protocol based on those future needs need to be properly designed. workspaces.xml is probably not very relevant since it did the bare minimum. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Rename screenshooter protocol to weston_screenshooterJonas Ådahl2015-11-191-2/+2
| | | | | | | | | Due to the effort of moving a way from non-prefixed protocols, rename the weston specific screenshooter protocol to weston_screenshooter. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* desktop-shell: Rename protocol weston_desktop_shellJonas Ådahl2015-11-191-9/+5
| | | | | | | | | | | | | In the effort of going away from generic names of protocols only relevant for weston, rename the weston desktop shell weston_desktop_shell. This also resets the version to 1, as there will be no prior versions to weston_desktop_shell. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Use xdg_shell protocol from wayland-protocolsJonas Ådahl2015-11-191-616/+0
| | | | | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by: Jasper St. Pierre <jstpierre@mecheye.net>
* Use input method protocol from wayland-protocolsJonas Ådahl2015-11-191-291/+0
| | | | | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com> Reviewed-by: Jan Arne Petersen <janarne@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Use text input protocol from wayland-protocolsJonas Ådahl2015-11-191-374/+0
| | | | | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com> Reviewed-by: Jan Arne Petersen <janarne@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Use linux-dmabuf protocol from wayland-protocolsJonas Ådahl2015-11-191-274/+0
| | | | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Use fullscreen-shell.xml from wayland-protocolsJonas Ådahl2015-11-191-206/+0
| | | | | | | | | | Use the fullscreen-shell protocol XML from the wayland-protocols installation, and remove the one we provide ourself. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mariusz Ceier <mceier+wayland@gmail.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Clarify ack_configure behaviourDerek Foreman2015-09-301-2/+10
| | | | | | | | | | | | | | | Right now many toolkits (toytoolkit, gtk+ and EFL) will send an ack_configure request immediately in response to a configure event, even if they're not immediately committing the surface at that time. This leads to a situation where multiple configures receive ack_configure before any commit happens. There's really no reason for that sequence of events to bother a compositor, so this just clarifies the language to make it ok. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
* protocol: add linux_dmabuf extension (v3)Pekka Paalanen2015-08-141-0/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An experimental (hence the 'z' prefix) linux_dmabuf Wayland protocol extension for creating dmabuf-based wl_buffers in a generic manner. This does not include proper dmabuf metadata negotiation because there is no way to communicate all dmabuf constraints from the compositor to a client before-hand. The client has to create a wl_buffer wrapping one or more dmabuf buffers and then listen at the feedback object returned to know if the operation was successful. RFCv1 changes (after a first draft without code): - some renames of interfaces and argument, no semantic changes - added destructor protocol to dmabuf_batch - added feedback interface for buffer creation v2 changes: - use drm_fourcc.h as authoritative source for format codes - add support for the 64-bit layout qualifier and y-inverted dmabufs - simplify the 'add' request (no need to preserve fd numerical id) - add explicit plane index in the 'add' request - integrate the 'feedback' object events to the batch interface - rename 'create_buffer' to 'create' and move it into the batch interface - add requirements needed from the graphics stack and clients - improve existing errors and add batch error codes - removed error codes from the global interface - improve documentation for arguments, enums, etc. - rename dmabuf_batch to zlinux_buffer_params - The y-inverted property makes more sense as a whole buffer property. Y-flipping individual planes of the same buffer object is hardly useful. The y-invert is also converted into a flag, so we may add more flags later. - add flags for interlaced buffer content v3 changes: - Apply Daniel Vetter's comments about wording on coherency. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Acked-by: Benjamin Gaignard <benjamin.gaignard@linaro.org> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* Documentation for the prepare_lock_surface event description, is incorrectChristopher Michael2015-07-141-2/+2
| | | | | | | | | | | | Documentation for the prepare_lock_surface event description is incorrect. The summary says "Tell the client..." however the full-text description says "tell the shell..." Signed-off-by: Chris Michael <cp.michael@samsung.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> [This time include the actual changes.]
* xdg-shell: Further clarify xdg_surface.resize semanticsJonas Ådahl2015-06-261-4/+25
| | | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Further clarify xdg_surface.move semanticsJonas Ådahl2015-06-261-2/+11
| | | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* protocol/text: Update boilerplate from MIT X11 license to MIT Expat licenseBryce Harrington2015-06-151-20/+18
| | | | Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
* protocol: Update boilerplate from MIT X11 license to MIT Expat licenseBryce Harrington2015-06-157-133/+125
|
* protocol: whitespace cleanupBryce Harrington2015-06-151-5/+5
|
* xdg-shell: Document the set_maximized and unsetmaximized requestsJonas Ådahl2015-05-211-2/+42
| | | | | | | | | | | | | This patch changes the semantics (compared to the previous version of this patch) of maximizing/unmaximizing an already maximized/unmaximized surface to always result in a configure event. Doing it this way would be more consistent with how the compositor works regarding other configure events i.e. send many, letting the client ignore when needed (for example during resize). Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Document responsibilities regarding ping eventsJonas Ådahl2015-05-211-0/+3
| | | | | | | Document that a compositor is free to ping in any way it wants, but a client must always respond to any xdg_shell object it created. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
* xdg-shell: Document error conditions when popup and surface gettersJonas Ådahl2015-05-211-2/+14
| | | | | | | | | | Document that a wl_surface can only be assigned either a xdg_popup or xdg_surface once and that if the client still stries to do that an error is raised. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Clarify the meaning of app ID and give exampleJonas Ådahl2015-05-211-0/+9
| | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
* protocol: Add test screenshot capabilityBryce Harrington2015-05-211-0/+16
| | | | | | | | | | | This adds a capture_screenshot request which returns an image of the screen in the client-supplied wl_buffer for the given display output. A 'done' event is used to indicate when screenshotting has finished and the wl_buffer is ready to be read. Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
* protocol: Improve formatting of input method and text protocolsJonas Ådahl2015-05-122-4/+54
| | | | | | | | | To make it more readable, add an empty line between each request and event. Also comes with a bonus indentation fix. Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
* text-input: Replace model with inputDerek Foreman2015-05-081-9/+9
| | | | | | | | | | commit 78d00e45cc renamed text_model to text_input This cleans up remaining uses of the word "model" Reviewed-by: Jan Arne Petersen <janarne@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
* xdg-shell: Specify fullscreen size-mismatch handlingJonas Ådahl2015-05-051-0/+4
| | | | | | | | | | We cannot rely on the client to provide a surface filling the output so we must specify what happens with the outputs area that is not covered completely. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Specify the meaning of 0x0 window geometry in configureJonas Ådahl2015-05-051-0/+5
| | | | | | | | | | | Some times the compositor needs to send a configure request but without having any clue about what size the surface should have. Examples include unmaximizing a surface that was mapped as maximized, or an initial state which doesn't have any size expectations. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Some xdg_popup clarificationsJonas Ådahl2015-05-051-5/+8
| | | | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Some minor clarificationsJonas Ådahl2015-05-051-6/+10
| | | | | | | | | | | | | | | Mention set_window_geometry in configure documentation. Add a strategic "For instance" to clarify what is just an example. Clarify that the arguments of set_window_geometry are in the surface local coordinate space. Point out that the client needs to destroy a dismissed popup. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Fix a couple of typosJonas Ådahl2015-05-051-3/+2
| | | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* xdg-shell: Document that xdg_surface.set_window_geometry needs a commitJonas Ådahl2015-05-051-0/+3
| | | | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Require a buffer and a wl_surface.commit for mapping a windowJonas Ådahl2015-05-051-0/+19
| | | | | | | | | | | | | | | Require the client to have attached (either previously committed, or newly) a buffer to the corresponding wl_surface, and that the window will not be potentially mapped until calling wl_surface.commit after having created the window. This is required to make valid double buffered xdg_surface state possible when creating a window. Currently there is no double buffered state in xdg_popup, but it should behave the same as xdg_surface, and for making it future proof in case we want to add double buffered state to xdg_popup. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Move xdg_shell.get_xdg_popup errors to xdg_shellJonas Ådahl2015-05-051-8/+2
| | | | | | | | | They are errors that may be as a result of calling get_xdg_popup on an xdg_shell, not a result of calling a request on xdg_popup. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Require proper object tree destructionJonas Ådahl2015-05-051-3/+3
| | | | | | | | | | | Require all child objects to be destroyed before the parent. In other words, all popups and surfaces created by one xdg_shell instance needs to be destroyed before the xdg_shell object, otherwise a protocol error is raised. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* tests: ivi_layout test infrastructurePekka Paalanen2015-04-091-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Testing the ivi_layout API requires two things: - the tests must be written as a controller module to access the API - the tests need a helper client to create some objects that can then be managed via the API This patch adds all the infrastructure and two different kinds of example tests. Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston with ivi-shell, and loads the given module as a controller module, not as a normal plugin. The test controller module ivi-*.la will launch a helper client. For ivi-layout-test.la the helper client is ivi-layout.ivi. The helper client uses the weston-test-runner framework to fork and exec each TEST with a fresh connection to the compositor. The actual test is triggered by the weston_test_runner protocol interface, a new addition to weston-test.xml. The helper client uses weston_test_runner to trigger a test, and the server side of the interface is implemented by the test controller module (ivi-layout-test.la). The server side of weston_test_runner uses the same trick as weston-test-runner.h to gather a list of defined tests. A test is defined with the RUNNER_TEST macro. If a test defined by RUNNER_TEST succeeds, an event is sent to the helper client that it can continue (or exit). If a test fails, a fatal protocol error is sent to the helper client. Once the helper client has iterated over all of its tests, it signals the batch success/failure via process exit code. That is cought in the test controller module, and forwarded as Weston's exit code. In summary: each ivi_layout test is a combination of a client side helper/setup and server side actual tests. v2: Load weston-test.so, because create_client() needs it. v3: add a comment about IVI_TEST_SURFACE_ID_BASE. v4: Rebased to upstream weston-tests-env changes. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
* weston-test: add device_{release/add} into protocolMarek Chalupa2015-03-311-0/+6
| | | | | | | | | | This request simulates device creation/destruction from evdev (libinput) v2: added support for touch. Touch is not supported yet, but better be prepared Signed-off-by: Marek Chalupa <mchqwerty@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Spellcheck fixesBryce Harrington2015-03-192-2/+2
| | | | | | | | | | | | | ./ivi-shell/README:19: protocal ==> protocol ./src/compositor.h:596: seperate ==> separate ./src/version.h.in:33: actualy ==> actually ./src/cms-helper.h:44: embeded ==> embedded ./protocol/fullscreen-shell.xml:65: seperate ==> separate ./protocol/xdg-shell.xml:150: auxilliary ==> auxiliary ./clients/window.c:1035: preferrably ==> preferably Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Bump unstable versionJasper St. Pierre2015-02-271-1/+1
| | | | Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Rewrite documentationJasper St. Pierre2015-02-271-105/+157
| | | | | | | | This rewrites basically all of the text inside xdg-shell to be up to date, clearer, and rid of wl_shell and X11 terminology. [jadahl: Added paragraph about popup surface mapping order.] Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Add a simple destructor requestJasper St. Pierre2015-02-271-0/+5
| | | | Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Add invalid_parent error to xdg_popupJonas Ådahl2015-02-271-0/+1
| | | | | | | | Send an invalid_parent error when the client tries to create a popup with a paren that is neither a xdg_surface nor a xdg_popup. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Send an error when the client uses the not-topmost popupJasper St. Pierre2015-02-271-0/+7
| | | | | | | | | Either in destroy or get_xdg_popup. [jadahl: Verify that the new popup is the top most when mapping instead of creating. Some renaming.] Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Remove the flags from get_xdg_popupJasper St. Pierre2015-02-271-1/+0
| | | | | | | | There haven't been any ideas for flags, so we don't need a useless, unused parameter hanging around. Any future ideas should be done with a new request entirely. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Remove the serial from popup_doneJasper St. Pierre2015-02-271-1/+0
| | | | | | | It doesn't serve any purpose, as it's a serial that the client gave to the server when starting the popup, which the client already has. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* xdg-shell: Take a xdg_surface as the parent surfaceJasper St. Pierre2015-02-271-1/+1
| | | | | | There is no other valid surface that we should be using here. Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* tests: Rename wayland-test to weston-testDerek Foreman2015-02-241-2/+11
| | | | | | | | | | | | | | wayland-test isn't and will never be wayland protocol, it's weston internal. Renamed wayland-test to weston-test, and wl_test to weston_test. Also added a Big Fat Warning to the description of weston_test to try to keep people from thinking it's a good idea to use some of these functions outside of testing. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Acked-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* text: Fix typoDerek Foreman2015-01-201-1/+1
| | | | | Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* protocol: add Presentation feedback flagsPekka Paalanen2015-01-201-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add the missing feedback flags to the Presentation extension protocol specification. These flags are slightly different from the previous RFCv3.1 definition: http://lists.freedesktop.org/archives/wayland-devel/2014-March/013598.html Now, all compositors are safe to use 0 as the flags if they don't bother setting them properly. 0 is the "worst case" with the least guarantees. The meaning of ZERO_COPY is not exactly the opposite of the old COPY flag. ZERO_COPY is more strict, but applies only to that one surface. Therefore it can be used to verify a zero-copy video playback pipeline, also to a hardware overlay. There is no longer a flag to clearly indicate if the final presentation was done by a copy or a page flip. ZERO_COPY forbids the copy, but VSYNC alone does allow copy in case it cannot tear. It is possible to have first a compositing pass, and then another copy into the frontbuffer, and still set VSYNC if it cannot tear. Usually "cannot tear" is too hard to guarantee with a copy, so it often implies a page flip. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Mario Kleiner <mario.kleiner.de@gmail.com> Tested-by: Mario Kleiner <mario.kleiner.de@gmail.com>
* text: Fix some typosDerek Foreman2014-12-151-2/+2
| | | | Signed-off-by: Derek Foreman <derekf@osg.samsung.com>