[swell-foop/arnaudb/code-improvements: 8/9] Make D-Bus activatable.



commit 4941f97549dadfe34523b92d3fea73fcc3498dd2
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date:   Sat May 2 17:33:06 2020 +0200

    Make D-Bus activatable.

 data/meson.build                    | 18 +++++++++++++++---
 data/org.gnome.SwellFoop.desktop.in |  1 +
 data/org.gnome.SwellFoop.service.in |  3 +++
 meson.build                         | 23 ++++++++++++-----------
 4 files changed, 31 insertions(+), 14 deletions(-)
---
diff --git a/data/meson.build b/data/meson.build
index a02796d..251d9cd 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -9,9 +9,22 @@ install_subdir('themes',
   install_dir: pkgdatadir,
 )
 
-desktop = 'org.gnome.SwellFoop.desktop'
+# Make D-Bus activatable
+service_conf = configuration_data()
+service_conf.set('bindir', bindir)
+
+service = 'org.gnome.SwellFoop.service'
+
+configure_file(
+  input: service + '.in',
+  output: service,
+  install: true,
+  install_dir: join_paths(datadir, 'dbus-1', 'services'),
+  configuration: service_conf
+)
 
 # Desktop file
+desktop = 'org.gnome.SwellFoop.desktop'
 desktop_file = i18n.merge_file(
   input: desktop + '.in',
   output: desktop,
@@ -31,9 +44,8 @@ if desktop_file_validate.found()
   )
 endif
 
-appdata = 'org.gnome.SwellFoop.appdata.xml'
-
 # Appdata
+appdata = 'org.gnome.SwellFoop.appdata.xml'
 appdata_file = i18n.merge_file(
   input: appdata + '.in',
   output: appdata,
diff --git a/data/org.gnome.SwellFoop.desktop.in b/data/org.gnome.SwellFoop.desktop.in
index 78fb6c0..3e026ee 100644
--- a/data/org.gnome.SwellFoop.desktop.in
+++ b/data/org.gnome.SwellFoop.desktop.in
@@ -10,3 +10,4 @@ Terminal=false
 Type=Application
 Categories=GNOME;GTK;Game;LogicGame;
 StartupNotify=true
+DBusActivatable=true
diff --git a/data/org.gnome.SwellFoop.service.in b/data/org.gnome.SwellFoop.service.in
new file mode 100644
index 0000000..b4f36b6
--- /dev/null
+++ b/data/org.gnome.SwellFoop.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=org.gnome.SwellFoop
+Exec=@bindir@/swell-foop --gapplication-service
diff --git a/meson.build b/meson.build
index 7d54a6b..ff39ce0 100644
--- a/meson.build
+++ b/meson.build
@@ -4,25 +4,26 @@ project('swell-foop', ['c','vala'],
   license: 'GPLv2+',
 )
 
-gnome = import('gnome')
-i18n = import('i18n')
+gnome   = import('gnome')
+i18n    = import('i18n')
 
-localedir = join_paths(get_option('prefix'), get_option('localedir'))
-datadir = join_paths (get_option ('prefix'), get_option ('datadir'))
-pkgdatadir = join_paths (datadir, 'swell-foop')
+localedir   = join_paths (get_option ('prefix'), get_option ('localedir'))
+datadir     = join_paths (get_option ('prefix'), get_option ('datadir'))
+pkgdatadir  = join_paths (datadir, 'swell-foop')
+bindir      = join_paths (get_option ('prefix'), get_option ('bindir'))
 
-podir = join_paths(meson.source_root(), 'po')
+podir   = join_paths(meson.source_root(), 'po')
 vapidir = join_paths(meson.source_root(), 'vapi')
 
 # Dependencies
 
 glib_min_version = '2.36'
 
-glib_dep = dependency('glib-2.0', version: '>= ' + glib_min_version)
-gmodule_dep = dependency('gmodule-2.0')
-gobject_dep = dependency('gobject-2.0')
-gtk_dep = dependency('gtk+-3.0', version: '>= 3.24')
-clutter_dep = dependency('clutter-1.0', version: '>= 1.14.0')
+glib_dep        = dependency('glib-2.0', version: '>= ' + glib_min_version)
+gmodule_dep     = dependency('gmodule-2.0')
+gobject_dep     = dependency('gobject-2.0')
+gtk_dep         = dependency('gtk+-3.0', version: '>= 3.24')
+clutter_dep     = dependency('clutter-1.0', version: '>= 1.14.0')
 clutter_gtk_dep = dependency('clutter-gtk-1.0', version: '>= 1.5.0')
 
 # Check for compilers


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]