<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wayland/protocol, branch 1.13</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/wayland/atom/protocol?h=1.13</id>
<link rel='self' href='http://git.sudomsg.com/mirror/wayland/atom/protocol?h=1.13'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/'/>
<updated>2017-01-24T10:00:19Z</updated>
<entry>
<title>protocol: add axis_source.wheel_tilt</title>
<updated>2017-01-24T10:00:19Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2017-01-23T23:56:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=2f72d0a8a82dac8c961cb9b4b509208b84322937'/>
<id>urn:sha1:2f72d0a8a82dac8c961cb9b4b509208b84322937</id>
<content type='text'>
Unlike a wheel rotation, a wheel tilt is a discrete-only axis. Wheel rotations
are mapped to degrees in libinput but that that does not apply to wheel tilt
axes where there is no physical equivalent.

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Acked-by: Daniel Stone &lt;daniels@collabora.com&gt;
Reviewed-by: Daniel Stone &lt;daniels@collabora.com&gt;
Reviewed-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
</content>
</entry>
<entry>
<title>protocol: indentation fixes</title>
<updated>2016-11-21T11:43:22Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2016-11-21T11:43:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=a26ed0949ec21a26fbbb6fb02f775e2da45611ea'/>
<id>urn:sha1:a26ed0949ec21a26fbbb6fb02f775e2da45611ea</id>
<content type='text'>
8 spaces changed to one tab

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Reviewed-by: Daniel Stone &lt;daniels@collabora.com&gt;
Acked-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: spell out that we're using linux/input-event-codes.h button codes</title>
<updated>2016-11-21T11:07:12Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2016-11-18T02:35:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=b4636b5e606177c5a771fcf4349fbf321fdf071c'/>
<id>urn:sha1:b4636b5e606177c5a771fcf4349fbf321fdf071c</id>
<content type='text'>
Because we already rely on it in the callers anyway. This is a retrofit, which
is not ideal but I'm not sure any compositor out there uses anything else.
Might as well define it.

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Reviewed-by: Daniel Stone &lt;daniels@collabora.com&gt;
</content>
</entry>
<entry>
<title>protocol: Extend wl_touch with touchpoint shape and orientation</title>
<updated>2016-11-16T16:35:19Z</updated>
<author>
<name>Dennis Kempin</name>
<email>denniskempin@google.com</email>
</author>
<published>2016-11-11T19:40:55Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=6a18a87727c64719c68168568b9ab1e4d7c2d9c1'/>
<id>urn:sha1:6a18a87727c64719c68168568b9ab1e4d7c2d9c1</id>
<content type='text'>
This CL updates the wl_touch interface with a shape and
orientation event.
The shape/orientation of a touch point is not relevant for most UI
applications, but allows a better experience in some cases
such as drawing apps.

The events are used by the compositor to inform the client
about changes in the shape and orientation of a touchpoint, which is
approximated by an ellipse and it's angle to the y-axis.

The event is optional and only sent when compositor and the
touch device support this type of information. The client is
responsible for making a reasonable assumption about the
touch shape if no shape is reported.

Signed-off-by: Dennis Kempin &lt;denniskempin@google.com&gt;
Reviewed-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Reviewed-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Daniel Stone &lt;daniels@collabora.com&gt;
</content>
</entry>
<entry>
<title>protocol: Remove inconsistent line breaks</title>
<updated>2016-11-10T14:41:40Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-10-31T13:46:18Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=66a26aeb2a4d76141938aab72113259c19e7ea17'/>
<id>urn:sha1:66a26aeb2a4d76141938aab72113259c19e7ea17</id>
<content type='text'>
Enum entries and message arguments are sometimes preceded by a blank line, but
often aren't.

Standardize the format of the protocol specification by removing blank lines
preceding a list of message arguments and enum entries.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: Use singleton global consistently</title>
<updated>2016-11-10T11:11:17Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-10-02T16:09:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=b802108f6e8dc664a36cc0b1f707d130e48221aa'/>
<id>urn:sha1:b802108f6e8dc664a36cc0b1f707d130e48221aa</id>
<content type='text'>
The protocol describes wl_shm as a "global singleton" rather than
"singleton global," which is the order used throughout other protocol
object descriptions.

Re-order the terms for consistency.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: Describe wl_registry as singleton</title>
<updated>2016-11-10T11:10:40Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-09-30T06:59:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=9e2e3bcaa74806ae6dd9fec7f9505b1605e5965b'/>
<id>urn:sha1:9e2e3bcaa74806ae6dd9fec7f9505b1605e5965b</id>
<content type='text'>
Other singleton objects in the protocol are described as such.

Add a singleton adjective to the wl_registry description, making it
similar to other descriptions.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: Replace '#defines' with 'macros'</title>
<updated>2016-09-13T12:31:41Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-08-17T23:03:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=2c8fc3eae27c9c0b02694c60d46886ebf47cc83c'/>
<id>urn:sha1:2c8fc3eae27c9c0b02694c60d46886ebf47cc83c</id>
<content type='text'>
The use of # within a description causes the documentation generator
to mistake C syntax with a documentation link.

Remove the # from the documentation, suppressing the warning.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: Specify upper left corner of damage rectangle</title>
<updated>2016-08-12T19:46:02Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-08-11T21:33:05Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=a285fa939cb06842ff1e1d5071c9ead8141c1052'/>
<id>urn:sha1:a285fa939cb06842ff1e1d5071c9ead8141c1052</id>
<content type='text'>
Specify x and y args as the upper left corner of the surface / buffer
damage rectangle.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Describe serial as serial number</title>
<updated>2016-08-12T19:45:55Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-08-11T21:33:04Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=8e7e52f3353be3d30dba0c1625c232e6d6e223a3'/>
<id>urn:sha1:8e7e52f3353be3d30dba0c1625c232e6d6e223a3</id>
<content type='text'>
Change "serial" to "serial number" in arg summaries, for consistency
and clarity.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Remove wl_ prefix from summary descriptions</title>
<updated>2016-08-12T19:45:48Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-08-11T21:33:03Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=7aa1f6cb2f506e49c483a2222a8f971fcf30882c'/>
<id>urn:sha1:7aa1f6cb2f506e49c483a2222a8f971fcf30882c</id>
<content type='text'>
Summary attributes sometime describe objects using their wl-prefixed type,
but more often don't.

Remove the wl_ prefix from summary descriptions, since they tend to describe
concepts.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Correct description indentation</title>
<updated>2016-08-12T19:45:41Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-08-11T21:33:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=40feca914b94d1d3e2f1f6fc7a22a5ebee014137'/>
<id>urn:sha1:40feca914b94d1d3e2f1f6fc7a22a5ebee014137</id>
<content type='text'>
Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Add missing line break</title>
<updated>2016-08-12T19:45:34Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-08-11T21:33:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=3f1104d64cd24b0580c0b8c86ca699bf03fe9d1f'/>
<id>urn:sha1:3f1104d64cd24b0580c0b8c86ca699bf03fe9d1f</id>
<content type='text'>
Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Capitalize ID for consistency</title>
<updated>2016-08-12T19:45:26Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-08-11T21:33:00Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=83ec381bf8e40273c02170028598212f738b9dfd'/>
<id>urn:sha1:83ec381bf8e40273c02170028598212f738b9dfd</id>
<content type='text'>
Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Hyphenate subsurface</title>
<updated>2016-08-12T19:45:19Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-08-11T21:32:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=aaf2c91873d77df2bdc1aa32bd7bf6ced41ac53b'/>
<id>urn:sha1:aaf2c91873d77df2bdc1aa32bd7bf6ced41ac53b</id>
<content type='text'>
Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Add summary attributes to request params and enum entries</title>
<updated>2016-08-12T19:45:09Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-08-11T21:32:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=d7cb6c357023e2c224c169755cdb80a17c8c79aa'/>
<id>urn:sha1:d7cb6c357023e2c224c169755cdb80a17c8c79aa</id>
<content type='text'>
Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Add release (destructor) request to wl_output</title>
<updated>2016-08-08T13:22:52Z</updated>
<author>
<name>Quentin Glidic</name>
<email>sardemff7+git@sardemff7.net</email>
</author>
<published>2016-07-05T18:41:49Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=bad9dc5186e46ab92e1680d1f0ea4a4d4f0f7211'/>
<id>urn:sha1:bad9dc5186e46ab92e1680d1f0ea4a4d4f0f7211</id>
<content type='text'>
Outputs come and go, and this is needed to clean up wl_resources on the
server side. All protocol objects need a way to be destroyed.

