diff --git a/data/com.mattjakeman.ExtensionManager.desktop.in.in b/data/com.mattjakeman.ExtensionManager.desktop.in.in
index eee82da4..8bb19a47 100644
--- a/data/com.mattjakeman.ExtensionManager.desktop.in.in
+++ b/data/com.mattjakeman.ExtensionManager.desktop.in.in
@@ -1,5 +1,5 @@
[Desktop Entry]
-Name=@app_title@
+Name=Extension Manager
Exec=extension-manager %U
Icon=@app_id@
Terminal=false
diff --git a/data/com.mattjakeman.ExtensionManager.metainfo.xml.in.in b/data/com.mattjakeman.ExtensionManager.metainfo.xml.in.in
index 8a7b85e2..5a66215b 100644
--- a/data/com.mattjakeman.ExtensionManager.metainfo.xml.in.in
+++ b/data/com.mattjakeman.ExtensionManager.metainfo.xml.in.in
@@ -3,7 +3,7 @@
@app_id@.desktop
CC0-1.0
GPL-3.0-or-later
- @app_title@
+ Extension Manager
Browse, install, and manage GNOME Shell Extensions
Matthew Jakeman
diff --git a/data/meson.build b/data/meson.build
index c0201168..5d9df686 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,7 +1,5 @@
desktop_file_in_config = configuration_data()
desktop_file_in_config.set('app_id', app_id)
-desktop_file_in_config.set('app_title', app_title)
-desktop_file_in_config.set('app_version', meson.project_version())
desktop_file_in = configure_file(
input: 'com.mattjakeman.ExtensionManager.desktop.in.in',
output: '@0@.desktop.in'.format(app_id),
@@ -26,7 +24,6 @@ endif
appconf = configuration_data()
appconf.set('app_id', app_id)
-appconf.set('app_title', app_title)
appstream_file_in = configure_file(
input: 'com.mattjakeman.ExtensionManager.metainfo.xml.in.in',
output: 'com.mattjakeman.ExtensionManager.metainfo.xml.in',
diff --git a/meson.build b/meson.build
index 79cbb3c4..55a4e122 100644
--- a/meson.build
+++ b/meson.build
@@ -9,22 +9,26 @@ project('extension-manager', 'c',
i18n = import('i18n')
if get_option('development')
- app_title = 'Extension Manager (Development)'
app_id = 'com.mattjakeman.ExtensionManager.Devel'
+ vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD', check: false).stdout().strip()
+ if vcs_tag == ''
+ version_suffix = '-devel'
+ else
+ version_suffix = '-@0@'.format(vcs_tag)
+ endif
else
- app_title = 'Extension Manager'
app_id = 'com.mattjakeman.ExtensionManager'
+ version_suffix = ''
endif
config_h = configuration_data()
-config_h.set_quoted('APP_VERSION', meson.project_version())
+config_h.set_quoted('APP_VERSION', meson.project_version() + version_suffix)
config_h.set_quoted('GETTEXT_PACKAGE', 'extension-manager')
config_h.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
config_h.set_quoted('APP_ID', app_id)
config_h.set_quoted('PKG_NAME', get_option('package'))
config_h.set_quoted('PKG_DISTRIBUTOR', get_option('distributor'))
config_h.set10('IS_OFFICIAL', get_option('official'))
-config_h.set10('IS_DEVEL', get_option('development'))
config_h.set10('WITH_BACKTRACE', get_option('backtrace'))
configure_file(
output: 'exm-config.h',
diff --git a/src/exm-application.c b/src/exm-application.c
index 508627bb..aa859fe9 100644
--- a/src/exm-application.c
+++ b/src/exm-application.c
@@ -168,10 +168,12 @@ exm_application_show_about (GSimpleAction *action,
window = gtk_application_get_active_window (GTK_APPLICATION (self));
- about_window = adw_about_window_new_from_appdata ("/com/mattjakeman/ExtensionManager/com.mattjakeman.ExtensionManager.metainfo.xml", APP_VERSION);
+ about_window = adw_about_window_new_from_appdata ("/com/mattjakeman/ExtensionManager/com.mattjakeman.ExtensionManager.metainfo.xml",
+ strstr (APP_ID, ".Devel") == NULL ? APP_VERSION : NULL);
gtk_window_set_modal (GTK_WINDOW (about_window), TRUE);
gtk_window_set_transient_for (GTK_WINDOW (about_window), window);
+ adw_about_window_set_version (ADW_ABOUT_WINDOW (about_window), APP_VERSION);
adw_about_window_set_comments (ADW_ABOUT_WINDOW (about_window), _("Browse, install, and manage GNOME Shell Extensions."));
adw_about_window_set_developers (ADW_ABOUT_WINDOW (about_window), authors);
adw_about_window_set_translator_credits (ADW_ABOUT_WINDOW (about_window), _("translator-credits"));
diff --git a/src/exm-error-dialog.c b/src/exm-error-dialog.c
index f050a3af..be754ca9 100644
--- a/src/exm-error-dialog.c
+++ b/src/exm-error-dialog.c
@@ -101,7 +101,6 @@ exm_error_dialog_set_property (GObject *object,
GString *string_builder = g_string_new ("Support Log\n");
g_string_append_printf (string_builder, "----\n");
g_string_append_printf (string_builder, "Version: %s\n", APP_VERSION);
- g_string_append_printf (string_builder, "Development: %s\n", IS_DEVEL ? "Yes" : "No");
g_string_append_printf (string_builder, "Package Format: %s\n", PKG_NAME);
g_string_append_printf (string_builder, "Status: %s\n", IS_OFFICIAL ? "Official" : "Third Party");
g_string_append_printf (string_builder, "----\n");
diff --git a/src/exm-window.blp b/src/exm-window.blp
index 72da9330..bedf4d70 100644
--- a/src/exm-window.blp
+++ b/src/exm-window.blp
@@ -6,6 +6,7 @@ template $ExmWindow : Adw.ApplicationWindow {
default-height: 600;
width-request: 360;
height-request: 294;
+ title: _("Extension Manager");
Adw.Breakpoint main_breakpoint {
condition ("max-width: 400sp")
@@ -20,6 +21,7 @@ template $ExmWindow : Adw.ApplicationWindow {
Adw.NavigationPage main_view {
can-pop: false;
+ title: bind template.title;
Adw.ToolbarView {
diff --git a/src/exm-window.c b/src/exm-window.c
index bc2bec9d..d3cd7bda 100644
--- a/src/exm-window.c
+++ b/src/exm-window.c
@@ -454,22 +454,15 @@ do_version_check (ExmWindow *self)
static void
exm_window_init (ExmWindow *self)
{
- gchar *title;
-
gtk_widget_init_template (GTK_WIDGET (self));
- if (IS_DEVEL) {
+ if (strstr (APP_ID, ".Devel") != NULL) {
gtk_widget_add_css_class (GTK_WIDGET (self), "devel");
}
self->manager = exm_manager_new ();
g_signal_connect (self->manager, "error-occurred", on_error, self);
- title = IS_DEVEL ? _("Extension Manager (Development)") : _("Extension Manager");
-
- gtk_window_set_title (GTK_WINDOW (self), title);
- adw_navigation_page_set_title (self->main_view, title);
-
g_object_set (self->installed_page, "manager", self->manager, NULL);
g_object_set (self->browse_page, "manager", self->manager, NULL);
g_object_set (self->detail_view, "manager", self->manager, NULL);