Age | Commit message (Collapse) | Author | Files | Lines |
|
Once the view has been placed on remote output do not attempt to
activate it on other output, as it would make quite confusing to have
same view on multiple outputs.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I36a8df18a174e3d5fd5f49ff5bdf70f1a16c86cb
|
|
As we don't have an explicit way to do it, like we have with the
protocol, we try to determine if the surface was being assigned a remote
output and use that, when the surface is created.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Idd95acd9ae69c5ac37b50d447956b0ee46a94677
|
|
The change to enable the remote outputs later than local ones, means
we need to make sure we still have a black surface installed for the
remoting output.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I3af4ee802eab377adf9c368a800b04ba13ead8af
|
|
Dynamically removing and inserting surfaces on outputs requires making
sure the surface is still mapped on that output.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I125f9788718655ee88fa389fb14bd2c36342f8fe
|
|
Will allow the client shell to receive, and to use as primary output,
the local outputs first, without the need to (pre-)configure the
client shell or the launcher. Makes integration much easier and will
retain the same functionality we had with weston.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ib8ac80074ea515487ffe79b0801f5bfd069e9ff7
|
|
Identifies the output being used, and removes the need to have the macro
set. At the moment purely informative, but might be needed in case of
debugging.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I7bdb49e7f97ce49afb035ee7b089094fc4aad3a2
|
|
Just like local outputs, use the agl-shell-app-id specified in the
'remote-output' section to assign that output to the specific
application id.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I43ba74889b8ea529ab9ec0ebdf8a8dd56762cc40
|
|
We were missing retrieving the scale and transform for the
remote-output.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I0842f62487a665d02e0cf9c005755a6260fad180
|
|
Ensures that we can retrieve the ivi_output from a weston_output using
its destroy listener. Necessary for setting and retrieving the wl_output
when activating/moving surfaces to that 'remote' output.
Bug-AGl: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I1457c27c90826f4c71e64820c3d359566445eb5e
|
|
This will be necesary a bit in the future, to ensure that we can't
later on enable the remote output so we need access to the api.
Bug-AGl: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ica13548c852efb7ae4cabade634a6629ed6fe215
|
|
Streaming to 'remote' outputs needs the remote-plugin library.
We build it automatically if we determine that the gst dependencies are
satisfied, otherwise we're using a stub version for it.
Unfortunatelly, upstream doesn't provide necessary header for the
remoting.h so we copy-paste directly. Will follow up with upstream
to provide headers for the plugins.
Bug-AGl: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ide277b402c511ed075fa1c5aaaf7770b50359c35
|
|
We no longer use older qtwayland version so there's no need to
keep in place anymore.
Bug-AGl: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Icad3d208ea96739b780dfef5911e855a7a39af6a
|
|
set for that output
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I07ca7108e37dcdb992de0e2223bde3f9fa200863
|
|
Just like the 'remote' surface roles, put back a black surface if
there's no background set and if it is the last surface on that output.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I7bd7ae55fc668753223a23462b697071faa16525
|
|
outputs
We install a black surface in the fullscreen layer for each output, and
we need to remove it before adding the new surfaces/views. We did that
aleady for 'remote' type of surfaces when categorizing the type, but
here we use the configuration file to determine the output, but we were
missing the black surface for that output. This verifies that the black
surface for that output is in use, and removes the black surface if so.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I3c4ae90ee0983bc424c932715d9a1ff082117bef
|
|
This makes it easier to specify the application directly in the
configuration file, without the ned to modify the application code.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ic38ca0aaf05ce8f1c4993341c9d767acfd25eb43
|
|
With this we add a few more debug statements to the log file.
Nothing too spurious but helps debugging more quickly if needed.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: If345903428cbb9c895e22980fdf64aec3c03d3b7
|
|
surface role is present
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia47c0539ff26d1378bb9ac75e19592d7b8b2b3bf
|
|
Necessary changes so that we can handle the remote surface just like the
regular desktop one. We use the same code when committing the surface
but modify the completion part to only modify the pending output as to
avoid remote surfaces interfering with the enum representing each
surface type.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ied770c8fd8cd7021a7efb5cf07bc44ab2cf93cce
|
|
to handle that
With the policy hooks in place we no longer need this quirk to activate
surfaces by default when starting up, and was potentially seen as hole
to bypass the policy hooks. Remove it and just allow the policy hook to
control how that happens.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I4c28648f0805e5c593c082c644d2e126b1d9df6b
|
|
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
|
|
Adds the other surface roles to the it.
Bug-AGL: SPEC-3280
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia0c659bfd0dbf96d53ee6f24d3c4296b3ffdad2d
|
|
As long as there is (an already created) surface in a split/fs type of role
there's no point in trying to activate it. Users can mistakenly try to
do that so have some logic in place to avoid it.
Bug-AGL: SPEC-3334
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id9b8e039b6d53fbfb4e310166a91c2cb6a45cb4e
|
|
This adds an intermediate geometry variable which is used to save and
restore to the original available geometry when destroying the split
surface. This takes care to inform the client that a new resize is
needed when the split surface is destroyed or when the split surface
is committed.
The width and height of the split surface is derived from the available
geometry area size (the available size of the background surface) but
this can further adapted to be based on the split window size (that is,
it could be specified by the client). This assumption is there to
simplify the implementation.
Bug-AGL: SPEC-3334
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia484a922a7cbd314db2c878f81cb548458d1c1cd
|
|
Now that we have the ability to discern between fullscreend and
split roles, use specific functions when doing the commit to further
customize them.
Bug-AGL: SPEC-3334
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Idf4ed55533c46925638a466e9713465d710b6845
|
|
Removes a unused warning about ivi_compositor.
Bug-AGL: SPEC-3334
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I40dbbdfe6036f7aa7d9c38638c1fc79e13681765
|
|
Now that we have the ability to determine the role type between
pop-up diaglos, full-screen, or split ones use the wrappers installed
previously to make use of them.
Keep the same functionality by activating the desktop surface if we
determine we have one.
Bug-AGL: SPEC-3334
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ibce3bc040ce3683ab41709d68d5fbf90d90ea539
|
|
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
|
|
Commit a2f9566bdbfcb8ee added an assert but failed to include the proper
header causing an warning and a failure when building locally.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I5bd0754f0a8dee74e9d5b09d34d80633cb96e666
|
|
We don't need to free the ivi_surface when un-binding the agl-shell, as
that should happen when `desktop_surface_removed()` is called.
We'll just invalidate them depending on the role so that next time we're
going to able to bind again.
Bug-AGL: SPEC-3404
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I6e06b6a1029989bf3e09156b602b6eab6addc5da
|
|
This adds a few words about:
- overall architecture and design
- protocol extension, agl-shell and agl-shell-desktop
- add inline code backticks for missing function names in policy API
Bug-AGL: SPEC-3386
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I96f2b08d80ec10dda4e080a772bd2f2456535631
|
|
With this in place we're now using the new logging framework.
Bug-AGL: SPEC-3352
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I5782b9a9fa825351c630af39bf7542d4bfa14efa
|
|
Bug-AGL: SPEC-3352
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id466a9d5bc253e5c65f7f2db328b6ea794457726
|
|
Copy-pasta mistake, as we don't really have the weston-debug extension
added.
Bug-AGL: SPEC-3352
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I56c36f4d5af830ba5a869a80f73f7f9df3d2e106
|
|
Avoids the need to modify, and potentially to forget (like I did), to
modify multiple places when moving/migrating to newer libweston version.
Bug-AGL: SPEC-3352
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ibab581f3e5a6b8253fad0a53dfd870cd4143b797
|
|
This is a no-op as the compositor isn't yet using the logging framework,
but will be added in subsequent patches.
Bug-AGL: SPEC-3352
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ieda47de45de621b095163d0e682e665c36484175
|
|
There have been suficient changes like the recent changes in the
agl-shell-desktop to require another version update.
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ibead5b3e8d474f5608785680528fb92a481380ed
|
|
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id5840ecd1384f15c67a5dd6070f4d02c0e6df690
|
|
event
With the introduction of the events that notify regular applications
of others' application state we require some way of controlling that.
This patch adds another hook for controlling just that.
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I2ade01eb5dfa454e360edd2e3943df91975da88f
|
|
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
|
|
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I9ea70e6f49eda0a475a185fc037cb2c86b2b2890
|
|
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I7260626819b78ff7e2a245dc0a5ef566919220f7
|
|
We didn't have a valid de-activate for it, but with the 'deactivate_app'
that is no longer true to make use of it.
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ife520e61360744231a13968f15bc0941ca163966
|
|
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
|
|
As de-activing apps make use of last_pending to retrieve the output, it
is vital to keep pending output as well, as we ultimately depend on it.
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I62854c3c886a142c35287d5ef1cf492a1a81ac99
|
|
Allows to retrieve the ivi compositor without passing addtional resource
in the request.
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I515e8133a8bdc6400932d3c08a112982546c3ff9
|
|
Temporally store the application details in a list of pending
applications as to be used when creating the desktop surface. Store the
output alongside the x and y values, useful in setting up the initial
positional values of the window.
Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Icae57378ff405a8770c074a3e2fe1e04535302ef
|
|
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
|
|
Surfaces are being added to linked list of pending surfaces as long as
the 'ready' request wasn't received, and are being categorized as regular
apps once the 'ready' request is handled. But, in order to display it,
the surface has to be activated. With this patch we force to
display/show the last pending surface that was added before issueing
a 'ready' request.
Obviously, multiple surfaces of this kind will be displayed, but only
the last one will remain displayed on the output, hence the refernce of
just the last pending surface. A particular use-case that will benifit
from this is when for instance the launcher application is started
before homescreen. When homescreen starts it will also activate/display
the launcher surface.
Bug-AGL: SPEC-3341
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iace641c3b65d0c5500fe336e592d2e8ada57d7e9
|
|
Bug-AGL: SPEC-3352
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I03f38948de5676d1c73325045fa1badee01765e2
|