From fccc540f35f94272909f082a5bc8fd6049b89bbc Mon Sep 17 00:00:00 2001 From: Alan F Date: Sat, 14 Jun 2014 16:04:15 +0100 Subject: even though unity hides the icon from the tray, you can whitelist it, so enable the system tray on unity again. --- src/trg-main-window.c | 4 ++-- src/trg-preferences-dialog.c | 51 +++++++++++++++++++++----------------------- 2 files changed, 26 insertions(+), 29 deletions(-) (limited to 'src') diff --git a/src/trg-main-window.c b/src/trg-main-window.c index dbac9a4..d2e95bb 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -2539,7 +2539,7 @@ void trg_main_window_add_status_icon(TrgMainWindow * win) { TrgMainWindowPrivate *priv = win->priv; #ifdef HAVE_LIBAPPINDICATOR - if (is_unity() && (priv->appIndicator = + if (priv->appIndicator = app_indicator_new(PACKAGE_NAME, PACKAGE_NAME, APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) { @@ -2549,7 +2549,7 @@ void trg_main_window_add_status_icon(TrgMainWindow * win) trg_status_icon_view_menu(win, NULL)); } else { #else - if (!is_unity()) { + if (1) { #endif priv->statusIcon = gtk_status_icon_new_from_icon_name(PACKAGE_NAME); diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index 6c5c2c6..71090d5 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -700,6 +700,7 @@ static GtkWidget *trg_prefs_viewPage(TrgPreferencesDialog * dlg) GtkWidget *w, *dep, *t, *tray; guint row = 0; gboolean _is_unity = is_unity(); + gchar *tray_label; t = hig_workarea_create(); @@ -741,33 +742,29 @@ static GtkWidget *trg_prefs_viewPage(TrgPreferencesDialog * dlg) hig_workarea_add_wide_control(t, &row, w); #endif -#ifndef HAVE_LIBAPPINDICATOR - if (!_is_unity) { -#endif - hig_workarea_add_section_title(t, &row, _("System Tray")); - - tray = trgp_check_new(dlg, _("Show in system tray"), - TRG_PREFS_KEY_SYSTEM_TRAY, TRG_PREFS_GLOBAL, - NULL); - g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_tray_icon), priv->win); - hig_workarea_add_wide_control(t, &row, tray); - - if (!_is_unity) { - w = trgp_check_new(dlg, _("Minimise to system tray"), - TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, - TRG_PREFS_GLOBAL, NULL); - gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active - (GTK_TOGGLE_BUTTON(tray))); - g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), - w); - hig_workarea_add_wide_control(t, &row, w); - } -#ifndef HAVE_LIBAPPINDICATOR - } -#endif + hig_workarea_add_section_title(t, &row, _("System Tray")); + + if (_is_unity) { + tray_label = _("Show in system tray (needs whitelisting in unity)"); + } else { + tray_label = _("Show in system tray"); + } + + tray = trgp_check_new(dlg, tray_label, + TRG_PREFS_KEY_SYSTEM_TRAY, TRG_PREFS_GLOBAL, + NULL); + g_signal_connect(G_OBJECT(tray), "toggled", G_CALLBACK(toggle_tray_icon), + priv->win); + hig_workarea_add_wide_control(t, &row, tray); + + w = trgp_check_new(dlg, _("Minimise to system tray"), + TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, + TRG_PREFS_GLOBAL, NULL); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tray))); + g_signal_connect(G_OBJECT(tray), "toggled", + G_CALLBACK(toggle_active_arg_is_sensitive), w); + hig_workarea_add_wide_control(t, &row, w); #ifdef HAVE_LIBNOTIFY hig_workarea_add_section_title(t, &row, _("Notifications")); -- cgit v1.2.3