src/: Add the remote surface role 53/24653/2
authorMarius Vlad <marius.vlad@collabora.com>
Fri, 29 May 2020 17:41:58 +0000 (20:41 +0300)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Sun, 14 Jun 2020 12:53:38 +0000 (12:53 +0000)
commit978c7f8c63d118a0fa8fcaab8d1d7d141be4767c
tree1b15f949fa116ef9ef1c857b0f770465865812ef
parent0e4d30b44e0b1614ce5e0a2d63c808e704d13ee2
src/: Add the remote surface role

This patch adds the 'remote' surface role, which clients can make use of
to hint the compositor that it should place the surface on other
output.

While both private extension protocols (agl-shell and agl-shell-desktop)
explicitly  require a wl_output when activating or when setting surface
roles, we still need the inform the compositor that the surface should be
placed on another output.

This is due to the activate_by_default functionality that requires
having an output being present, with the default regular XDG desktop
role deriving its output by using the output of the backgound surface
(which is being normally set by the client shell).

Just like pop-up dialog role and split surface role this patch adds
another temporary hold up place before the surface is actually created.

Bug-AGL: SPEC-3280

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ic67246ecc183826ae59b2c99a671885d61040249
protocol/agl-shell-desktop.xml
src/ivi-compositor.h
src/main.c
src/shell.c