summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSean Davis <smd.seandavis@gmail.com>2020-06-21 10:56:03 -0400
committerSean Davis <smd.seandavis@gmail.com>2020-06-21 10:56:03 -0400
commit9c50d93d3c52623183e3562ed3f033533a672fbc (patch)
tree210611a96c8738d8616ec085d9ec5319b2bfe73c /src
parentaf2287e149d580fe35b5b77aaf5f30d4ea545c74 (diff)
downloadlightdm-gtk-greeter-git-9c50d93d3c52623183e3562ed3f033533a672fbc.tar.gz
Add support for Ayatana indicators (fixes #74)
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am29
-rw-r--r--src/lightdm-gtk-greeter.c31
2 files changed, 49 insertions, 11 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 209e46e..fb717f9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -40,6 +40,7 @@ AM_CPPFLAGS = \
-DCONFIG_FILE=\""$(sysconfdir)/lightdm/lightdm-gtk-greeter.conf"\" \
-DINDICATOR_DIR=\""$(INDICATORDIR)"\" \
-DUNITY_INDICATOR_DIR=\""$(UNITY_INDICATORDIR)"\" \
+ -DAYATANA_INDICATOR_DIR=\""$(AYATANA_INDICATORDIR)"\" \
$(WARN_CFLAGS)
lightdm_gtk_greeter_CFLAGS = \
@@ -47,9 +48,7 @@ lightdm_gtk_greeter_CFLAGS = \
$(GMODULE_CFLAGS) \
$(GTHREAD_CFLAGS) \
$(LIGHTDMGOBJECT_CFLAGS) \
- $(LIBX11_CFLAGS) \
- $(LIBINDICATOR_CFLAGS) \
- $(LIBIDO_CFLAGS)
+ $(LIBX11_CFLAGS)
lightdm_gtk_greeter_LDADD = \
$(GTK_LIBS) \
@@ -57,11 +56,31 @@ lightdm_gtk_greeter_LDADD = \
$(GTHREAD_LIBS) \
$(LIGHTDMGOBJECT_LIBS) \
$(LIBX11_LIBS) \
- $(LIBINDICATOR_LIBS) \
- $(LIBIDO_LIBS) \
$(LIBXKLAVIER_LIBS)\
-lm
+if HAVE_UNITY_LIBINDICATOR
+
+lightdm_gtk_greeter_CFLAGS += \
+ $(UNITY_LIBINDICATOR_CFLAGS) \
+ $(UNITY_LIBIDO_CFLAGS)
+
+lightdm_gtk_greeter_LDADD += \
+ $(UNITY_LIBINDICATOR_LIBS) \
+ $(UNITY_LIBIDO_LIBS)
+
+else
+
+lightdm_gtk_greeter_CFLAGS += \
+ $(AYATANA_LIBINDICATOR_CFLAGS) \
+ $(AYATANA_LIBIDO_CFLAGS)
+
+lightdm_gtk_greeter_LDADD += \
+ $(AYATANA_LIBINDICATOR_LIBS) \
+ $(AYATANA_LIBIDO_LIBS)
+
+endif
+
if MAINTAINER_MODE
lightdm-gtk-greeter-ui.h: $(srcdir)/lightdm-gtk-greeter.glade Makefile
diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c
index bf1bc6e..4c38e12 100644
--- a/src/lightdm-gtk-greeter.c
+++ b/src/lightdm-gtk-greeter.c
@@ -35,15 +35,27 @@
#include <glib/gslist.h>
#ifdef HAVE_LIBINDICATOR
-#include <libindicator/indicator-object.h>
-#ifdef HAVE_LIBINDICATOR_NG
-#include <libindicator/indicator-ng.h>
-#endif
+ #ifdef HAVE_UNITY_LIBINDICATOR
+ #include <libindicator/indicator-object.h>
+ #else
+ #include <libayatana-indicator/indicator-object.h>
+ #endif
+ #ifdef HAVE_LIBINDICATOR_NG
+ #ifdef HAVE_UNITY_LIBINDICATOR_NG
+ #include <libindicator/indicator-ng.h>
+ #else
+ #include <libayatana-indicator/indicator-ng.h>
+ #endif
+ #endif
#endif
-#ifdef HAVE_LIBIDO
/* Some indicators need ido library */
-#include <libido/libido.h>
+#ifdef HAVE_LIBIDO
+ #ifdef HAVE_UNITY_LIBIDO
+ #include <libido/libido.h>
+ #else
+ #include <libayatana-ido/libayatana-ido.h>
+ #endif
#endif
#ifdef HAVE_LIBXKLAVIER
@@ -1589,10 +1601,17 @@ init_indicators (void)
#ifdef HAVE_LIBINDICATOR_NG
else
{ /* service file */
+ #ifdef HAVE_UNITY_LIBINDICATOR_NG
if (strchr (names[i], '.'))
path = g_strdup_printf ("%s/%s", UNITY_INDICATOR_DIR, names[i]);
else
path = g_strdup_printf ("%s/com.canonical.indicator.%s", UNITY_INDICATOR_DIR, names[i]);
+ #else
+ if (strchr (names[i], '.'))
+ path = g_strdup_printf ("%s/%s", AYATANA_INDICATOR_DIR, names[i]);
+ else
+ path = g_strdup_printf ("%s/org.ayatana.indicator.%s", AYATANA_INDICATOR_DIR, names[i]);
+ #endif
io = INDICATOR_OBJECT (indicator_ng_new_for_profile (path, "desktop_greeter", NULL));
}
#endif