summaryrefslogtreecommitdiffstats
path: root/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2020-11-19build/: Allow to build the compositor w/o walthamMarius Vlad1-2/+3
Provides empty implementations to avoid sprinking ifdefs everywhere. The transmitter plug-in does not expose a pkgconfig file we instead resort to test again waltham protocol (which is used by the transmitter) and the the remoting plug-in. Fixes a minor deps check in the meson file. Bug-AGL: SPEC-3691 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Id25d21d2ef0c6e55575c2e7685cda73e401db015
2020-11-05main: Add support loading waltham transmitter plug-inMarius Vlad1-1/+24
This is the same as the remoting plug-in, given that we'll be using the remoting plug-in to create the remoting output. The difference would be that instead of the 'remoting-output' section we'll use 'transmitter-output', with all other section specific being the same. For instance, using agl-shell-app-id we can instruct the application to be assigned to that 'transmitter-output'. Bug-AGL: SPEC-3611 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ic16b6b9672802f4f83be121385c0798b9dbe08e9
2020-09-30input: Add basic seat handlingMarius Vlad1-0/+1
This allows for basic input handling, to better customize how we handle out seat capabilities to the client. One useful outcome of this is the fact that we re-advertise to the client that in some situations there might not be a pointer available. That should let the client know as to avoid creating a pointer surface. Bug-AGL: SPEC-3591 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I4624a956264e9fa12a86da005944e9b426dde10a
2020-09-30client/screenshooter: Client for taking screenshotsMarius Vlad1-0/+4
The client allows to take screenshots of all outputs, a specific output (making use of xdg_output_manager interface) or just listing outputs. Bug-AGL: SPEC-3580 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Idd60d4892adf4c2ea493477421b6e5623e0ca1f0
2020-09-30screenshooter: Add agl-screenshooter protocolMarius Vlad1-0/+5
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
2020-06-26policy: Add a deny-all policy as an exampleMarius Vlad1-1/+10
Note this will deny any binding to the private extensions by default, if the compositor is not built with SMACK support. Defines a potential lists of applications permitted to create/display/activate surfaces/applications. Bug-AGL: SPEC-3413 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I2dbd3b3ef0d519fde7952f97e0303ff2b151aaa0
2020-06-26policy-default: Use libsmack to check client labelMarius Vlad1-0/+6
Use the client file descriptor to find out the SMACK label of that client. Enforces homescreen to bind to agl_shell and launcher and alexa-viewer to bind to the agl-shell-desktop interface. Allows access to agl_shell_desktop to tbtnavi and hvac as those contain example code on use it for moving it to other outputs. Bug-AGL: SPEC-3396 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I1a1abf2d2786624ffa484b6577de17f5010d5ac6
2020-06-15main: Add the ability to load the remote pluginMarius Vlad1-0/+21
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
2020-05-12meson.build: Add a meson variable to track libweston versionMarius Vlad1-3/+4
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
2020-05-04meson.build: Increase agl-compositor version for libweston8 upgradeMarius Vlad1-2/+2
Bug-AGL: SPEC-3352 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I03f38948de5676d1c73325045fa1badee01765e2
2020-05-04meson.build: Increase to libweston8 dependencyMarius Vlad1-2/+2
Trivial increase dependency. Bug-AGL: SPEC-3352 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: If78393eb961eb4f5ac8d605903b8adb354463f05
2020-03-11meson.build: Increase the build version of agl-compositorMarius Vlad1-2/+2
Increase the version for when policy part was added. Makes tracking of issues much easier in the future. Bug-AGL: SPEC-3217 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I77cf5e5d44b0621745f2c3dd113ab46938fd0c1d
2020-03-11policy-default: Install a default policy engineMarius Vlad1-0/+1
This is just an example on how to use the policy framework API and allows all actions to performed by default. Bug-AGL: SPEC-3217 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I83c9e61a2f2a89c373352232009cea4c6f6a3ad6
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