summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2024-11-27 11:55:13 +0200
committerMarius Vlad <marius.vlad@collabora.com>2024-11-27 13:25:01 +0200
commit404f7128b1589fa3bfbb5ea55c0a51a5fef91bb0 (patch)
tree6bdc1389d0624eac433c69c515495f0b1f9c368a
parent7b54a3782d9981f849a88c023742a7d7f8be7232 (diff)
app: Add a way to retireve output name to place tbtnavi
This is identical to what cluster-receiver is doing so let's do the same thing here to have some consistency between them. An /etc/xdg/AGL.conf file containing [tbtnavi] output=XXXX Would pass 'XXXX' to the compositor to move the application to. Bug-AGL: SPEC-5310 Change-Id: I4bd52b87b50f90606c5ba5e93f93d58f76af1ace Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
-rw-r--r--app/main.cpp37
-rw-r--r--app/meson.build3
2 files changed, 38 insertions, 2 deletions
diff --git a/app/main.cpp b/app/main.cpp
index b3fd47a..41773f0 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -9,6 +9,7 @@
#include <QtQuick/QQuickWindow>
#include <navigation.h>
#include <vehiclesignals.h>
+#include <glib.h>
#include "navigation_client.h"
#include "qcheapruler.hpp"
@@ -16,6 +17,34 @@
#include "AglShellGrpcClient.h"
+std::string
+read_config_and_get_output(void)
+{
+ GKeyFile *conf_file;
+ gchar *value;
+ GError *err = NULL;
+
+ bool ret;
+ int n;
+ unsigned width, height, x, y;
+
+ // Load settings from configuration file if it exists
+ conf_file = g_key_file_new();
+
+ ret = g_key_file_load_from_dirs(conf_file, "AGL.conf",
+ (const gchar**) g_get_system_config_dirs(),
+ NULL, G_KEY_FILE_KEEP_COMMENTS, NULL);
+ if (!ret)
+ return std::string("");
+
+ value = g_key_file_get_string(conf_file, "tbtnavi", "output", &err);
+ if (!value) {
+ return std::string("");
+ }
+
+ return std::string(value);
+}
+
int main(int argc, char *argv[])
{
std::string our_name = "tbtnavi";
@@ -30,8 +59,14 @@ int main(int argc, char *argv[])
QCoreApplication::setApplicationVersion("0.1.0");
app.setDesktopFileName(graphic_role);
+ // grab the output to put the application on
+ std::string output = read_config_and_get_output();
+
GrpcClient *client = new GrpcClient();
- client->SetAppOnOutput(our_name, "remoting-remote-1");
+ if (!output.empty())
+ client->SetAppOnOutput(our_name, output);
+ else
+ client->SetAppOnOutput(our_name, "pipewire");
// Load qml
QQmlApplicationEngine engine;
diff --git a/app/meson.build b/app/meson.build
index b2ee673..cad087e 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -36,7 +36,8 @@ dep_qtappfw = [
tbtnavi_dep = [
qt_dep,
dep_qtappfw,
- grpc_deps
+ grpc_deps,
+ dependency('glib-2.0'),
]
tbtnavi_headers = [