Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id19a1865baef6e7c9804a281d583a4ac19421851
|
|
As we're increasing the amount of combinations we could have in the AGL
platforms, in which we're mixing various platforms, we require a way
to tell clients that there's already a shell client which in charge.
We can't really have multiple shell clients managing the windows and
surfaces, but in the same time we don't want to sever the wayland
connection the way it happens currently. Racy alternatives might exist,
which avoid advertising the interface altogether once a
client did bind to the interface but that's not really a
viable solution.
So instead of doing that, this patch introduces two new events which
tells the client that it was either successful, and it can continue
issue requests and receive events or a that it the bind failed. The
client can chose to wait and try later and abandon to bind to the
agl_shell intefface, and behave like a regular client.
While doing an update to protocol to add those two events this patch add
also a default destructor for the protocol.
Bug-AGL: SPEC-4502
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iacb86a668d1c4630724eecdb18e4b4c2d4e8e34a
|
|
There are several spell issues in the protocol xml files.
Modify to correct them.
Bug-AGL: SPEC-4174
Signed-off-by: ZhouMingying <zhoumy@cn.fujitsu.com>
Change-Id: I052a1cb4b1a0054305899a1d83e4be0fd9d03c2b
|
|
Bug-AGL: SPEC-4133
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iffc770e079788bb553077665169365dc7b2d901e
|
|
Currently agl-compositor notifies about application ids which can be
activated/deactivated, as well as the application state. However, when
an application is destroyed this information is not communicated to desktop
making it out of sync with the actual list of available applications.
To overcome this limitation extend the protocol and the logic to notify
about application destruction on surface remove.
Signed-off-by: Walter Lozano <walter.lozano@collabora.com>
Change-Id: Ib766cf3f3fbd10f55b85212480dc4717ab1bec22
|
|
Just like weston, we add a private protocol. Underneath we make use of
the weston renderer to get a hold of the pixels and transfer them to a
user-supplied buffer. This only brings up the server side implementation
of the protocol.
Bug-AGL: SPEC-3580
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I02a07ad5eb492ef2ecad74efb34d1453ebcbedc0
|
|
Replaces the agl-shell-desktop mention that all clients can bind to the
interface with a mention that that happens only if the policy engine
allows.
Bug-AGL: SPEC-3413
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ieb6b9df1181cb7a0ad6da09519655ebd8f73a1a5
|
|
area of the bounding box
The width and height will represent a rectangle which can be used to
define the maxium area to have the surface in. Any part of the surface
area that exceeds the area delimited by this bounding box will be
clipped away. The initial position of the bounding box is specified
using the bx and by values.
Bug-AGL: SPEC-3419
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ie24f469662dd686c49f658c415ccd2664d9a9b5b
|
|
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
|
|
With it, this also adds two pending lists, for each role type and
aggregates the checks used to compare against the roles type when the
surface is being created. There's no functional at this stage.
Bug-AGL: SPEC-3334
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I1900399fe35d9dbc26a93c374ac2f86efa860ba6
|
|
The events are sent straight after the activation took place. The state
changes are the surface role (for instance, pop-up) and the
activate/de-activate type of event. With that information there's also a
string type of data which can be used as easy way to forward data.
Note that this isn't the proper way for applications to
communicate with each other, but merely as a convenient way to pass data
from one application to another. In order to hang-off the data, the
'activate_app' request also got an additional argument which is relayed
back with the event.
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I0c9be86f6ff227b59271cac1c060563b5aac9b6c
|
|
This would be particularly useful to pop-up kind of window(s).
It implements the 'deactivate_app' request. For the pop-up role we
just remove the view from the layer while for the desktop we store
the previous surface and re-use it if that's set. Otherwise we just
display the background surface.
As we now allow to hide client windows, we need to able to activate/show
them back so this also adds a slight modification to take care to handle
the pop-up role separately when calling the 'activate_app' request.
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iec5ccbe2815f4b0e32086fd49856f5f338147f79
|
|
This extends the agl-shell-desktop protocol with a new request that
allows to set further properties on the window/client.
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia88e23c8c1cbc55c5423de480bba7f86c79897d0
|
|
The application ids will be advertised when binding the protocol
interface but also when the regular clients will create their surface.
Client are responsible for filtering their own name.
Bug-AGL: SPEC-3252
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia196e7d3b34694d7cb169228429a0e940eae8b3b
|
|
Protocol intented for use by regular XDG application which want to
tell the compositor to activate another application. This mimics
the activate_app request from agl-shell, and assumes the application is
already started.
Bug-AGL: SPEC-3252
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I1f7bd1d8d2f7d8f1eedf710aef1bf1046846f9be
|
|
- adds a new request for agl-shell, 'activate_app', which allows to
specify which application should switch to. With it, client shell
commands which application to switch to.
- ties the layout (panel and background initizatlon) bits into its own
specific file
Bug-AGL: SPEC-3117
Change-Id: I1b3d89ff77c0e0e439666227ef3319b2107406c0
Signed-off-by: Daniel Stone <daniels@collabora.com>
|
|
Signed-off-by: Daniel Stone <daniels@collabora.com>
Change-Id: I7705fa82dab29a27e4913cd548a2f5c3247dc5ad
|