Age | Commit message (Collapse) | Author | Files | Lines |
|
This introduces a new set_split request to allow changing the tile
orientation of the window. See the protocol XML for more implementation
details.
Of importance difference from the previous implementation is that
this patch makes use of the xdg-shell protocol, such that orientation
is being handled over the configure event to the client.
The protocol specifies a width to allow the client to control how much
of the output be assign the split window and also a sticky window
functionality.
Bug-AGL: SPEC-4839
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia8b7d04a7514f55d647c3ea76b13bab51a3586aa
|
|
This adds basic scaling for floating windows, sending new dimensions to
the clients to resize itself.
Bug-AGL: SPEC-4862
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ic693153cd704b278dcddd2514afc8dafecf8829b
|
|
This adds basic movement for floating type of windows. The window needs
to be a floating type for this request to work out.
For the agl-shell protocol, this adds a set_app_float() request while
for gRPC it adds a SetAppPosition() request.
Bug-AGL: SPEC-4863
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I5ecc4257c3e84d15a8cabb183757753be37867f5
|
|
This is identical to the remote role, but I feel this conveys more
information than remote role, as remote denotes that the output is
displayed on another device, which it isn't always the case (the
system has multiple outputs all connected directly).
This introduces two new additions to the agl-shell protocol, a request
to use a different output to display/show the application and an event
to inform the shell client to use as a map between the application id
and its output. The event is necessary to let the shell client know
which output to activate the application on.
This requests implements a wrapper for gRPC that maps 1-to-1 to the
agl-shell request. There's no gRPC subscription similar to the event
though.
Bug-AGL: SPEC-4673
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I070e9fdbafd5616f3a98415193bf846aeaee9a4a
|
|
This implements set_app_fullscreen which clients can set-up before being
mapped.
The worthwhile change here was the fact that transitioning between
fullscreen, normal, and float would cause invalid tracking of the active
window when switching between these states. This would make floating
operation display the incorrect active window, so in order to reconcile
that, we only update the previous surface if it is different that the
current active one. Otherwise this fairly similar to set_app_float.
Bug-AGL: SPEC-4673
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ie912c86ff7ac38d034cf4d97b2adbc5ef47ce9d3
|
|
This request allows transitioning back from other roles like
float/split/fullscreen to regular maximized, normal state.
Bug-AGL: SPEC-4673
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id7f04ffee193677621bd32860998457498acc388
|
|
Add support for setting a window as float/popup. This allows either the
application itself be set-up as float, or from other gRPC clients.
Bug-AGL: SPEC-4673
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ic7ee8203cd9c4dfcc51b7fc9709f35be504ae9d0
|
|
This request will hide the currently active window, and activate
either the background or the previously active window.
This request mimics the agl-shell-desktop request, actually using the
same code path. It only handles regular windows and float/pop-up. Once
we add other roles like fullscreen/split we can improve on this.
Bug-AGL: SPEC-4673
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I593cda5d008dfc32fe5e3b079fad9450dc1a490d
|
|
In order to allow another other client bind to agl_shell interface, this
introduces a new specific interface which the client would bind to
first, issue a doas_shell_client request, wait for a response, and
proceeed further if the event received was successful. Afterwards, the
client can bind to agl_shell protocol (and assuming it got 'bound_ok'
event back) can further use the agl_shell protocol as it happens with
the shell client.
This approach avoids adding a new protocol interface and instead re-uses
the same interface, with the note that the shell client is still in
charge of handling background and panels.
Bug-AGL: SPEC-4503
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iac1d840a5f917b2a92fdfbdcdc583144d3942a1c
|
|
This introduces a new request, 'set_activate_region' that hints to the
compositor to use a defined rectangle area, rather than to infer it.
This is a follow-up from commit 924473ef016ba8dcfa863, 'Add manual
activation area configuration option' which brough in the same feature
but by using the ini configuration file.
Bug-AGL: SPEC-4594
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: If9395268e68de6b0d01f04b90822e06603808299
|
|
This protocol bump will notify the client binding to the agl-shell protocol
when a particular application changed its state.
This includes four (4) different events:
- started
- terminated
- activated
- deactivated
This should allow orchestrating start-up with activation as we don't
really know when it would be the proper time to activate an application
when starting up (for the first time). A started event will notify the
shell client we it can do that. These events are not sticky such that
the shell would be responsabile for keep track of the state, if it
wants to.
Bug-AGL: SPEC-4528
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id162874fa68946bb9b1db9fa356dd617a0db9eb7
|
|
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
|
|
- 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
|