raveit65 59565e0
From 6a2f8dec695108e86f9988f78ca1e37787daf8a3 Mon Sep 17 00:00:00 2001
raveit65 59565e0
From: monsta <monsta@inbox.ru>
raveit65 59565e0
Date: Tue, 12 Jan 2016 13:01:54 +0300
raveit65 59565e0
Subject: [PATCH 2/9] window: react on WM change only on X11
raveit65 59565e0
raveit65 59565e0
---
raveit65 59565e0
 src/terminal-window.c | 29 ++++++++++++++++++++++++++---
raveit65 59565e0
 1 file changed, 26 insertions(+), 3 deletions(-)
raveit65 59565e0
raveit65 59565e0
diff --git a/src/terminal-window.c b/src/terminal-window.c
raveit65 59565e0
index 7415083..cfbe9d1 100644
raveit65 59565e0
--- a/src/terminal-window.c
raveit65 59565e0
+++ b/src/terminal-window.c
raveit65 59565e0
@@ -22,7 +22,9 @@
raveit65 59565e0
 #include <string.h>
raveit65 59565e0
 #include <stdlib.h>
raveit65 59565e0
 #include <gtk/gtk.h>
raveit65 59565e0
+#ifdef GDK_WINDOWING_X11
raveit65 59565e0
 #include <gdk/gdkx.h>
raveit65 59565e0
+#endif
raveit65 59565e0
 #include <gdk/gdkkeysyms.h>
raveit65 59565e0
 
raveit65 59565e0
 #include <libmate-desktop/mate-aboutdialog.h>
raveit65 59565e0
@@ -1677,9 +1679,18 @@ terminal_window_screen_update (TerminalWindow *window,
raveit65 59565e0
 {
raveit65 59565e0
     TerminalApp *app;
raveit65 59565e0
 
raveit65 59565e0
-    terminal_window_window_manager_changed_cb (screen, window);
raveit65 59565e0
-    g_signal_connect (screen, "window-manager-changed",
raveit65 59565e0
-                      G_CALLBACK (terminal_window_window_manager_changed_cb), window);
raveit65 59565e0
+#ifdef GDK_WINDOWING_X11
raveit65 59565e0
+#if GTK_CHECK_VERSION (3, 0, 0)
raveit65 59565e0
+    if (screen && GDK_IS_X11_SCREEN (screen))
raveit65 59565e0
+#else
raveit65 59565e0
+    if (screen)
raveit65 59565e0
+#endif
raveit65 59565e0
+    {
raveit65 59565e0
+        terminal_window_window_manager_changed_cb (screen, window);
raveit65 59565e0
+        g_signal_connect (screen, "window-manager-changed",
raveit65 59565e0
+                          G_CALLBACK (terminal_window_window_manager_changed_cb), window);
raveit65 59565e0
+    }
raveit65 59565e0
+#endif
raveit65 59565e0
 
raveit65 59565e0
     if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (screen), "GT::HasSettingsConnection")))
raveit65 59565e0
         return;
raveit65 59565e0
@@ -1712,12 +1723,18 @@ terminal_window_screen_changed (GtkWidget *widget,
raveit65 59565e0
     if (previous_screen == screen)
raveit65 59565e0
         return;
raveit65 59565e0
 
raveit65 59565e0
+#ifdef GDK_WINDOWING_X11
raveit65 59565e0
+#if GTK_CHECK_VERSION (3, 0, 0)
raveit65 59565e0
+    if (previous_screen && GDK_IS_X11_SCREEN (previous_screen))
raveit65 59565e0
+#else
raveit65 59565e0
     if (previous_screen)
raveit65 59565e0
+#endif
raveit65 59565e0
     {
raveit65 59565e0
         g_signal_handlers_disconnect_by_func (previous_screen,
raveit65 59565e0
                                               G_CALLBACK (terminal_window_window_manager_changed_cb),
raveit65 59565e0
                                               window);
raveit65 59565e0
     }
raveit65 59565e0
+#endif
raveit65 59565e0
 
raveit65 59565e0
     if (!screen)
raveit65 59565e0
         return;
raveit65 59565e0
@@ -2266,13 +2283,19 @@ terminal_window_dispose (GObject *object)
raveit65 59565e0
                                           G_CALLBACK (update_edit_menu),
raveit65 59565e0
                                           window);
raveit65 59565e0
 
raveit65 59565e0
+#ifdef GDK_WINDOWING_X11
raveit65 59565e0
     screen = gtk_widget_get_screen (GTK_WIDGET (object));
raveit65 59565e0
+#if GTK_CHECK_VERSION (3, 0, 0)
raveit65 59565e0
+    if (screen && GDK_IS_X11_SCREEN (screen))
raveit65 59565e0
+#else
raveit65 59565e0
     if (screen)
raveit65 59565e0
+#endif
raveit65 59565e0
     {
raveit65 59565e0
         g_signal_handlers_disconnect_by_func (screen,
raveit65 59565e0
                                               G_CALLBACK (terminal_window_window_manager_changed_cb),
raveit65 59565e0
                                               window);
raveit65 59565e0
     }
raveit65 59565e0
+#endif
raveit65 59565e0
 
raveit65 59565e0
     G_OBJECT_CLASS (terminal_window_parent_class)->dispose (object);
raveit65 59565e0
 }
raveit65 59565e0
-- 
raveit65 59565e0
2.7.4
raveit65 59565e0