weston/ivi-shell
Michael Tretter 16e3f27fc7 ivi-shell: bring back reference weston.ini
In commit d8e09afc9f ("tests: Convert ivi-shell-app-test.c to use
`weston_ini_setup`") the reference weston.ini for the ivi-shell was
removed, because it is not required by the test anymore.

The reference weston.ini still has value as an example for the ivi-shell
and how the ivi-shell-user-interface has to be configured. Retrieving
this information from the test case is not intuitive. Furthermore, the
file is still referenced by the ivi-shell/README, and the
configuration_data for generating the file was not fully removed.

Bring back the reference weston.ini for the ivi-shell and, while at it, cleanup
the configuration_data() to define only keys that are actually used in
weston.ivi.in.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
2021-06-04 12:40:12 +02:00
..
hmi-controller.c Use weston_compositor_add_destroy_listener_once() in plugins 2019-11-21 16:32:55 +00:00
ivi-layout-export.h Rename plugin-registry.h to libweston/plugin-registry.h 2019-04-18 12:31:46 +03:00
ivi-layout-private.h ivi-layout: use libweston-desktop api is to send configure events everywhere 2019-07-01 15:50:08 +00:00
ivi-layout-shell.h ivi-shell: call weston_layer_fini() 2021-05-28 13:38:28 +03:00
ivi-layout-transition.c ivi-layout: use libweston-desktop api is to send configure events everywhere 2019-07-01 15:50:08 +00:00
ivi-layout.c ivi-shell: call weston_layer_fini() 2021-05-28 13:38:28 +03:00
ivi-shell.c ivi-shell: call weston_layer_fini() 2021-05-28 13:38:28 +03:00
ivi-shell.h Move libweston-desktop.h 2019-04-18 12:31:46 +03:00
meson.build ivi-shell: bring back reference weston.ini 2021-06-04 12:40:12 +02:00
README ivi-shell: Add missing sentence point 2018-09-18 11:54:29 +02:00
weston.ini.in ivi-shell: bring back reference weston.ini 2021-06-04 12:40:12 +02:00

	In-vehicle infotainment (information and entertainment)
	graphical environment support modules for Weston


IVI-shell is an alternative shell for Weston, a Wayland display server.
Window management and application interaction with the display server
are very different to that of a normal desktop, which is why this is
a separate shell and not an extension to the desktop-shell suite with
xdg_shell. As such, applications need to be specifically written to use
IVI-shell.

IVI-shell contains two main features:
- Common layout library for surface, which allow ivi-shell developer
  to develop own shell, linking Common layout library.
  For the time being, the library refers Genivi ilm interface.

  https://at.projects.genivi.org/wiki/display/WIE/Wayland+IVI+Extension+Home

- Extension protocol; ivi-application to tie wl_surface and a given ID.
  With this ID, shell can identify which wl_surface is drawn by which
  application. In in-vehicle infortainment system, a shell has to update
  a property of a wl_surface. E.g. there may be a use case when vehicle
  starts to move, the wl_surface drawn by Car navigation is expected to
  move top of surfaces.

The actual software components delivered with Weston are:

- ivi-application.xml:
	Wayland protocol extension for IVI-applications; the public
	shell protocol (the same concept as xdg_shell).
	Implemented by ivi-shell.so.

- ivi-shell.so:
	A Weston shell module that implements ivi-application.xml interfaces.
	Loads ivi-layout.so.

- ivi-layout.so:
	Implements the IVI window management concepts: Screen, Layer,
	Surface, groups of Layers, groups of Surfaces, see:
	https://at.projects.genivi.org/wiki/display/WIE/Summary+of+Layer+manager+APIs
	Offers a stable API for writing IVI-controller modules like
	hmi-controller.so against the IVI concepts. In other words,
	it offers an API to write IVI window manager modules.

- hmi-controller.so:
	A sample implementation of an IVI-controller module, usually
	replaced by IVI system vendors.
	Uses ivi-layout.so to perform essentially window manager tasks.
	This implementation keeps all window management inside the module,
	while IVI-systems may use another module that exposes all window
	management via Wayland or other protocol for an external process
	to control.

- ivi-hmi-controller.xml:
	Wayland protocol extension for IVI display control; the private
	shell protocol for weston-ivi-shell-user-interface client
	(the same concept as desktop-shell.xml).
	Implemented by hmi-controller.so, and usually replaced by IVI
	system vendors.

- weston-ivi-shell-user-interface:
	A sample implementation of an IVI shell helper client, usually
	replaced by IVI system vendors.
	A helper client for basic display content, similar to
	weston-desktop-shell.


How to compile:
same as weston. To disable, use option: --disable-ivi-shell for configure.

How to configure weston.ini:
reference ini file will be generated in <build_dir>/ivi-shell.

How to run:
same as weston. exec weston.

How to use UI:
http://lists.freedesktop.org/archives/wayland-devel/attachments/20140625/abbfc064/attachment-0001.png