summaryrefslogtreecommitdiffstats
path: root/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2020-03-11policy: Init policy framework APIMarius Vlad1-0/+1
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
2020-03-06meson.build: Do another agl-compositor version bumpMarius Vlad1-2/+2
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
2020-03-06meson.build: Install agl-shell-desktop extensionMarius Vlad1-1/+2
Bug-AGL: SPEC-3252 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Id7f5dedca9173ce32585fd555f1047d77508847c
2020-03-06protocol: Add agl-shell-desktop protocolMarius Vlad1-0/+3
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
2020-03-04meson.build: Increase version of the compositorMarius Vlad1-2/+2
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
2020-03-04meson.build: Build X11 backend optionallyMarius Vlad1-1/+19
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
2020-03-04meson.build: Increase wayland-protocol version dependencyMarius Vlad1-1/+1
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
2020-03-04meson.build: Upgrade build and headers to libweston7Marius Vlad1-2/+2
Bug-AGL: SPEC-3180 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ifa74b658307ee40d789f90882d210ea2d65c2898
2020-02-14meson.build: Allow to install the private extensionMarius Vlad1-0/+23
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
2020-02-10meson.build: Allow to build/install locallyMarius Vlad1-0/+13
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
2020-02-10meson.build: Enable Wextra and transform warning messages into errorsMarius Vlad1-0/+2
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
2020-01-30ivi-compositor: Add systemd notify messageMarius Vlad1-0/+14
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>
2020-01-30src/: Add basic support for app switchingScott Anderson1-0/+1
- 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>
2019-11-25Import source, backport to libweston 6.0icefish_8.99.5icefish_8.99.4icefish_8.99.3icefish_8.99.2icefish/8.99.5icefish/8.99.4icefish/8.99.3icefish/8.99.28.99.58.99.48.99.38.99.2Daniel Stone1-0/+108
Signed-off-by: Daniel Stone <daniels@collabora.com> Change-Id: I7705fa82dab29a27e4913cd548a2f5c3247dc5ad