Cc: Neil Roberts &lt;neil@linux.intel.com&gt;
Cc: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Signed-off-by: Quentin Glidic &lt;sardemff7+git@sardemff7.net&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Reviewed-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
[Pekka: added commit message]
</content>
</entry>
<entry>
<title>protocol: Remove double line break</title>
<updated>2016-05-10T04:06:05Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-05-07T23:14:11Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=c6d204fdbcffec742416d3971ef1efd3b6eb575a'/>
<id>urn:sha1:c6d204fdbcffec742416d3971ef1efd3b6eb575a</id>
<content type='text'>
All vertical whitespace should manifest as a single blank line, never two.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
</content>
</entry>
<entry>
<title>protocol: add support for cross-interface enum attributes</title>
<updated>2016-05-03T11:54:11Z</updated>
<author>
<name>Auke Booij</name>
<email>auke@tulcod.com</email>
</author>
<published>2015-12-05T12:39:12Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=7ccf35d43209ca4c4283cd3a3746f8126d4c64c1'/>
<id>urn:sha1:7ccf35d43209ca4c4283cd3a3746f8126d4c64c1</id>
<content type='text'>
The enum attribute, for which scanner support was introduced in
1771299, can be used to link message arguments to &lt;enum&gt;s. However,
some arguments refer to &lt;enum&gt;s in a different &lt;interface&gt;.

This adds scanner support for referring to an &lt;enum&gt; in a different
&lt;interface&gt; using dot notation. It also sets the attributes in this
style in the wayland XML protocol (wl_shm_pool::create_buffer::format
to wl_shm::format, and wl_surface::set_buffer_transform::transform to
wl_output::transform), and updates the documentation XSL so that this
new style is supported.

Changes since v2:
 - add object:: prefix for all enumerations in the documentation
 - fix whitespace in scanner.c
 - minor code fixup to return early and avoid casts in scanner.c

Changes since v1:
 - several implementation bugs fixed

Signed-off-by: Auke Booij &lt;auke@tulcod.com&gt;
Reviewed-by: Nils Christopher Brause &lt;nilschrbrause@googlemail.com&gt;
Reviewed-by: Bill Spitzak &lt;spitzak@gmail.com&gt;
[Pekka: rebased across cde251a124d41977b447098cc530fcad2834a45f]
[Pekka: wrap lines and space fixes in scanner.c]
Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: Add summaries to event parameters</title>
<updated>2016-05-03T01:14:43Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-04-30T12:35:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=e21aeb5d1290de0ab67995bbd6341ef399a1f399'/>
<id>urn:sha1:e21aeb5d1290de0ab67995bbd6341ef399a1f399</id>
<content type='text'>
All event arg elements now have an appropriate summary attribute.
This was conducted mostly in response to the undocumented parameter
warnings generated during 'make check'.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Hyphenate compound adjective surface-local</title>
<updated>2016-04-29T23:38:05Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-04-28T17:01:34Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=4db76023f8ab724a1bc3cb58f3f4e4d19aa70af2'/>
<id>urn:sha1:4db76023f8ab724a1bc3cb58f3f4e4d19aa70af2</id>
<content type='text'>
Remove superfluous 'local' from 'buffer local'.
In addition, simplify the phrasing of local x/y coordinates in parameter
summaries.

See https://lists.freedesktop.org/archives/wayland-devel/2016-April/028249.html.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Correct grammar and spelling</title>
<updated>2016-04-21T22:12:01Z</updated>
<author>
<name>Yong Bakos</name>
<email>ybakos@humanoriented.com</email>
</author>
<published>2016-04-05T23:24:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=70850643f37d1b74f47affd0174101bf1f7fd2a8'/>
<id>urn:sha1:70850643f37d1b74f47affd0174101bf1f7fd2a8</id>
<content type='text'>
Fix grammar, spelling, tense, and other inconsistencies, based on
correctness, consistency, and precedence both here and influenced
by wayland-protocols.

- Standardize lower case for summary attribute values.
- Minor vertical whitespace removal consistency.
- Standarize references to coordinates, preferring 'surface local'
- Fix spelling, grammar, tense, and punctuation.

Signed-off-by: Yong Bakos &lt;ybakos@humanoriented.com&gt;
</content>
</entry>
<entry>
<title>protocol: fix spelling mistake</title>
<updated>2016-04-05T23:03:11Z</updated>
<author>
<name>Eric Engestrom</name>
<email>eric@engestrom.ch</email>
</author>
<published>2016-04-02T16:04:04Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=e40a46ca210aefa14b8dcc2d6dd233bcc06ba00b'/>
<id>urn:sha1:e40a46ca210aefa14b8dcc2d6dd233bcc06ba00b</id>
<content type='text'>
Signed-off-by: Eric Engestrom &lt;eric@engestrom.ch&gt;
</content>
</entry>
<entry>
<title>protocol: Add note about per version requirements to wl_data_device_manager</title>
<updated>2016-02-02T00:59:55Z</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2016-01-18T10:18:16Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=ed680954c87a726a7e98c098b8c35604b1633295'/>
<id>urn:sha1:ed680954c87a726a7e98c098b8c35604b1633295</id>
<content type='text'>
Add a note to the wl_data_device_manager global interface about the
different requirements for operating the objects created from the bound
global.

Signed-off-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Reviewed-by: Carlos Garnacho &lt;carlosg@gnome.org&gt;
</content>
</entry>
<entry>
<title>protocol: Add DnD actions</title>
<updated>2016-01-16T08:34:52Z</updated>
<author>
<name>Carlos Garnacho</name>
<email>carlosg@gnome.org</email>
</author>
<published>2016-01-15T20:11:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=da7b2489041ef465158601087ed0ef6d2e68445d'/>
<id>urn:sha1:da7b2489041ef465158601087ed0ef6d2e68445d</id>
<content type='text'>
These 2 requests have been added:

- wl_data_source.set_actions: Notifies the compositor of the available
  actions on the data source.
- wl_data_offer.set_actions: Notifies the compositor of the available
  actions on the destination side, plus the preferred action.

Out of the data from these requests, the compositor can determine the action
both parts agree on (and let the user play a role through eg. keyboard
modifiers). The chosen option will be notified to both parties
through the following two requests:

- wl_data_source.action
- wl_data_offer.action

In addition, the destination side can peek the source side actions through
wl_data_offer.source_actions.

Compared to the XDND protocol, there's two notable changes:

- XDND lets the source suggest an action, whereas wl_data_device lets
  the destination prefer a given action. The difference is subtle here,
  it comes off as convenience because it is the drag destination which
  receives the motion events (unlike in X) and can perform action updates.

  The drag destination seems also in a better position to update the
  preferred action based on things like the data being transferred, the
  place being dropped, and whether the drag is client-local.

- That same source-side preferred action is used in XDND to convey the
  modifier-induced action to the drag destination, which would then ack
  it, or reply with another action that's accepted (or none), this makes
  the XdndPosition/XdndStatus messaging very verbose, and synchronous
  because the drag source always needs to know the latest status/action
  for every position+action sent.

  Here it's the compositor which takes care of modifiers and matching
  available/accepted actions, this allows for the signaling to happen
  only whenever the actions/modifiers change for real.

Roughly based on previous work by Giulio Camuffo &lt;giuliocamuffo@gmail.com&gt;

Changes since v10:
- Narrow down the situations where wl_data_source/offer.accept requests
  are supposed to happen.

Changes since v9:
- Deferred the protocol errors to .finish after some IRC chat with Jonas,
  added further errors if actions API is used on selection sources/offers.

Changes since v8:
- Defined further the expected behavior on "ask", described the protocol
  errors that may happen. Fix more spaces vs tabs issues.

Changes since v7:
- Misc changes after updating the progress notification patch.

Changes since v6:
- Further explanations on wl_data_source/offer.set_actions, including a
  description of "ask" actions. Added protocol errors for unknown action
  values.

Changes since v5:
- Applied rewording suggestions from Jonas Ådahl. Dropped slot reservation
  scheme for actions. Fixed indentation and other minor formatting issues.

Changes since v4:
- Minor rewording.

Changes since v3:
- Splitted from DnD progress notification changes.
- Further rationales in commit log.

Changes since v2:
- Renamed notify_actions to set_actions on both sides, seems more consistent
  with the rest of the protocol.
- Spelled out better which events may be triggered on the compositor side
  by the requests, the circumstances in which events are emitted, and
  what are events useful for in clients.
- Defined a minimal common ground wrt compositor-side action picking and
  keybindings.
- Acknowledge the possibility of compositor/toolkit defined actions, even
  though none are used at the moment.
Changes since v1:
- Added wl_data_offer.source_actions to let know of the actions offered
  by a data source.
- Renamed wl_data_source.finished to "drag_finished" for clarity
- Improved wording as suggested by Bryce

Signed-off-by: Carlos Garnacho &lt;carlosg@gnome.org&gt;
Reviewed-by: Michael Catanzaro &lt;mcatanzaro@igalia.com&gt;
Reviewed-by: Mike Blumenkrantz &lt;zmike@samsung.com&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Improve data source notification around DnD progress</title>
<updated>2016-01-16T08:34:52Z</updated>
<author>
<name>Carlos Garnacho</name>
<email>carlosg@gnome.org</email>
</author>
<published>2016-01-15T20:11:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=5c4272b8e9b16d632e89f1e9448abc370b957443'/>
<id>urn:sha1:5c4272b8e9b16d632e89f1e9448abc370b957443</id>
<content type='text'>
Currently, there's no means for the DnD origin to know whether the
destination is actually finished with the DnD transaction, short of
finalizing it after the first transfer finishes, or leaking it forever.

