[gnome-tweaks/ewlsh/devel-profile] meson: Add a development profile




commit b2103314c0e28c79232febe2b22ea85769095f25
Author: Evan Welsh <contact evanwelsh com>
Date:   Tue Feb 15 22:54:59 2022 -0800

    meson: Add a development profile

 data/meson.build                                           | 14 +++++++++-----
 ...rg.gnome.tweaks.devel.svg => org.gnome.TweaksDevel.svg} |  0
 data/org.gnome.tweaks.desktop.in                           |  2 +-
 gnome-tweaks                                               |  3 ++-
 gtweak/app.py                                              |  4 ++--
 gtweak/defs.py.in                                          |  1 +
 gtweak/meson.build                                         |  1 +
 gtweak/tweakview.py                                        |  5 ++++-
 gtweak/utils.py                                            |  4 ++--
 meson.build                                                |  9 ++++++++-
 meson_options.txt                                          |  9 +++++++++
 org.gnome.Tweaks.json                                      |  6 +++++-
 12 files changed, 44 insertions(+), 14 deletions(-)
---
diff --git a/data/meson.build b/data/meson.build
index 74f7e82..170d84b 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -7,10 +7,14 @@ i18n.merge_file(
   install_dir: appdatadir
 )
 
-desktop_file = 'org.gnome.tweaks.desktop'
 i18n.merge_file(
-  input: desktop_file + '.in',
-  output: desktop_file,
+  input: configure_file(
+    input: default_pkgappid + '.desktop.in',
+    output: pkgappid + '.desktop.temp',
+    configuration: defs_conf,
+    install: false
+  ),
+  output: pkgappid + '.desktop',
   po_dir: '../po',
   install: true,
   install_dir: desktopdir,
@@ -29,7 +33,7 @@ install_data(
   install_dir: 'share/glib-2.0/schemas'
 )
 
-install_data ('org.gnome.tweaks.svg',
+install_data (pkgappid + '.svg',
   install_dir: join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps'))
-install_data ('org.gnome.tweaks-symbolic.svg',
+install_data (default_pkgappid + '-symbolic.svg', rename: pkgappid + '-symbolic.svg',
   install_dir: join_paths(datadir, 'icons', 'hicolor', 'symbolic', 'apps'))
diff --git a/data/org.gnome.tweaks.devel.svg b/data/org.gnome.TweaksDevel.svg
similarity index 100%
rename from data/org.gnome.tweaks.devel.svg
rename to data/org.gnome.TweaksDevel.svg
diff --git a/data/org.gnome.tweaks.desktop.in b/data/org.gnome.tweaks.desktop.in
index add1af5..c70c839 100644
--- a/data/org.gnome.tweaks.desktop.in
+++ b/data/org.gnome.tweaks.desktop.in
@@ -2,7 +2,7 @@
 Name=Tweaks
 Comment=Tweak advanced GNOME 3 settings
 # Translators: Do NOT translate or transliterate this text (this is an icon file name)!
-Icon=org.gnome.tweaks
+Icon=@APPID@
 Exec=gnome-tweaks
 Terminal=false
 Type=Application
diff --git a/gnome-tweaks b/gnome-tweaks
index a244a85..16f7b3a 100755
--- a/gnome-tweaks
+++ b/gnome-tweaks
@@ -15,7 +15,7 @@ gi.require_version("Gtk", "3.0")
 gi.require_version("Handy", "1")
 
 import gtweak
-from gtweak.defs import VERSION
+from gtweak.defs import VERSION, APP_ID
 
 
 if __name__ == '__main__':
@@ -60,6 +60,7 @@ if __name__ == '__main__':
     gtweak.LIBEXEC_DIR = LIBEXEC_DIR
     gtweak.ENABLE_TEST = options.test
     gtweak.ALL_TWEAKS = options.load
+    gtweak.APP_ID = APP_ID
     gtweak.APP_NAME = "gnome-tweaks"
     gtweak.VERBOSE = options.verbose
 
diff --git a/gtweak/app.py b/gtweak/app.py
index 64bb250..a0a48a2 100644
--- a/gtweak/app.py
+++ b/gtweak/app.py
@@ -40,7 +40,7 @@ class GnomeTweaks(Gtk.Application):
 
     def __init__(self):
         GLib.set_application_name(_("GNOME Tweaks"))
-        Gtk.Application.__init__(self, application_id="org.gnome.tweaks")
+        Gtk.Application.__init__(self, application_id=gtweak.APP_ID)
         self.win = None
 
         self._settings = Gio.Settings.new('org.gnome.tweaks')
@@ -105,7 +105,7 @@ class GnomeTweaks(Gtk.Application):
         aboutdialog.set_comments(about_comment)
 
         aboutdialog.set_copyright("Copyright © 2011 - 2013 John Stowers.")
-        aboutdialog.set_logo_icon_name("org.gnome.tweaks")
+        aboutdialog.set_logo_icon_name(gtweak.APP_ID)
         aboutdialog.set_website("https://wiki.gnome.org/Apps/Tweaks";)
         aboutdialog.set_website_label(_("Homepage"))
         aboutdialog.set_license_type(Gtk.License.GPL_3_0)
diff --git a/gtweak/defs.py.in b/gtweak/defs.py.in
index 6c8fdf8..d877c00 100644
--- a/gtweak/defs.py.in
+++ b/gtweak/defs.py.in
@@ -1,4 +1,5 @@
 DATA_DIR = "@DATADIR@"
+APP_ID = "@APPID@"
 PKG_DATA_DIR = "@PKGDATADIR@"
 GSETTINGS_SCHEMA_DIR = "@GSETTINGSSCHEMADIR@"
 TWEAK_DIR = "@TWEAKDIR@"
diff --git a/gtweak/meson.build b/gtweak/meson.build
index d504b17..62a49e9 100644
--- a/gtweak/meson.build
+++ b/gtweak/meson.build
@@ -4,6 +4,7 @@ defs_conf.set('GSETTINGSSCHEMADIR', schemadir)
 defs_conf.set('LIBEXECDIR', libexecdir)
 defs_conf.set('LOCALEDIR', localedir)
 defs_conf.set('PKGDATADIR', pkgdatadir)
+defs_conf.set('APPID', pkgappid)
 defs_conf.set('TWEAKDIR', join_paths(gtweakdir, 'tweaks'))
 defs_conf.set('VERSION', meson.project_version())
 
diff --git a/gtweak/tweakview.py b/gtweak/tweakview.py
index 94b89a6..9db206d 100644
--- a/gtweak/tweakview.py
+++ b/gtweak/tweakview.py
@@ -19,7 +19,7 @@ class Window(Gtk.ApplicationWindow):
         self.set_default_size(980, 640)
         self.set_size_request(-1, 300)
         self.set_position(Gtk.WindowPosition.CENTER)
-        self.set_icon_name("org.gnome.tweaks")
+        self.set_icon_name(gtweak.APP_ID)
 
         self.hsize_group = Gtk.SizeGroup(mode=Gtk.SizeGroupMode.HORIZONTAL)
 
@@ -177,6 +177,9 @@ class Window(Gtk.ApplicationWindow):
         return right_box
 
     def load_css(self):
+        window_context = self.get_style_context()
+        if gtweak.APP_ID.endswith('Devel'):
+            window_context.add_class('devel')
         css_provider = Gtk.CssProvider()
         css_provider.load_from_path(
             os.path.join(gtweak.PKG_DATA_DIR, 'shell.css'))
diff --git a/gtweak/utils.py b/gtweak/utils.py
index 64d07cc..1dadbbc 100644
--- a/gtweak/utils.py
+++ b/gtweak/utils.py
@@ -331,7 +331,7 @@ class Notification:
             )
             self.notification.set_hint(
                                 "desktop-entry",
-                                GLib.Variant('s', 'org.gnome.tweaks'))
+                                GLib.Variant('s', gtweak.APP_ID))
             self.notification.show()
         else:
             raise Exception("Not Supported")
@@ -351,7 +351,7 @@ class LogoutNotification:
                                 self._logout, None, None)
             self.notification.set_hint(
                                 "desktop-entry",
-                                GLib.Variant('s', 'org.gnome.tweaks'))
+                                GLib.Variant('s', gtweak.APP_ID))
             self.notification.show()
         else:
             raise Exception("Not Supported")
