summaryrefslogtreecommitdiff
path: root/src/trg-main-window.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <alan@eth0.org.uk>2012-06-26 17:15:04 +0100
committerGravatar Alan Fitton <alan@eth0.org.uk>2012-06-26 17:15:04 +0100
commit9094eb1fe7d6358db02f6316b5c3c0b49070bcce (patch)
tree15622f330e72ca8bf6afbe8d3d8db4a274ae5579 /src/trg-main-window.c
parent14bc1b2a0ef89e7ad8c4878108ccbe3665d32096 (diff)
try to only use libappindicator if we're running in unity
Diffstat (limited to 'src/trg-main-window.c')
-rw-r--r--src/trg-main-window.c83
1 files changed, 42 insertions, 41 deletions
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index 6f97a18..63a6365 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -218,10 +218,9 @@ struct _TrgMainWindowPrivate {
*iconSepItem;
#ifdef HAVE_LIBAPPINDICATOR
AppIndicator *appIndicator;
-#else
+#endif
GtkMenu *iconMenu;
GtkStatusIcon *statusIcon;
-#endif
TrgStateSelector *stateSelector;
GtkWidget *stateSelectorScroller;
TrgGeneralPanel *genDetails;
@@ -1140,16 +1139,18 @@ connchange_whatever_statusicon(TrgMainWindow * win, gboolean connected)
if (priv->appIndicator) {
GtkMenu *menu = trg_status_icon_view_menu(win, display);
app_indicator_set_menu(priv->appIndicator, menu);
- }
+ } else {
#else
- if (priv->iconMenu)
- gtk_widget_destroy(GTK_WIDGET(priv->iconMenu));
+ if (1) {
+#endif
+ if (priv->iconMenu)
+ gtk_widget_destroy(GTK_WIDGET(priv->iconMenu));
- priv->iconMenu = trg_status_icon_view_menu(win, display);
+ priv->iconMenu = trg_status_icon_view_menu(win, display);
- if (priv->statusIcon)
- gtk_status_icon_set_tooltip_text(priv->statusIcon, display);
-#endif
+ if (priv->statusIcon)
+ gtk_status_icon_set_tooltip_text(priv->statusIcon, display);
+ }
g_free(display);
}
@@ -1161,7 +1162,7 @@ update_whatever_statusicon(TrgMainWindow * win,
TrgMainWindowPrivate *priv = win->priv;
#ifdef HAVE_LIBAPPINDICATOR
- if (!priv->appIndicator)
+ if (!priv->appIndicator && !priv->statusIcon)
#else
if (!priv->statusIcon)
#endif
@@ -2374,7 +2375,6 @@ static gboolean
window_state_event(TrgMainWindow * win,
GdkEventWindowState * event, gpointer trayIcon)
{
-#ifndef HAVE_LIBAPPINDICATOR
TrgMainWindowPrivate *priv = win->priv;
TrgPrefs *prefs = trg_client_get_prefs(priv->client);
@@ -2384,29 +2384,29 @@ window_state_event(TrgMainWindow * win,
&& trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE,
TRG_PREFS_GLOBAL)) {
gtk_widget_hide(GTK_WIDGET(win));
+ return TRUE;
}
- return TRUE;
-#else
return FALSE;
-#endif
}
void trg_main_window_remove_status_icon(TrgMainWindow * win)
{
TrgMainWindowPrivate *priv = win->priv;
#ifdef HAVE_LIBAPPINDICATOR
- if (priv->appIndicator)
+ if (priv->appIndicator) {
g_object_unref(G_OBJECT(priv->appIndicator));
- priv->appIndicator = NULL;
+ priv->appIndicator = NULL;
+ } else {
#else
-
- if (priv->statusIcon)
- g_object_unref(G_OBJECT(priv->statusIcon));
-
- priv->statusIcon = NULL;
+ if (1) {
#endif
+ if (priv->statusIcon)
+ g_object_unref(G_OBJECT(priv->statusIcon));
+
+ priv->statusIcon = NULL;
+ }
}
#if TRG_WITH_GRAPH
@@ -2451,28 +2451,29 @@ void trg_main_window_add_status_icon(TrgMainWindow * win)
{
TrgMainWindowPrivate *priv = win->priv;
#ifdef HAVE_LIBAPPINDICATOR
- if ((priv->appIndicator =
- app_indicator_new(PACKAGE_NAME, PACKAGE_NAME,
- APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) {
- app_indicator_set_status(priv->appIndicator,
- APP_INDICATOR_STATUS_ACTIVE);
- app_indicator_set_menu(priv->appIndicator,
- trg_status_icon_view_menu(win, NULL));
- }
+ if (is_unity() && (priv->appIndicator =
+ app_indicator_new(PACKAGE_NAME, PACKAGE_NAME,
+ APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) {
+ app_indicator_set_status(priv->appIndicator,
+ APP_INDICATOR_STATUS_ACTIVE);
+ app_indicator_set_menu(priv->appIndicator,
+ trg_status_icon_view_menu(win, NULL));
+ } else {
#else
-
- priv->statusIcon = gtk_status_icon_new_from_icon_name(PACKAGE_NAME);
- gtk_status_icon_set_screen(priv->statusIcon,
- gtk_window_get_screen(GTK_WINDOW(win)));
- g_signal_connect(priv->statusIcon, "activate",
- G_CALLBACK(status_icon_activated), win);
- g_signal_connect(priv->statusIcon, "button-press-event",
- G_CALLBACK(status_icon_button_press_event), win);
- g_signal_connect(priv->statusIcon, "popup-menu",
- G_CALLBACK(trg_status_icon_popup_menu_cb), win);
-
- gtk_status_icon_set_visible(priv->statusIcon, TRUE);
+ if (1) {
#endif
+ priv->statusIcon = gtk_status_icon_new_from_icon_name(PACKAGE_NAME);
+ gtk_status_icon_set_screen(priv->statusIcon,
+ gtk_window_get_screen(GTK_WINDOW(win)));
+ g_signal_connect(priv->statusIcon, "activate",
+ G_CALLBACK(status_icon_activated), win);
+ g_signal_connect(priv->statusIcon, "button-press-event",
+ G_CALLBACK(status_icon_button_press_event), win);
+ g_signal_connect(priv->statusIcon, "popup-menu",
+ G_CALLBACK(trg_status_icon_popup_menu_cb), win);
+
+ gtk_status_icon_set_visible(priv->statusIcon, TRUE);
+ }
connchange_whatever_statusicon(win,
trg_client_is_connected(priv->client));