But this poses other interoperation problems, drag destinations might
be requesting several mimetypes at once, might be just poking to find
out the most suitable format, might want to defer the action to a popup,
might be poking contents early before the selection was dropped...

In addition, data_source.cancelled is suitable for the situations where
the DnD operation fails (not on a drop target, no matching mimetypes,
etc..), but seems undocumented for that use (and unused in weston's DnD).

In order to improve the situation, the drag source should be notified
of all stages of DnD. In addition to documenting the "cancelled" event
for DnD purposes, The following 2 events have been added:

- wl_data_source.dnd_drop_performed: Happens when the operation has been
  physically finished (eg. the button is released), it could be the right
  place to reset the pointer cursor back and undo any other state resulting
  from the initial button press.
- wl_data_source.dnd_finished: Happens when the destination side destroys
  the wl_data_offer, at this point the source can just forget all data
  related to the DnD selection as well, plus optionally deleting the data
  on move operations.

Changes since v6:
  - Turned wl_data_offer.finish calls with 0/NULL state/mimetype an
    error, made it explicit that it will only result in
    wl_data_offer.dnd_finished being sent if successful.

Changes since v5:
  - Further rewording of wl_data_offer.finish and wl_data_offer.accept.
    Added error for untimely wl_data_offer.finish requests.

Changes since v4:
  - Applied rewording suggestions from Jonas Ådahl. Added new
    wl_data_offer.finish request to allow explicit finalization on the
    destination side.

Changes since v3:
  - Renamed dnd_performed to a more descriptive dnd_drop_performed,
    documented backwards compatible behavior on wl_data_offer.accept and
    wl_data_source.cancelled.

Changes since v2:
  - Minor rewording.

Changes since v1:
  - Renamed events to have a common "dnd" namespace. Made dnd_performed to
    happen invariably, data_device.cancelled may still happen afterwards.

Signed-off-by: Carlos Garnacho &lt;carlosg@gnome.org&gt;
Reviewed-by: Michael Catanzaro &lt;mcatanzaro@igalia.com&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Reviewed-by: Mike Blumenkrantz &lt;zmike@samsung.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: add wl_pointer.frame, axis_source, axis_stop, and axis_discrete</title>
<updated>2016-01-14T07:29:44Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2015-12-08T01:11:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=c5356e9016aa814a873a765bb2cbe57e804e5ea7'/>
<id>urn:sha1:c5356e9016aa814a873a765bb2cbe57e804e5ea7</id>
<content type='text'>
The frame event groups separate pointer events together. The primary use-case
for this at the moment is diagonal scrolling - a vertical/horizontal scroll
event can be grouped together to calculate the correct motion vector.
Frame events group all wl_pointer events. An example sequence of motion events
followed by a diagonal scroll followed by a button event is:
wl_pointer.motion
wl_pointer.frame
wl_pointer.motion
wl_pointer.frame
wl_pointer.axis
wl_pointer.axis
wl_pointer.frame
wl_pointer.button
wl_pointer.frame

In the future, other extensions may insert additional information about an
event into the frame. For example, an extension may add information about the
physical device that generated an event into the frame. For this reason,
enter/leave events are grouped by a frame event too.

The axis_source event determines how an axis event was generated. That enables
clients to judge when to use kinetic scrolling. Only one axis_source event is
allowed per frame and applies to all events in this frame.

The axis_stop event notifies a client about the termination of a scroll
sequence, likewise needed to calculate kinetic scrolling parameters.
Multiple axis_stop events within the same frame indicate that scrolling has
stopped in all these axis at the same time.

The axis_discrete event provides the wheel click count. Previously the axis
value was some hardcoded number (10), with the discrete steps this enables a
client to differ between line-based scrolling on a mouse wheel and smooth
scrolling with a touchpad. The axis_discrete event carries the axis
information and the discrete value and can occur at any time in the frame
provided it is ordered before the matching axis event. Specifically, this
sequence is valid:

wl_pointer.axis_source
wl_pointer.axis_discrete (vert)
wl_pointer.axis_discrete (horiz)
wl_pointer.axis (horiz)
wl_pointer.axis (vert)
wl_pointer.frame

Enter and leave event also trigger wl_pointer.frame events, where possible the
compositor should group leave and subsequent enter into the same frame. This
indicates to the client that the pointer has moved between surfaces and may
allow a client to shortcut code otherwise triggerd by the leave or enter
events.

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Reviewed-by: Carlos Garnacho &lt;carlosg@gnome.org&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Reviewed-by: Daniel Stone &lt;daniels@collabora.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: specify behavior of get_pointer when capabilities change</title>
<updated>2015-12-07T22:26:47Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2015-12-07T05:43:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=87321d0f2fb61a3808e7a0cc1d71f82d065b2cd2'/>
<id>urn:sha1:87321d0f2fb61a3808e7a0cc1d71f82d065b2cd2</id>
<content type='text'>
Also applies to touch/keyboard

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Reviewed-by: Daniel Stone &lt;daniels@collabora.com&gt;
Reviewed-by: Derek Foreman &lt;derekf@osg.samsung.com&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
</content>
</entry>
<entry>
<title>protocol: Add wl_surface.damage_buffer</title>
<updated>2015-12-03T15:19:08Z</updated>
<author>
<name>Derek Foreman</name>
<email>derekf@osg.samsung.com</email>
</author>
<published>2015-11-30T16:55:04Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=3384f69ecf043d62a4e036c0353c2daa01d7c4d0'/>
<id>urn:sha1:3384f69ecf043d62a4e036c0353c2daa01d7c4d0</id>
<content type='text'>
wl_surface.damage uses surface local co-ordinates.

Buffer scale and buffer transforms came along, and EGL surfaces
have no understanding of them.

Theoretically, clients pass damage rectangles - in Y-inverted surface
co-ordinates) to EGLSwapBuffersWithDamage, and the EGL implementation
passed them on to wayland.  However, for this to work the EGL
implementation must be able to flip those rectangles into the space
the compositor is expecting, but it's unable to do so because it
doesn't know the height of the transformed buffer.

So, currently, EGLSwapBuffersWithDamage is unusable and EGLSwapBuffers
has to pass (0,0) - (INT32_MAX, INT32_MAX) damage to function.

wl_surface.damage_buffer allows damage to be registered on a surface
in buffer co-ordinates, avoiding this problem.

Credit where it's due, these ideas are not entirely my own:
Over a year ago the idea of changing damage co-ordinates to buffer
co-ordinates was suggested (by Jason Ekstrand), and it was at least
partially rejected and abandoned.  At the time it was also suggested
(by Pekka Paalanen) that adding a new wl_surface.damage_buffer request
was another option.

This will eventually resolve:
https://bugs.freedesktop.org/show_bug.cgi?id=78190
by making the problem irrelevant.

Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Reviewed-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Signed-off-by: Derek Foreman &lt;derekf@osg.samsung.com&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
</content>
</entry>
<entry>
<title>protocol: fix a couple of whitespace issues</title>
<updated>2015-11-24T07:48:27Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2015-11-23T04:28:28Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=d5f22d29dfb46b755b1d0565c20fbf092a06526b'/>
<id>urn:sha1:d5f22d29dfb46b755b1d0565c20fbf092a06526b</id>
<content type='text'>
8 spaces is one tab

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
</content>
</entry>
<entry>
<title>protocol: Remove incorrect statement that attach must precede damage</title>
<updated>2015-11-20T16:25:33Z</updated>
<author>
<name>Derek Foreman</name>
<email>derekf@osg.samsung.com</email>
</author>
<published>2015-11-18T15:44:11Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=a5ef9304fe342cf012aba36cef066f61b03236d7'/>
<id>urn:sha1:a5ef9304fe342cf012aba36cef066f61b03236d7</id>
<content type='text'>
The documentation for wl_surface.commit makes it clear that the
application of damage follows attach during the commit, so it
doesn't matter what order the app sends the requests.

Many existing apps post damage before attaching a buffer already,
and it's really quite reasonable to do so.

Signed-off-by: Derek Foreman &lt;derekf@osg.samsung.com&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Reviewed-by: Daniel Stone &lt;daniels@collabora.com&gt;
</content>
</entry>
<entry>
<title>protocol: add the new bitfields to the dtd</title>
<updated>2015-11-17T12:36:21Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2015-11-09T23:34:32Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=e65aed46168fc86a7e78db071472278ea533f526'/>
<id>urn:sha1:e65aed46168fc86a7e78db071472278ea533f526</id>
<content type='text'>
See 851614fa78862499e016c5718e730fefbb8e3b73

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Reviewed-by: Auke Booij &lt;auke@tulcod.com&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: allow for a &lt;description&gt; element below &lt;protocol&gt;</title>
<updated>2015-11-17T12:36:21Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2015-11-09T04:15:00Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=0e8619211476ec38610108850033f6aee21f1978'/>
<id>urn:sha1:0e8619211476ec38610108850033f6aee21f1978</id>
<content type='text'>
The scanner parses this already, it doesn't do anything with it though.