diff --git a/meson.build b/meson.build
index 5b824e9..f41a7f6 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
 project('gnome-tweaks',
   version: '40.0',
-  meson_version: '>= 0.46.0'
+  meson_version: '>= 0.50.0'
 )
 
 gnome = import('gnome')
@@ -22,6 +22,13 @@ pythondir = join_paths(prefix, python3.get_path('purelib'))
 
 pkgdatadir = join_paths(datadir, meson.project_name())
 
+default_pkgappid = 'org.gnome.tweaks'
+pkgappid = default_pkgappid
+
+if get_option('profile') == 'development'
+  pkgappid = 'org.gnome.TweaksDevel'
+endif
+
 appdatadir = join_paths(datadir, 'metainfo')
 desktopdir = join_paths(datadir, 'applications')
 gtweakdir = python3.get_install_dir(subdir: 'gtweak')
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..a9e396d
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,9 @@
+option(
+  'profile',
+  type: 'combo',
+  choices: [
+    'default',
+    'development'
+  ],
+  value: 'default'
+)
diff --git a/org.gnome.Tweaks.json b/org.gnome.Tweaks.json
index 931d567..9839c32 100644
--- a/org.gnome.Tweaks.json
+++ b/org.gnome.Tweaks.json
@@ -1,5 +1,5 @@
 {
-    "app-id": "org.gnome.Tweaks",
+    "app-id": "org.gnome.TweaksDevel",
     "runtime": "org.gnome.Platform",
     "runtime-version": "master",
     "sdk": "org.gnome.Sdk",
@@ -57,6 +57,7 @@
             "sources": [
                 {
                     "type": "git",
+                    "branch": "main",
                     "url": "https://gitlab.gnome.org/GNOME/libhandy.git";
                 }
             ]
@@ -64,6 +65,9 @@
         {
             "name": "gnome-tweaks",
             "buildsystem": "meson",
+            "config-opts": [
+                "-Dprofile=development"
+            ],
             "sources": [
                 {
                     "type": "git",


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