From c0fe874cb3e0032587c41b6e8b9510ecb4e90ef5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Sun, 22 Jul 2018 15:25:03 +0200
Subject: [PATCH] Add desktop file

gnome-session starts applications by desktop file.

We set X-GNOME-AutoRestart=false for the moment to make it simpler to
spawn new development versions. We might change that at a later point
for release builds.
---
 data/meson.build                 | 22 ++++++++++++++++++++++
 data/sm.puri.Phosh.desktop.in.in | 12 ++++++++++++
 meson.build                      |  5 ++++-
 po/POTFILES.in                   |  1 +
 4 files changed, 39 insertions(+), 1 deletion(-)
 create mode 100644 data/sm.puri.Phosh.desktop.in.in

diff --git a/data/meson.build b/data/meson.build
index 7eb1cf12d..627d5caa6 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,3 +1,25 @@
+desktopconf = configuration_data()
+desktopconf.set('bindir', bindir)
+desktopconf.set('libexecdir', libexecdir)
+
+desktop_files = [
+  'sm.puri.Phosh.desktop',
+]
+foreach desktop_file : desktop_files
+  i18n.merge_file('desktop',
+    input: configure_file(
+      input: desktop_file + '.in.in',
+      output: desktop_file + '.in',
+      configuration: desktopconf
+    ),
+    output: desktop_file,
+    po_dir: '../po',
+    install: true,
+    install_dir: desktopdir,
+    type: 'desktop'
+  )
+endforeach
+
 runconf = configuration_data()
 runconf.set('bindir', bindir)
 runconf.set('libexecdir', libexecdir)
diff --git a/data/sm.puri.Phosh.desktop.in.in b/data/sm.puri.Phosh.desktop.in.in
new file mode 100644
index 000000000..2250217ea
--- /dev/null
+++ b/data/sm.puri.Phosh.desktop.in.in
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Type=Application
+Name=Phone Shell
+Comment=Window management and application launching for mobile
+Exec=@libexecdir@/phosh
+Categories=GNOME;Librem5;Core;
+OnlyShowIn=GNOME;
+NoDisplay=true
+X-GNOME-Autostart-Phase=DisplayServer
+X-GNOME-Provides=panel;windowmanager;
+X-GNOME-Autostart-Notify=true
+X-GNOME-AutoRestart=false
diff --git a/meson.build b/meson.build
index 0543d12ee..3407168ba 100644
--- a/meson.build
+++ b/meson.build
@@ -8,12 +8,14 @@ project('phosh', 'c',
 prefix = get_option('prefix')
 bindir = join_paths(prefix, get_option('bindir'))
 datadir = join_paths(prefix, get_option('datadir'))
+localedir = join_paths(prefix, get_option('localedir'))
 libexecdir = join_paths(prefix, get_option('libexecdir'))
+desktopdir = join_paths(datadir, 'applications')
 pkgdatadir = join_paths(datadir, meson.project_name())
 
 config_h = configuration_data()
 config_h.set_quoted('GETTEXT_PACKAGE', 'phosh')
-config_h.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
+config_h.set_quoted('LOCALEDIR', localedir)
 
 configure_file(
   input: 'config.h.in',
@@ -76,6 +78,7 @@ configure_file(
   configuration: run_data)
 
 gnome = import('gnome')
+i18n  = import('i18n')
 
 subdir('data')
 subdir('po')
diff --git a/po/POTFILES.in b/po/POTFILES.in
index cf260963c..528eff977 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,3 +1,4 @@
+data/sm.puri.Phosh.desktop.in.in
 src/auth.c
 src/background.c
 src/batteryinfo.c
-- 
GitLab