summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/adwaita/disfluid-about.c2
-rw-r--r--src/adwaita/disfluid-application.c15
-rw-r--r--src/libdisfluid.c6
-rw-r--r--src/libdisfluid/disfluid-version.h16
4 files changed, 37 insertions, 2 deletions
diff --git a/src/adwaita/disfluid-about.c b/src/adwaita/disfluid-about.c
index ac860d3..b87b1c5 100644
--- a/src/adwaita/disfluid-about.c
+++ b/src/adwaita/disfluid-about.c
@@ -99,7 +99,7 @@ disfluid_adw_show_about (GtkApplication * app)
char **documenters = enumerate_credits (disfluid_author_is_documenter);
adw_show_about_window (gtk_application_get_active_window (app),
"application-name", _("Experiences"),
- "application-icon", "eu.planete_kraus.Disfluid",
+ "application-icon", disfluid_adw_application_id (),
"version", disfluid_version (),
"copyright", _("Copyright © 2023 Vivien Kraus"),
"developer-name", developer,
diff --git a/src/adwaita/disfluid-application.c b/src/adwaita/disfluid-application.c
index 0476958..a0cc21d 100644
--- a/src/adwaita/disfluid-application.c
+++ b/src/adwaita/disfluid-application.c
@@ -15,6 +15,7 @@
#define _(String) dgettext (PACKAGE, (String))
#define N_(String) (String)
+#include <disfluid.h>
#include <glib-object.h>
#include <adwaita.h>
#include <gtk/gtk.h>
@@ -71,8 +72,20 @@ disfluid_adw_application_new (void)
self =
(DisfluidAdwApplication *) g_object_new (DISFLUID_ADW_TYPE_APPLICATION,
"application-id",
- "eu.planete-kraus.Disfluid",
+ disfluid_adw_application_id (),
NULL);
g_signal_connect (self, "activate", G_CALLBACK (activated), NULL);
return self;
}
+
+const char *
+disfluid_adw_application_id ()
+{
+ static const char *id_non_nightly = "eu.planete_kraus.Disfluid";
+ static const char *id_nightly = "eu.planete_kraus.Disfluid.Devel";
+ if (disfluid_is_nightly ())
+ {
+ return id_nightly;
+ }
+ return id_non_nightly;
+}
diff --git a/src/libdisfluid.c b/src/libdisfluid.c
index c34ad50..985261b 100644
--- a/src/libdisfluid.c
+++ b/src/libdisfluid.c
@@ -25,6 +25,12 @@ disfluid_version (void)
return version ();
}
+int
+disfluid_is_nightly (void)
+{
+ return is_nightly ();
+}
+
const char *
disfluid_website (void)
{
diff --git a/src/libdisfluid/disfluid-version.h b/src/libdisfluid/disfluid-version.h
index 5690a4b..97a457d 100644
--- a/src/libdisfluid/disfluid-version.h
+++ b/src/libdisfluid/disfluid-version.h
@@ -5,6 +5,8 @@
static inline const char *version (void);
+static inline bool is_nightly (void);
+
static inline const char *website (void);
static inline const char *whats_new (void);
@@ -40,4 +42,18 @@ major_version (void)
return major_version;
}
+static inline bool
+is_nightly (void)
+{
+ static const char *v = VERSION;
+ for (size_t i = 0; i < strlen (v); i++)
+ {
+ if ((v[i] < '0' || v[i] > '9') && v[i] != '.')
+ {
+ return true;
+ }
+ }
+ return false;
+}
+
#endif /* DISFLUID_VERSION_INCLUDED */