|
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 |
|