The DTD requires the order to be copyright, description, then the interfaces.
That's largely a DTD limitation, the scanner doesn't care.

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>Revert "Remove protocol/wayland.dtd"</title>
<updated>2015-11-17T12:36:21Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2015-11-09T04:14:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=9d794d9f7736ab7ae177aeb69d946f78a00363d2'/>
<id>urn:sha1:9d794d9f7736ab7ae177aeb69d946f78a00363d2</id>
<content type='text'>
This reverts commit 06fb8bd371403d43bc192577abd6b0a0c8b29c59.

Having a DTD hooked up gives an indication of what we expect the protocol to
be, which is a clearer documentation than the current "whatever scanner.c
manages to parse".

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: specify enum and bitfield attributes</title>
<updated>2015-11-04T22:50:45Z</updated>
<author>
<name>Auke Booij</name>
<email>auke@tulcod.com</email>
</author>
<published>2015-10-24T11:07:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=851614fa78862499e016c5718e730fefbb8e3b73'/>
<id>urn:sha1:851614fa78862499e016c5718e730fefbb8e3b73</id>
<content type='text'>
Signed-off-by: Auke Booij &lt;auke@tulcod.com&gt;
Reviewed-by: Nils Chr. Brause &lt;nilschrbrause@googlemail.com&gt;
Reviewed-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
Acked-by: Victor Berger &lt;victor.berger@m4x.org&gt;
</content>
</entry>
<entry>
<title>Remove protocol/wayland.dtd</title>
<updated>2015-10-09T20:32:34Z</updated>
<author>
<name>Auke Booij</name>
<email>auke@tulcod.com</email>
</author>
<published>2015-10-08T13:35:34Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=06fb8bd371403d43bc192577abd6b0a0c8b29c59'/>
<id>urn:sha1:06fb8bd371403d43bc192577abd6b0a0c8b29c59</id>
<content type='text'>
The wayland scanner defines the protocol. The DTD specification is not used.
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Reviewed-by: Nils Christopher Brause &lt;nilschrbrause@googlemail.com&gt;
</content>
</entry>
<entry>
<title>wayland: add a release request on wl_seat</title>
<updated>2015-10-08T00:31:57Z</updated>
<author>
<name>FORT David</name>
<email>rdp.effort@gmail.com</email>
</author>
<published>2015-10-02T12:20:12Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=b6809e5a8051fd193fe4b041a3245c22432195db'/>
<id>urn:sha1:b6809e5a8051fd193fe4b041a3245c22432195db</id>
<content type='text'>
This is required if we want to correctly remove a wl_seat compositor-side. A
wl_seat is announced as a global object, then it is bound by the client. When
the compositor wants to remove the seat, it shall announce the global removal of
the object. The client can then call the release request on the wl_seat (which
means I won't use that object anymore).

Acked-by: Derek Foreman &lt;derekf@osg.samsung.com&gt;
Reviewed-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
</content>
</entry>
<entry>
<title>protocol: Update boilerplate from MIT X11 license to MIT Expat license</title>
<updated>2015-06-12T22:51:38Z</updated>
<author>
<name>Bryce Harrington</name>
<email>bryce@osg.samsung.com</email>
</author>
<published>2015-06-10T17:58:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=541b0cf24effa2705e9ea8ae2f3d89272c27bb89'/>
<id>urn:sha1:541b0cf24effa2705e9ea8ae2f3d89272c27bb89</id>
<content type='text'>
Signed-off-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: add better description of wl_pointer.release</title>
<updated>2015-03-30T11:23:18Z</updated>
<author>
<name>Marek Chalupa</name>
<email>mchqwerty@gmail.com</email>
</author>
<published>2015-03-30T10:10:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=c45be3d21e7231eec33c50f38d85fb4ac5fb74cc'/>
<id>urn:sha1:c45be3d21e7231eec33c50f38d85fb4ac5fb74cc</id>
<content type='text'>
Add note about what all wl_pointer.release does. Mainly that
it destroys the proxy object, so programmer must not call
wl_pointer_destroy() on the pointer any further.

Signed-off-by: Marek Chalupa &lt;mchqwerty@gmail.com&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>Spelling fixes (cosmetic)</title>
<updated>2015-03-19T14:56:17Z</updated>
<author>
<name>Bryce Harrington</name>
<email>bryce@osg.samsung.com</email>
</author>
<published>2015-03-19T01:32:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=439b0a38630eb3c1a088c84cc76019ad001bb99b'/>
<id>urn:sha1:439b0a38630eb3c1a088c84cc76019ad001bb99b</id>
<content type='text'>
A few typos in comments and protocol docs, no code changes.

./src/wayland-util.h:281: recieved  ==&gt; received
./src/wayland-client.c:115: occured  ==&gt; occurred
./src/wayland-client.c:156: occured  ==&gt; occurred
./tests/test-compositor.c:76: parallely  ==&gt; parallelly
./tests/test-compositor.c:474: recieve  ==&gt; receive
./protocol/wayland.xml:1767: layed  ==&gt; laid
./protocol/wayland.xml:2112: dependant  ==&gt; dependent
./doc/publican/sources/Client.xml:25: recieved  ==&gt; received

Signed-off-by: Bryce Harrington &lt;bryce@osg.samsung.com&gt;
Reviewed-by: Bill Spitzak &lt;spitzak@gmail.com&gt;
</content>
</entry>
<entry>
<title>protocol: Change wording of subsurface placement scheduling</title>
<updated>2015-03-04T07:47:48Z</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2015-03-03T07:40:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=8b2fbf872280a68f82ab6aae68a89fd58cc9996b'/>
<id>urn:sha1:8b2fbf872280a68f82ab6aae68a89fd58cc9996b</id>
<content type='text'>
Change wording to be more consistent with other parts of the subsurface
protocol. Before this change, wl_subsurface.set_position explicitly
stated that the new state was to be applied on the parents
wl_surface.commit and wl_subsurface.place_above/below only said "on
the next commit of the parent surface". What "committed" means is
ambiguous considering that a wl_surface.commit actually defers the
actual commit when in synchronized mode, but the intention has always
been that placement of a subsurface should be considered part of its
content, i.e. placement state should be applied when other state
(buffer, regions). This patch makes that more clear.

Note that prior to this patch, one could correctly have interpreted
the protocol meaning that placements operations takes effect explicitly
on wl_surface.commit of the parent surface no matter whether other state
of the parent surface is applied at that point. This patch clarifies that
that is not the case.

https://bugs.freedesktop.org/show_bug.cgi?id=88857

Signed-off-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Acked-by: Jasper St. Pierre &lt;jstpierre@mecheye.net&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>wayland.xml: fixed a typo</title>
<updated>2015-02-25T20:38:26Z</updated>
<author>
<name>Hardening</name>
<email>rdp.effort@gmail.com</email>
</author>
<published>2015-02-25T14:03:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=99d2775ae95784a3e9f4bcd6d2ef48cf36ca8c15'/>
<id>urn:sha1:99d2775ae95784a3e9f4bcd6d2ef48cf36ca8c15</id>
<content type='text'>
</content>
</entry>
<entry>
<title>protocol: Clarify selection data offer destruction requirement</title>
<updated>2015-01-24T02:20:35Z</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2015-01-23T08:21:14Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=5ce947bd9043c989e2caa4a6053e542b048a5718'/>
<id>urn:sha1:5ce947bd9043c989e2caa4a6053e542b048a5718</id>
<content type='text'>
Clarify that a client receiving a wl_data_device.selection event must
destroy the data_offer of the previous wl_data_device.selection event,
if any.

Signed-off-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
</content>
</entry>
<entry>
<title>protocol: Fix typo in wl_data_offer</title>
<updated>2015-01-24T02:20:29Z</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2015-01-23T08:21:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=434d797d273cb9a1c57e15902da6480d4c62fc83'/>
<id>urn:sha1:434d797d273cb9a1c57e15902da6480d4c62fc83</id>
<content type='text'>
Signed-off-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
</content>
</entry>
<entry>
<title>Protocol : Added destructor to wl_data_device interface</title>
<updated>2014-11-04T13:04:29Z</updated>
<author>
<name>kabeer khan</name>
<email>kabeer.khan@samsung.com</email>
</author>
<published>2014-10-13T05:04:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=0953e126d7836781a3310e85c9b5a0e6408b2a49'/>
<id>urn:sha1:0953e126d7836781a3310e85c9b5a0e6408b2a49</id>
<content type='text'>
[Pekka Paalanen: removed trailing whitespace, adjust bz link.]

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=81745
Signed-off-by: kabeer khan &lt;kabeer.khan@samsung.com&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: define error codes for role reassignment</title>
<updated>2014-10-08T10:09:56Z</updated>
<author>
<name>Pekka Paalanen</name>
<email>pekka.paalanen@collabora.co.uk</email>
</author>
<published>2014-10-01T09:52:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=7a0b86ab22e026387b6d529a46d8eb416caa26fa'/>
<id>urn:sha1:7a0b86ab22e026387b6d529a46d8eb416caa26fa</id>
<content type='text'>
On the interfaces where it was missing:
- wl_data_device
- wl_shell
- wl_pointer
add an error code for requests that set a wl_surface role when the
wl_surface already has a different role.

This is needed for compositors to appropriately report wl_surface
role violations.

Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Reviewed-by: Jasper St. Pierre &lt;jstpierre@mecheye.net&gt;
Acked-by: Jason Ekstrand &lt;jason.ekstrand@intel.com&gt;
</content>
</entry>
<entry>
<title>protocol: wl_shell.get_shell_surface gives a role</title>
<updated>2014-10-01T08:50:48Z</updated>
<author>
<name>Pekka Paalanen</name>
<email>pekka.paalanen@collabora.co.uk</email>
</author>
<published>2014-08-21T09:50:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=aee813f1ffae7cc20ea57070a08814980acc2beb'/>
<id>urn:sha1:aee813f1ffae7cc20ea57070a08814980acc2beb</id>
<content type='text'>
Now that we have defined "role", use the term.

Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Reviewed-by: Jason Ekstrand &lt;jason.ekstrand@intel.com&gt;
</content>
</entry>
<entry>
<title>protocol: wl_subcompositor.get_subsurface gives a role</title>
<updated>2014-10-01T08:50:48Z</updated>
<author>
<name>Pekka Paalanen</name>
<email>pekka.paalanen@collabora.co.uk</email>
</author>
<published>2014-08-21T09:42:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=96fdcfaec7c6617a77cd2d00ffc02b4476575d28'/>
<id>urn:sha1:96fdcfaec7c6617a77cd2d00ffc02b4476575d28</id>
<content type='text'>
Reword the conditions to make use of the definition of "role".

It is still forbidden to create more than one wl_subsurface for a
wl_surface at a time.

Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Reviewed-by: Jason Ekstrand &lt;jason.ekstrand@intel.com&gt;
</content>
</entry>
<entry>
<title>protocol: wl_data_device.start_drag may give a role</title>
<updated>2014-10-01T08:50:47Z</updated>
<author>
<name>Pekka Paalanen</name>
<email>pekka.paalanen@collabora.co.uk</email>
</author>
<published>2014-08-21T09:38:18Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=58743c29f8a766657affbf6c277ab108b0385e08'/>
<id>urn:sha1:58743c29f8a766657affbf6c277ab108b0385e08</id>
<content type='text'>
Now that we have defined "role", use the term.

Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Reviewed-by: Jason Ekstrand &lt;jason.ekstrand@intel.com&gt;
</content>
</entry>
<entry>
<title>protocol: wl_pointer.set_cursor gives a role</title>
<updated>2014-10-01T08:50:47Z</updated>
<author>
<name>Pekka Paalanen</name>
<email>pekka.paalanen@collabora.co.uk</email>
</author>
<published>2014-08-21T09:32:56Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=a27501f40e9a369ed5d4c655674130e76214281f'/>
<id>urn:sha1:a27501f40e9a369ed5d4c655674130e76214281f</id>
<content type='text'>
Now that we have defined "role", use the term.

Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Reviewed-by: Jason Ekstrand &lt;jason.ekstrand@intel.com&gt;
</content>
</entry>
<entry>
<title>protocol: define the concept of wl_surface role</title>
<updated>2014-10-01T08:50:47Z</updated>
<author>
<name>Pekka Paalanen</name>
<email>pekka.paalanen@collabora.co.uk</email>
</author>
<published>2014-08-18T14:07:34Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=ff2df60b1a07c3d26d170e65cd5440d15cdf3088'/>
<id>urn:sha1:ff2df60b1a07c3d26d170e65cd5440d15cdf3088</id>
<content type='text'>
Define what a role is, and what restrictions there are.

A change to existing behaviour is that a role cannot be changed at all
once set. However, this is unlikely to cause problems, as there is no
reason to re-use wl_surfaces in clients.

v2: give more concrete examples of roles, define losing a role, Jasper
rewrote the paragraph on how a role is set.

v3: make role permanent, there is no such thing as "losing a role".
Re-issuing the same role again must be allowed for wl_pointer.set_cursor
et al. to work.

v4: clarify the semantics of destroying a role object.

Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Reviewed-by: Jason Ekstrand &lt;jason.ekstrand@intel.com&gt;
</content>
</entry>
<entry>
<title>wl_surface: clarify the base of time passed in the callback of frame</title>
<updated>2014-08-21T07:01:17Z</updated>
<author>
<name>Ryo Munakata</name>
<email>ryomnktml@gmail.com</email>
</author>
<published>2014-08-20T15:25:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=06472737a9a24619f5739abaa192b1e47b14aecc'/>
<id>urn:sha1:06472737a9a24619f5739abaa192b1e47b14aecc</id>
<content type='text'>
Signed-off-by: Ryo Munakata &lt;ryomnktml@gmail.com&gt;
Reviewed-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: add repeat_info event to wl_keyboard</title>
<updated>2014-07-25T12:02:32Z</updated>
<author>
<name>Jonny Lamb</name>
<email>jonny.lamb@collabora.co.uk</email>
</author>
<published>2014-07-22T16:39:18Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=978943fa7e2ad315596f0be31384b4b521ab1193'/>
<id>urn:sha1:978943fa7e2ad315596f0be31384b4b521ab1193</id>
<content type='text'>
In the process wl_keyboard's version has been incremented. Given
clients get the wl_keyboard from wl_seat without a version, wl_seat's
version has also been incremented (wl_seat version 4 implies
wl_keyboard version 4).

earlier Acked-by: Daniel Stone &lt;daniel@fooishbar.org&gt;
Reviewed-by: Pekka Paalanen &lt;ppaalanen@gmail.com&gt;
</content>
</entry>
<entry>
<title>protocol: remove redundant 'the' in description</title>
<updated>2014-06-18T23:09:49Z</updated>
<author>
<name>Silvan Jegen</name>
<email>s.jegen@gmail.com</email>
</author>
<published>2014-05-23T05:26:56Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=1a6fd1621efc1a82cfe246a32ba68998dc3bbdb7'/>
<id>urn:sha1:1a6fd1621efc1a82cfe246a32ba68998dc3bbdb7</id>
<content type='text'>
Signed-off-by: Silvan Jegen &lt;s.jegen@gmail.com&gt;
</content>
</entry>
<entry>
<title>protocol: add wl_surface errors enum for bad scale and transform values</title>
<updated>2014-06-03T06:59:35Z</updated>
<author>
<name>Jonny Lamb</name>
<email>jonny.lamb@collabora.co.uk</email>
</author>
<published>2014-05-30T10:08:16Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=0dd019925b88ffee895aa426826f06b20804a758'/>
<id>urn:sha1:0dd019925b88ffee895aa426826f06b20804a758</id>
<content type='text'>
</content>
</entry>
<entry>
<title>protocol: Fix order of wl_pointer, wl_keyboard and wl_touch messages</title>
<updated>2014-05-09T21:30:14Z</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2014-05-09T16:10:32Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=3ed76204a9bb5dfe652113ea2e494ad688e22cea'/>
<id>urn:sha1:3ed76204a9bb5dfe652113ea2e494ad688e22cea</id>
<content type='text'>
The "release" message of wl_pointer, wl_keyboard and wl_touch introduced
in version 3 was placed first in the respective interface XML element,
causing wayland-scanner to misbehave and set the version number of the
"release" message to all subsequent messages with no explicitly specified
"since" version.

Signed-off-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
</content>
</entry>
<entry>
<title>shm: Disallow shrinking shm pools</title>
<updated>2014-04-07T23:01:25Z</updated>
<author>
<name>Kristian Høgsberg</name>
<email>krh@bitplanet.net</email>
</author>
<published>2014-04-07T21:42:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=24cdbe3d69763708dcd156edfbe7aa8d00bab860'/>
<id>urn:sha1:24cdbe3d69763708dcd156edfbe7aa8d00bab860</id>
<content type='text'>
Unused shm space will be automatically reclaimed if unused or can be
explicitly returned by using fallocate FALLOC_FL_PUNCH_HOLE.

https://bugs.freedesktop.org/show_bug.cgi?id=74632
</content>
</entry>
<entry>
<title>protocol: Document how clients are supposed to get the xkb keycode</title>
<updated>2014-04-01T23:47:04Z</updated>
<author>
<name>Rui Matos</name>
<email>tiagomatos@gmail.com</email>
</author>
<published>2014-03-25T15:35:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=2142c03a8bb1e9c380e1e28d657fe850302386a7'/>
<id>urn:sha1:2142c03a8bb1e9c380e1e28d657fe850302386a7</id>
<content type='text'>
This encodes what everyone is doing and avoids other implementers
having to guess.
</content>
</entry>
<entry>
<title>protocol: try to clarify frame callback semantics</title>
<updated>2014-03-11T16:09:55Z</updated>
<author>
<name>Pekka Paalanen</name>
<email>pekka.paalanen@collabora.co.uk</email>
</author>
<published>2014-02-24T08:00:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=2c319d341b58e57593f7829cf0c7d608f43089dd'/>
<id>urn:sha1:2c319d341b58e57593f7829cf0c7d608f43089dd</id>
<content type='text'>
"the callback event will arrive after the next output refresh" is wrong,
if you interpret "output refresh" as framebuffer flip or the moment when
the new pixels turn into light the first time. Weston has probably never
worked this way.

Weston triggers the frame callbacks when it submits repainting commands
to the GPU, which is before the framebuffer flip.

Strike the incorrect claim, and the rest of the paragraph which no
longer offers useful information.

As a replacement, expand on the "throttling and driving animations"
characteristic. The main purpose is to let clients animate at the
display refresh rate, while avoiding drawing frames that will never be
presented.

The new claim is that the server should give some time between
triggering frame callbacks and repainting itself, for clients to draw
and commit. This is somewhat intimate with the repaint scheduling
algorithm a compositor uses, but hopefully the right intention.

Another point of this update is to imply, that frame callbacks should
not be used to count compositor repaint cycles nor monitor refresh
cycles. It has never been guaranteed to work. Removing the mention of
frame callback without an attach hopefully discourages such use.

v2: Don't just remove a paragraph, but add useful information about the
request's intent.

v3: Specify the order of posting frame callbacks.

Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
Cc: Axel Davy &lt;axel.davy@ens.fr&gt;
Cc: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
</content>
</entry>
<entry>
<title>build: Move protocol/ Makefile.am into toplevel Makefile.am</title>
<updated>2014-02-18T22:55:09Z</updated>
<author>
<name>Kristian Høgsberg</name>
<email>krh@bitplanet.net</email>
</author>
<published>2014-02-18T22:55:09Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=bb5344ee6d404095ddb70195b0b4f749d460d989'/>
<id>urn:sha1:bb5344ee6d404095ddb70195b0b4f749d460d989</id>
<content type='text'>
A small step towards non-recursive build system for wayland too.
</content>
</entry>
<entry>
<title>build: Stop using xmllint to validate protocol files</title>
<updated>2014-02-18T22:52:02Z</updated>
<author>
<name>Kristian Høgsberg</name>
<email>krh@bitplanet.net</email>
</author>
<published>2014-02-18T22:52:00Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=6292fe2af6a45decb7fd39090e74dd87bc4e22b2'/>
<id>urn:sha1:6292fe2af6a45decb7fd39090e74dd87bc4e22b2</id>
<content type='text'>
Same reason as commit cd31275f28b0a04d2ec5426dc81e875197b47e52 from weston:

    The scanner needs to be good enough.  If it crashes or fails to report
    invalid input, that needs to get fixed.
</content>
</entry>
<entry>
<title>protocol: when buffer transform and scale change</title>
<updated>2014-02-10T05:08:47Z</updated>
<author>
<name>Pekka Paalanen</name>
<email>pekka.paalanen@collabora.co.uk</email>
</author>
<published>2014-02-07T09:13:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=f8b37449b25e4e63bc6f227bf12e8553f35ae0e9'/>
<id>urn:sha1:f8b37449b25e4e63bc6f227bf12e8553f35ae0e9</id>
<content type='text'>
Clarify when the pending and current buffer transform and scale values
change, and what exactly happens on commit.

This matches what Weston currently does.

Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: Fix build</title>
<updated>2014-01-31T21:35:07Z</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2014-01-31T21:29:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=bab7f46d83fc7890202966dc62d61d95480d7709'/>
<id>urn:sha1:bab7f46d83fc7890202966dc62d61d95480d7709</id>
<content type='text'>
"data" is the name of the void* argument in the implementation.
While we probably shouldn't use such an easily-collidable name,
just rename the callback's argument to callback_data for now.
</content>
</entry>
<entry>
<title>protocol: Fix documentation for the parameter of wl_callback</title>
<updated>2014-01-31T21:10:12Z</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2014-01-31T20:55:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=338dbd76194fa58b4b443def006e986f64f10769'/>
<id>urn:sha1:338dbd76194fa58b4b443def006e986f64f10769</id>
<content type='text'>
The parameter here is an opaque integer, rather than the event serial.
The "frame" callback uses this to pass the current time of day in
milliseconds.
</content>
</entry>
<entry>
<title>protocol: Fix the name of the registry argument</title>
<updated>2014-01-31T21:10:12Z</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2014-01-31T20:38:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=91974dad1c8e0e774e9fda87adffeab1c0e6104a'/>
<id>urn:sha1:91974dad1c8e0e774e9fda87adffeab1c0e6104a</id>
<content type='text'>
A simple copy-paste typo.
</content>
</entry>
<entry>
<title>protocol: Clarify semantics of wl_subsurface.set_position</title>
<updated>2014-01-20T06:43:13Z</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2014-01-19T09:32:11Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=47bbc6bb9c10409a0bab5110baee50c78c9e9bd5'/>
<id>urn:sha1:47bbc6bb9c10409a0bab5110baee50c78c9e9bd5</id>
<content type='text'>
Make it clear that multiple requests before commit are allowed and how it
is handled.

Signed-off-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Reviewed-by: Jasper St. Pierre &lt;jstpierre@mecheye.net&gt;
</content>
</entry>
<entry>
<title>protocol: Clarify semantics of sub-surface placement requests</title>
<updated>2014-01-20T06:42:44Z</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2014-01-19T09:32:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=b5fb898e92add82f577367fca9091040cd29e3d9'/>
<id>urn:sha1:b5fb898e92add82f577367fca9091040cd29e3d9</id>
<content type='text'>
Clarify some semantics of wl_subsurface.place_below and
wl_subsurface.place_below that were not specified.

Signed-off-by: Jonas Ådahl &lt;jadahl@gmail.com&gt;
Reviewed-by: Jasper St. Pierre &lt;jstpierre@mecheye.net&gt;
</content>
</entry>
<entry>
<title>Update .gitignore for protocol/</title>
<updated>2013-11-19T21:26:04Z</updated>
<author>
<name>Jasper St. Pierre</name>
<email>jstpierre@mecheye.net</email>
</author>
<published>2013-11-13T02:44:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=148478323fa67c8a30481f4fd8d3c06ea9fb258e'/>
<id>urn:sha1:148478323fa67c8a30481f4fd8d3c06ea9fb258e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>protocol: add sub-surfaces to the core</title>
<updated>2013-11-16T04:49:36Z</updated>
<author>
<name>Pekka Paalanen</name>
<email>pekka.paalanen@collabora.co.uk</email>
</author>
<published>2013-11-15T14:09:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=81c57614d11787c00b8859cbaef650e284b4f188'/>
<id>urn:sha1:81c57614d11787c00b8859cbaef650e284b4f188</id>
<content type='text'>
The sub-surface protocol was originally committed into Weston on May
10th, 2013, in commit 2396aec6842c709a714f3825dbad9fd88478f2e6. The
design for the protocol had started in the beginning of December 2012. I
think it is high time to move this into the core now.

This patch copies the sub-surface protocol as it was in Weston on Nov
15th, 2013, into Wayland. Weston gets a patch to remove the protocol from
there.

Sub-surface is a wl_surface role. You create a wl_surface as usual, and
assign it the sub-surface role and a parent wl_surface. Sub-surfaces are
an integral part of the parent surface, and stay glued to the parent.
For window management, a window is the union of the top-level
wl_surface and all its sub-surfaces. Sub-surfaces are not clipped to the
parent, and the union of the surface tree can be larger than the
(top-level) wl_surface at its root.

The representative use case for sub-surfaces is a video player window.
When the video content is given its own wl_surface, there is no need to
modify the video frame contents after decoding or copy them into a whole
window sized buffer before submitting it to the compositor. This allows
efficient, zero-copy video presentation paths, where video decoding
hardware produces a (YUV) buffer, which eventually ends up in a
(YUV-capable) hardware overlay and is scanned out directly.

This can also be used for zero-copy presentation of windowed OpenGL
content, where the OpenGL rendering engine does not need to draw or
avoid window decorations.

Sub-surfaces allow mixing different buffer types into the same window,
e.g. software-rendered decorations in wl_shm buffers, and live content
in EGL-based buffers.

However, the sub-surface extension does not offer clipping or scaling
facilities, or accurate presentation timing. Those are topics for
additional extensions.

Signed-off-by: Pekka Paalanen &lt;pekka.paalanen@collabora.co.uk&gt;
</content>
</entry>
<entry>
<title>protocol: validate the protocol against a dtd</title>
<updated>2013-10-25T17:58:06Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2013-10-23T04:56:04Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=05f95c85c8cad07bee233f1d4e205a12538365e1'/>
<id>urn:sha1:05f95c85c8cad07bee233f1d4e205a12538365e1</id>
<content type='text'>
The scanner is not very forgiving if the protocol doesn't match it's
expectations and crashes without much of a notice. Thus, validate the protocol
against a DTD.

Move the protocol subdir forward so we validate first before trying anything
else, and install the DTD so we can validate weston's protocols as well.
</content>
</entry>
<entry>
<title>protocol: Fix typo in documentation</title>
<updated>2013-10-11T17:04:43Z</updated>
<author>
<name>José Bollo</name>
<email>jobol@nonadev.net</email>
</author>
<published>2013-10-11T07:14:25Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=84247b7513abd03720438192c0cd2a815a294dec'/>
<id>urn:sha1:84247b7513abd03720438192c0cd2a815a294dec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Export the Wayland protocol XML file</title>
<updated>2013-09-22T04:48:56Z</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason@jlekstrand.net</email>
</author>
<published>2013-09-20T13:27:06Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=ba90497b872720d42a63c090be24f339679c6706'/>
<id>urn:sha1:ba90497b872720d42a63c090be24f339679c6706</id>
<content type='text'>
Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
</content>
</entry>
<entry>
<title>protocol: Add release requests for wl_pointer, wl_keyboard, and wl_touch</title>
<updated>2013-08-30T22:46:41Z</updated>
<author>
<name>Kristian Høgsberg</name>
<email>krh@bitplanet.net</email>
</author>
<published>2013-08-13T19:06:29Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=ea1fb51aae9fee7d416a0f2ba617f998cdee696d'/>
<id>urn:sha1:ea1fb51aae9fee7d416a0f2ba617f998cdee696d</id>
<content type='text'>
We missed destroy requests in the 1.0 protocol and since the scanner
generates local-only *_destroy requests in that case we can't add
destroy requests without breaking protocol.  A client needs to verify
that the server provides a version 3 seat to use the protocol destructor
so the name needs to be something else than wl_*_destroy.

v2 (Rob Bradford): Rebased, bumped the protocol versions and added since
attributes to the requests.
</content>
</entry>
<entry>
<title>protocol: Improve a bit of grammar for wl_surface::attach description</title>
<updated>2013-08-13T04:25:48Z</updated>
<author>
<name>Bryce W. Harrington</name>
<email>b.harrington@samsung.com</email>
</author>
<published>2013-08-09T17:44:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=f1696147381ac7f2977a5a0882a848d61074304a'/>
<id>urn:sha1:f1696147381ac7f2977a5a0882a848d61074304a</id>
<content type='text'>
Signed-off-by: Bryce Harrington &lt;b.harrington@samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Fix pluralization of user in popup_done description</title>
<updated>2013-08-09T04:42:38Z</updated>
<author>
<name>Bryce W. Harrington</name>
<email>b.harrington@samsung.com</email>
</author>
<published>2013-08-09T01:47:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=dbc41f0344ab26fda9cc4565531b81536f8b9493'/>
<id>urn:sha1:dbc41f0344ab26fda9cc4565531b81536f8b9493</id>
<content type='text'>
Signed-off-by: Bryce Harrington &lt;b.harrington@samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Improve grammar for set class description</title>
<updated>2013-08-09T04:42:26Z</updated>
<author>
<name>Bryce W. Harrington</name>
<email>b.harrington@samsung.com</email>
</author>
<published>2013-08-09T01:47:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=b5e7f9caef9baa4a1177cbb22955c58044dc4aab'/>
<id>urn:sha1:b5e7f9caef9baa4a1177cbb22955c58044dc4aab</id>
<content type='text'>
Signed-off-by: Bryce Harrington &lt;b.harrington@samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Add missing d to 'x an y'</title>
<updated>2013-08-09T04:41:57Z</updated>
<author>
<name>Bryce W. Harrington</name>
<email>b.harrington@samsung.com</email>
</author>
<published>2013-08-09T01:47:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=3d6470b1ef98448011401e3cb83b40b921354743'/>
<id>urn:sha1:3d6470b1ef98448011401e3cb83b40b921354743</id>
<content type='text'>
Signed-off-by: Bryce Harrington &lt;b.harrington@samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Fix typo by removing a redundant 'a'</title>
<updated>2013-08-09T04:41:44Z</updated>
<author>
<name>Bryce W. Harrington</name>
<email>b.harrington@samsung.com</email>
</author>
<published>2013-08-09T01:47:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=fecef1ca66443553440ba3e2c004c1842bbb00c9'/>
<id>urn:sha1:fecef1ca66443553440ba3e2c004c1842bbb00c9</id>
<content type='text'>
Signed-off-by: Bryce Harrington &lt;b.harrington@samsung.com&gt;
</content>
</entry>
<entry>
<title>protocol: Copy missing pixel formats from wl_drm to wl_shm</title>
<updated>2013-07-29T16:28:12Z</updated>
<author>
<name>Tomeu Vizoso</name>
<email>tomeu@tomeuvizoso.net</email>
</author>
<published>2013-07-11T14:08:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=03dc786c906d9567bd09cbf4ad17263edc381cc8'/>
<id>urn:sha1:03dc786c906d9567bd09cbf4ad17263edc381cc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>protocol: add no_keymap format to keymap formats</title>
<updated>2013-06-28T23:51:12Z</updated>
<author>
<name>Rob Bradford</name>
<email>rob@linux.intel.com</email>
</author>
<published>2013-06-24T15:50:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=2e075874435e0f2c8a03faeec24a4062b94c47b2'/>
<id>urn:sha1:2e075874435e0f2c8a03faeec24a4062b94c47b2</id>
<content type='text'>
This format is used to specify that the key button events received are not in
relation to any key map and that the codes should be interpreted directly.

v2: Use zero for the no keymap enum value and enhance the documentation
for the enum entry.
</content>
</entry>
<entry>
<title>protocol: Add missing since attribute for name event on wl_seat</title>
<updated>2013-06-14T18:56:50Z</updated>
<author>
<name>Rob Bradford</name>
<email>rob@linux.intel.com</email>
</author>
<published>2013-06-12T17:17:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=885d0575369be5e4ee7c1e000b7f612876056bbb'/>
<id>urn:sha1:885d0575369be5e4ee7c1e000b7f612876056bbb</id>
<content type='text'>
This event was added in version 2 of the protocol.
</content>
</entry>
<entry>
<title>protocol: Move new name event below existing requests and events and version it</title>
<updated>2013-06-05T05:08:58Z</updated>
<author>
<name>Kristian Høgsberg</name>
<email>krh@bitplanet.net</email>
</author>
<published>2013-06-05T05:07:28Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=a3870a297c7ee98085c0cd4c1a0b6372ecda05f5'/>
<id>urn:sha1:a3870a297c7ee98085c0cd4c1a0b6372ecda05f5</id>
<content type='text'>
Missed v2 of Robs patch that already did this based on feedback from
Ander and Daniel.
</content>
</entry>
<entry>
<title>protocol: Add a name event to give seat name</title>
<updated>2013-06-05T04:05:25Z</updated>
<author>
<name>Rob Bradford</name>
<email>rob@linux.intel.com</email>
</author>
<published>2013-05-31T17:08:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=dce104dcc23ea40795dffab05dfe753f4fd887d7'/>
<id>urn:sha1:dce104dcc23ea40795dffab05dfe753f4fd887d7</id>
<content type='text'>
This provides the ability for a client to differentiate events from
different seats in a multiple seat environment.
</content>
</entry>
<entry>
<title>protocol: Modes are specified in HW pixels</title>
<updated>2013-05-28T19:40:02Z</updated>
<author>
<name>Alexander Larsson</name>
<email>alexl@redhat.com</email>
</author>
<published>2013-05-28T14:20:52Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=b6930889044dcd92be5c7499e653c6cb19cddb19'/>
<id>urn:sha1:b6930889044dcd92be5c7499e653c6cb19cddb19</id>
<content type='text'>
Modes are mainly meant to be used in coordination with fullscreen in
DRIVER mode, by e.g. games. For such games what they generally want
is to match some hardware mode and resize their window for that. We
don't really need to complicate this with the scaling. So, we
keep the resolutions in HW pixels, and drop the SCALED flag (as it
is now useless).

This lets you just create e.g an 800x600 buffer of scale 1 and
fullscreen that, ignoring the output scaling factor (although you can
of course also respect it and create a 400x300 surface at scale 2).
Conceptually the mode change is treated like a scaling which overrides
the normal output scale.

The only complexity is the FILL mode where it can happen that the user
specifies a buffer of the same size as the screen, but the output has scale
2 and the buffer scale 1. Just scanning out this buffer will work, but
effectively this is a downscaling operation, as the "real" size of the surface
in pels is twice the size of the output. We solve this by allowing FILL to
downscale (but still not upscale).
</content>
</entry>
<entry>
<title>protocol: Use signed int for scale values</title>
<updated>2013-05-28T19:27:36Z</updated>
<author>
<name>Alexander Larsson</name>
<email>alexl@redhat.com</email>
</author>
<published>2013-05-24T11:08:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=e782dbecbc3b53684a78c8c5175e0571cfc3e119'/>
<id>urn:sha1:e782dbecbc3b53684a78c8c5175e0571cfc3e119</id>
<content type='text'>
We usually use signed ints for things like this, to avoid
issues C sign coersion.
</content>
</entry>
<entry>
<title>protocol: Support scaled outputs and surfaces</title>
<updated>2013-05-22T20:15:33Z</updated>
<author>
<name>Alexander Larsson</name>
<email>alexl@redhat.com</email>
</author>
<published>2013-05-16T13:49:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=d68c7d8aed92158ae68fd9cabb8bc2a50fd5066b'/>
<id>urn:sha1:d68c7d8aed92158ae68fd9cabb8bc2a50fd5066b</id>
<content type='text'>
This adds the wl_surface.set_buffer_scale request, and a wl_output.scale
event. These together lets us support automatic upscaling of "old"
clients on very high resolution monitors, while allowing "new" clients
to take advantage of this to render at the higher resolution when the
surface is displayed on the scaled output.

It is similar to set_buffer_transform in that the buffer is stored in
a transformed pixels (in this case scaled). This means that if an output
is scaled we can directly use the pre-scaled buffer with additional data,
rather than having to scale it.

Additionally this adds a "scaled" flag to the wl_output.mode flags
so that clients know which resolutions are native and which are scaled.

Also, in places where the documentation was previously not clear as to
what coordinate system was used this was fleshed out.

It also adds a scaling_factor event to wl_output that specifies the
scaling of an output.

This is meant to be used for outputs with a very high DPI to tell the
client that this particular output has subpixel precision. Coordinates
in other parts of the protocol, like input events, relative window
positioning and output positioning are still in the compositor space
rather than the scaled space. However, input has subpixel precision
so you can still get input at full resolution.

This setup means global properties like mouse acceleration/speed,
pointer size, monitor geometry, etc can be specified in a "mostly
similar" resolution even on a multimonitor setup where some monitors
are low dpi and some are e.g. retina-class outputs.
</content>
</entry>
<entry>
<title>protocol: Allow output changes to be treated atomically</title>
<updated>2013-05-22T20:15:29Z</updated>
<author>
<name>Alexander Larsson</name>
<email>alexl@redhat.com</email>
</author>
<published>2013-05-16T13:49:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=911c0684281c53fca9423874d93469af8b436aa3'/>
<id>urn:sha1:911c0684281c53fca9423874d93469af8b436aa3</id>
<content type='text'>
This add a wl_output.done event which is send after every group
of events caused by some property change. This allows clients to treat
changes touching multiple events in an atomic fashion.
</content>
</entry>
<entry>
<title>protocol: revert hotspot_x/y in set_cursor back to int</title>
<updated>2013-04-18T20:28:52Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2013-04-17T20:33:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=cfec3aecb96da982c51791ed8335d1e70089e9af'/>
<id>urn:sha1:cfec3aecb96da982c51791ed8335d1e70089e9af</id>
<content type='text'>
copy/paste error introduced in 9c0357af6ee42c318ce37b458ae7bdb7d51316cb

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
</content>
</entry>
<entry>
<title>protocol: Make it clear that returned "one-shot" objects are destroyed</title>
<updated>2013-04-18T20:28:52Z</updated>
<author>
<name>Rob Bradford</name>
<email>rob@linux.intel.com</email>
</author>
<published>2013-04-17T17:28:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=e7d0a0b0ed4f61ce8fbddc0a49a95f04e0959be4'/>
<id>urn:sha1:e7d0a0b0ed4f61ce8fbddc0a49a95f04e0959be4</id>
<content type='text'>
The objects returned by the frame and sync request are destroyed by the
compositor after the "done" event on the wl_callback interface is fired.
</content>
</entry>
<entry>
<title>protocol: input documentation fixes</title>
<updated>2013-04-04T20:40:12Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2013-04-04T01:06:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=4f7f09b4c873d92b6697edc6d0d15bc939ac1a0c'/>
<id>urn:sha1:4f7f09b4c873d92b6697edc6d0d15bc939ac1a0c</id>
<content type='text'>
Fix summary for wl_touch::motion, extend summary for wl_touch::down to match
up/motion a bit better.

Fix a typo in wl_touch, and claim that it's zero or more update events, not
one or more.

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
</content>
</entry>
<entry>
<title>protocol: fix two protocol description 'typos'</title>
<updated>2013-04-03T19:44:50Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2013-04-03T19:27:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=e5202f76b001d7db21d313bda197e88b11cbe7d0'/>
<id>urn:sha1:e5202f76b001d7db21d313bda197e88b11cbe7d0</id>
<content type='text'>
Remove "mice, for example", it's described in the wl_pointer interface in
detail. And remove space before the full stop.

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
</content>
</entry>
<entry>
<title>protocol: document wl_pointer, wl_keyboard, wl_touch</title>
<updated>2013-04-03T19:44:50Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2013-04-01T23:58:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=9c0357af6ee42c318ce37b458ae7bdb7d51316cb'/>
<id>urn:sha1:9c0357af6ee42c318ce37b458ae7bdb7d51316cb</id>
<content type='text'>
Most of this should be clear, but let's spell a few things out.

Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
</content>
</entry>
<entry>
<title>protocol: use "summary", not "description" for xkb_v1 format</title>
<updated>2013-04-03T19:44:50Z</updated>
<author>
<name>Peter Hutterer</name>
<email>peter.hutterer@who-t.net</email>
</author>
<published>2013-04-01T23:58:16Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=4a599e029db9fc7b6a75bd05ba9a39158b2066e3'/>
<id>urn:sha1:4a599e029db9fc7b6a75bd05ba9a39158b2066e3</id>
<content type='text'>
Signed-off-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
</content>
</entry>
<entry>
<title>docs: Document granularity of timestamps</title>
<updated>2013-04-02T01:43:17Z</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2013-03-30T18:09:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=c110fbcb75846aa4c8ae591e6b811f6e05382623'/>
<id>urn:sha1:c110fbcb75846aa4c8ae591e6b811f6e05382623</id>
<content type='text'>
This information is necessary to make any use of these fields.
</content>
</entry>
<entry>
<title>docs: Remove mention of touch focus</title>
<updated>2013-04-02T00:06:36Z</updated>
<author>
<name>Kristian Høgsberg</name>
<email>krh@bitplanet.net</email>
</author>
<published>2013-04-02T00:06:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=c7639228b4850ca7d91d2f39815059c3edb83d08'/>
<id>urn:sha1:c7639228b4850ca7d91d2f39815059c3edb83d08</id>
<content type='text'>
There is no focused surface for a touch screen.
</content>
</entry>
<entry>
<title>docs: Improve wl_region protocol docs</title>
<updated>2013-04-01T23:59:38Z</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2013-03-30T05:11:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=ab6d96c8c46eba5dccc9f91f61ae5949b5e9939e'/>
<id>urn:sha1:ab6d96c8c46eba5dccc9f91f61ae5949b5e9939e</id>
<content type='text'>
Just cosmetic changes, a few missing periods, and ID was
not capitalized.
</content>
</entry>
<entry>
<title>docs: Improve the wl_output protocol docs</title>
<updated>2013-04-01T23:59:12Z</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2013-03-30T05:11:44Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=4c94024af5334fb57ba2b913d387a7ffe5ba954c'/>
<id>urn:sha1:4c94024af5334fb57ba2b913d387a7ffe5ba954c</id>
<content type='text'>
Some descriptions were missing.
</content>
</entry>
<entry>
<title>docs: Improve wl_touch protocol docs</title>
<updated>2013-04-01T23:58:06Z</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2013-03-30T05:11:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=27eacf423afcefa6c85a383f305db1e0d350805f'/>
<id>urn:sha1:27eacf423afcefa6c85a383f305db1e0d350805f</id>
<content type='text'>
Some descriptions were missing here.
</content>
</entry>
<entry>
<title>docs: Improve wl_keyboard protocol docs</title>
<updated>2013-04-01T23:57:28Z</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2013-03-30T05:11:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=608d81bfd59df9b1467fbea96ce532dce8559df1'/>
<id>urn:sha1:608d81bfd59df9b1467fbea96ce532dce8559df1</id>
<content type='text'>
Some descriptions were missing here.
</content>
</entry>
<entry>
<title>docs: Improve wl_pointer protocol docs</title>
<updated>2013-04-01T23:56:41Z</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2013-03-30T05:11:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/wayland/commit/?id=3f4008acb3debbf08e45d98e52739c3bcd134d4d'/>
<id>urn:sha1:3f4008acb3debbf08e45d98e52739c3bcd134d4d</id>
<content type='text'>
Some descriptions were missing here.
</content>
</entry>
</feed>
