diff --git a/src/ring_client.cpp b/src/ring_client.cpp index a3e9c5a88a0f156b6bd044f859c66da39c13a2ff..1207e3be1c7e74e9e4342e11164b1dfb2ebf00ca 100644 --- a/src/ring_client.cpp +++ b/src/ring_client.cpp @@ -231,6 +231,8 @@ on_close_window(GtkWidget *window, G_GNUC_UNUSED GdkEvent *event, RingClient *cl } } +#if !HAVE_APPINDICATOR + static void popup_menu(GtkStatusIcon *self, guint button, @@ -243,6 +245,8 @@ popup_menu(GtkStatusIcon *self, G_GNUC_END_IGNORE_DEPRECATIONS } +#endif + static void init_systray(RingClient *client) { @@ -269,40 +273,29 @@ init_systray(RingClient *client) gtk_widget_show_all(priv->icon_menu); } - gboolean use_appinidcator = FALSE; - #if HAVE_APPINDICATOR - /* only use AppIndicator in Unity (Tuleap: #1440) */ - const auto desktop = g_getenv("XDG_CURRENT_DESKTOP"); - if (g_strcmp0("Unity", desktop) == 0 || g_strcmp0("KDE", desktop) == 0) { - use_appinidcator = TRUE; - - auto indicator = app_indicator_new("jami", "jami", APP_INDICATOR_CATEGORY_COMMUNICATIONS); - app_indicator_set_status(indicator, APP_INDICATOR_STATUS_ACTIVE); - app_indicator_set_title(indicator, "jami"); - /* app indicator requires a menu */ - app_indicator_set_menu(indicator, GTK_MENU(priv->icon_menu)); - priv->systray_icon = indicator; + auto indicator = app_indicator_new("jami", "jami", APP_INDICATOR_CATEGORY_COMMUNICATIONS); + app_indicator_set_status(indicator, APP_INDICATOR_STATUS_ACTIVE); + app_indicator_set_title(indicator, "Jami"); + /* app indicator requires a menu */ + app_indicator_set_menu(indicator, GTK_MENU(priv->icon_menu)); + priv->systray_icon = indicator; +#else + GError *error = NULL; + GdkPixbuf* icon = gdk_pixbuf_new_from_resource("/net/jami/JamiGnome/jami-symbol-blue", &error); + if (icon == nullptr) { + g_debug("Could not load icon: %s", error->message); + g_clear_error(&error); + } else { + G_GNUC_BEGIN_IGNORE_DEPRECATIONS // GtkStatusIcon is deprecated since 3.14, but we fallback on it + auto status_icon = gtk_status_icon_new_from_pixbuf(icon); + gtk_status_icon_set_title(status_icon, "jami"); + G_GNUC_END_IGNORE_DEPRECATIONS + g_signal_connect_swapped(status_icon, "activate", G_CALLBACK(ring_window_show), client); + g_signal_connect(status_icon, "popup-menu", G_CALLBACK(popup_menu), client); + priv->systray_icon = status_icon; } #endif - - if (!use_appinidcator) { - GError *error = NULL; - GdkPixbuf* icon = gdk_pixbuf_new_from_resource("/net/jami/JamiGnome/jami-symbol-blue", &error); - if (icon == nullptr) { - g_debug("Could not load icon: %s", error->message); - g_clear_error(&error); - } else { - G_GNUC_BEGIN_IGNORE_DEPRECATIONS // GtkStatusIcon is deprecated since 3.14, but we fallback on it - auto status_icon = gtk_status_icon_new_from_pixbuf(icon); - gtk_status_icon_set_title(status_icon, "jami"); - G_GNUC_END_IGNORE_DEPRECATIONS - g_signal_connect_swapped(status_icon, "activate", G_CALLBACK(ring_window_show), client); - g_signal_connect(status_icon, "popup-menu", G_CALLBACK(popup_menu), client); - priv->systray_icon = status_icon; - } - - } } static void @@ -353,7 +346,7 @@ ring_client_activate(GApplication *app) // TODO add some args! static void -ring_client_open(GApplication *app, GFile **file, gint /*arg3*/, const gchar* /*arg4*/) +ring_client_open(GApplication *app, GFile ** /*file*/, gint /*arg3*/, const gchar* /*arg4*/) { ring_client_activate(app);