Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch adds the policy framework, comprised from hooks which a
policy engine can further customize, and which are checked upon surface
creation, commit and activation. Users should create specialized
versions of these callbacks when creating/desining a policy engine.
Further more, it adds the posibility to further customize the policy
engine by adding new states, events and policy rules.
By default, the policy API is aware of known states like 'start' or
'stop', but also 'show' and 'hide' as events.
A policy rule would allow to define the setup in which an event can happen
based on the state of the rule compared to that of the system, the action
event itself, the application and (optional) an timeout.
The policy rules are there to specify the state, the event, and
application, but it is ultimately handled by a hook which will be called
to handle the event. The compositor will arrange to pass all that
information back to the handler, so the policy engine is in control to
check in what circumstances the policy can be satisfied.
These policy rules allow to handle transitional states which are common
in AGL. For instance:
If one would want to display the application 'navigation' in 3
seconds after and state has been changed to 'start', it should do
add the following rule:
('navigation', STATE_START, EVENT_SHOW, timeout, main_output)
Then, when a 'STATE_START' state is propagated to the compositor the
policy API will trigger a state change signal which in turn wil arm an
timer to execute the event handler after a timeout 'timeout'.
Bug-AGL: SPEC-3217
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ie03c5f9b1ddb964949e4f9797cbbe2dd2b32a6b6
|
|
With the new agl-desktop-shell protocol created let us bump the version
once more so we know when that happened.
Bug-AGL: SPEC-3252
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I88599fd2dc49e37349f0717baaca31a3f95cb849
|
|
Bug-AGL: SPEC-3252
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id7f5dedca9173ce32585fd555f1047d77508847c
|
|
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
|
|
Bump the version of the compositor as well, as we switched to a newer
version of libweston.
Bug-AGL: SPEC-3180
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I345dbc4b992b23b784a35900ef754e39596a3082
|
|
libweston6 built and installed the x11 backend unconditionally, but this
is no longer the case with newer version of weston. Also, poky-agl
configuration specifically removes any distro features that contain x11.
Users wanting to test the compositor under a x11 backend need to
compile their own libweston version this shouldn't be a problem.
Unfortunatelly, meson does not have a easy way to determine if a header
is installed or not so after glancing over the documentation we need to
use the compilers' 'has_header' function to determine if the x11 header
was installed or not by the weston recipe.
This makes sure that if we're building out-of-tree it finds the proper
header as well.
Bug-AGL: SPEC-3180
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I3dce7c1beaf5bfab31fb88bc0462c7eb8320cfc8
|
|
If we have newer wayland-protocols version make use of it.
Bug-AGL: SPEC-3180
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Icce6771356f98599461ae09256a844fe1f1eca84
|
|
Bug-AGL: SPEC-3180
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ifa74b658307ee40d789f90882d210ea2d65c2898
|
|
This way clients can use wayland-scanner to generate their client
headers, and do not need to copy manually the extension.
Also, generate a pkgconfig file otherwise clients will have a hard time
finding the proper pkgdatadir path in order to get the agl-shell xml
file.
Bug-AGL: SPEC-3167
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id62e49b57c8864e0bdb695c03198eac782efcbeb
|
|
The cflags from libweston6 already have a libweston6 prefix path, which
is problematic when building locally as the compositor already uses
'libweston-6' as include directive.
This only applies to situations where libweston-6 is not installed in
system's path.
Bug-AGL: SPEC-3150
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ib545e727b455fd872da15447e0cd54fea999d294
|
|
Even though this is a bit too much it helps catch errors/type errors
much sooner when building with yocto, as all of debug/verbose messages
are suppressed normally.
Bug-AGL: SPEC-3150
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id7c48cb0e8b48f0f7ac6e9f4636b84c789c2e5e2
|
|
Notifies systemd that agl-compositor has been started. Re-uses most of
the weston bits.
Bug-AGL: SPEC-3119
Change-Id: I1a0b41093b2ce68dd4a64475af18d27338712c3d
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
|
|
- 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
|