diff options
author | Marcus Fritzsch <marcus_fritzsch@mentor.com> | 2017-08-01 12:22:42 +0200 |
---|---|---|
committer | Marcus Fritzsch <marcus_fritzsch@mentor.com> | 2017-08-08 17:24:00 +0200 |
commit | 6429a02868e047992e435d81873c833d6ac91265 (patch) | |
tree | 5a72ac2c74261b0a8abeea9dd67b1d0544c759ef | |
parent | c03004341a31971fcc926675a6ba306867721e15 (diff) |
add simple README
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
-rw-r--r-- | README | 71 |
1 files changed, 71 insertions, 0 deletions
@@ -0,0 +1,71 @@ +This is a WindowManager implementation for the AGL Project. + + + +Limitations +---------- ----- -- - - +Currently no configuration of where the ids.json and layouts.json +files are to be found is implemented, they will be searched in "..". +See "Building" and "Running" for more details. + + + +Description +---------- ----- -- - - +The application source is located in src/ and is loosely structured c++. + +The code base is c++14, and uses nlohmanns json implementation[1]. Also +the std::experimental::optional is used where sensible. + +There is not a single source file for each class. The different +modules have the following resposibilities: + +* wayland: implement the basic wayland proxy wrappers and listeners, + this includes the rather large ivi_controller and its + dependent objects. +* app: the actual (or intended as) implementation of the application +* util: generic utilities +* main: AFB service entrypoint +* layout: layout related functionality (as of yet mostly unused/not functional) +* layers: layer related functionality (mostly just mapping surfaces + to layers, parsing configuration) +* result: a simple wrapper over optional, that allows to signal an error + and a description. +* json_helper: some json helper functions, mainly used for transforming + structures to json. +* controller_hooks: hooks to be used be the genivi::ivi_controller + to call to the App class, without knowing of its + existence. + + + +Building +---------- ----- -- - - +Prerequisites are the AGL app-framework-binder (which "infects" us with +json-c and libsystemd - i.e. these are needed too). Then proceed as follows: + +mkdir build +cd build +cmake .. +make -j + + + +Running +---------- ----- -- - - +Prerequisites: a compositor implementing the ivi_controller interface must +be running and XDG_RUNTIME_DIR must be set so the wayland socket can be found. + +To run from the build directory use: + +afb-daemon --ldpaths=$PWD/src + + + +JSON Configurations +---------- ----- -- - - +ids.json: This file configures a mapping of surface id to some layer id. Also + In this configuration are information on the actual drawing rectangles + that applications need to use on a particular layer. +layout.json: A layout spcification. It is as of yet mostly unused and if not + parsed correctly should not interfere with window manager operation. |