scanner: allow summary attributes in args and <description> in <protocol>

Add support for arg summaries for use by detailed structure element
descriptions.
spec: update high level description, add diagrams

Add diagrams from the Wayland architecture page and add some more high
level text describing X limitations and Wayland architecture.
spec: list core interfaces with short descriptions

Plus fix up misc. grammar.
wayland-util.h: Avoid un-namespaced _container_of

Yes, there are worse offenders in that file, but this one isn't used in
the code and it makes Xorg angry.
Drop warning when we receive an event for zombie objects

Business as usual, but the message is confusing.
spec: fix typo

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
protocol: fix typo

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
scanner: don't print new line when no descriptions are provided

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
Set version to 'master' on git master branch
Use dist-xz for tarballs
Add maximized protocol

A request from the client to ask the compositor to maximize the surface.
The compositor will reply with a configure event telling
the expected new surface size.  The operation is completed on the
next buffer attach to this surface.

A maximized client will fill the fullscreen of the output it is bound
to, except the panel area. This is the main difference between
a maximized shell surface and a fullscreen shell surface.
Add fullscreen protocol

Map the surface as a fullscreen surface. On the output the
surface is assigned to. The client can use different fulllscreen
method to fix the size mismatch issue: default, scale, driver
and fill.

Hints to indicate compositor how to deal with this fullscreen surface.

"default" means the client has no preference on fullscreen
          behavior, policies are determined by compositor.
"scale"   means the client prefers scaling by the compositor.
          Scaling would always preserve surface's aspect ratio.
          And the surface is centered.
"driver"  means the client wants to switch video mode to the
          smallest mode that can fit the client buffer. If the
          sizes do not match, black borders are added. And the
          framerate parameter is used for "driver" method,
          to indicate the preferred framerate. framerate=0 means
          that the app does not care about framerate
"fill"    means the client wants to add blackborders to the
          surface. This would be preferring 1:1 pixel mapping
          in the monitor native video mode. The surface is
          centered.
data_device: get rid of attach request

In the effort to make everything a regular surface, remove
data_device.attach request. To maintan the functionality, add
an icon surface parameter to data_device.start_drag.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
protocol: remove absolute coordinates from pointer

Remove the absolute coordinate fields from the pointer motion and
pointer_focus events. Clients are not supposed to see any global
coordinates.

Fix wayland-server code accordingly. wayland-client code is unaffected.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
Add wl_client_get_credentials() to get unix credentials for client
server: Rename wl_grab_interface.

In order to separate pointer and keyboard grabs, we need to
introduce a keyboard grab interface but first we must rename
some generic types to denote which device is holding the grab.

Type renames:

wl_grab_interface -> wl_pointer_grab_interface
wl_grab -> wl_pointer_grab
wl_input_device_start_grab -> wl_input_device_start_pointer_grab
wl_input_device_end_grab -> wl_input_device_end_pointer_grab
server: Implement wl_keyboard_grab_interface.
Split pointer_focus and keyboard_focus into enter and leave events
Add wl_region and surface requests to set opaque and input regions
Fix compilation: uid_t, gid_t and pid_t are defined in sys/types.h

This error shows up in third-party code when including
wayland-server.h.