Improve detection of system tray support

Closes #2045
This commit is contained in:
Patrick Griffis
2017-08-31 09:52:45 -04:00
parent 281038e725
commit d99cd18fb9
8 changed files with 50 additions and 21 deletions

View File

@@ -51,6 +51,7 @@
#include "plugin-tray.h"
#include "xtext.h"
#include "sexy-spell-entry.h"
#include "gtkutil.h"
#define GUI_SPACING (3)
#define GUI_BORDER (0)
@@ -430,7 +431,7 @@ mg_windowstate_cb (GtkWindow *wid, GdkEventWindowState *event, gpointer userdata
if ((event->changed_mask & GDK_WINDOW_STATE_ICONIFIED) &&
(event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) &&
prefs.hex_gui_tray_minimize && prefs.hex_gui_tray &&
!unity_mode ())
gtkutil_tray_icon_supported (wid))
{
tray_toggle_visibility (TRUE);
gtk_window_deiconify (wid);
@@ -1215,7 +1216,7 @@ mg_open_quit_dialog (gboolean minimize_button)
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1),
GTK_BUTTONBOX_END);
if (minimize_button && !unity_mode ())
if (minimize_button && gtkutil_tray_icon_supported (GTK_WINDOW(dialog)))
{
button = gtk_button_new_with_mnemonic (_("_Minimize to Tray"));
gtk_widget_show (button);
@@ -3176,8 +3177,9 @@ mg_tabwindow_de_cb (GtkWidget *widget, GdkEvent *event, gpointer user_data)
{
GSList *list;
session *sess;
GtkWindow *win = GTK_WINDOW(gtk_widget_get_toplevel (widget));
if (prefs.hex_gui_tray_close && !unity_mode () && tray_toggle_visibility (FALSE))
if (prefs.hex_gui_tray_close && gtkutil_tray_icon_supported (win) && tray_toggle_visibility (FALSE))
return TRUE;
/* check for remaining toplevel windows */