aboutsummaryrefslogtreecommitdiffstats
path: root/vnc.c
diff options
context:
space:
mode:
authorkraxel <kraxel>2006-10-30 17:04:43 +0000
committerkraxel <kraxel>2006-10-30 17:04:43 +0000
commit733a1ee52f081c554788accb51d55bb8a9602560 (patch)
treea5bd699cafd20c494efc5149974078096e6616e7 /vnc.c
parentb0b7aac6a182502230ecadf0e37f24b220c3b450 (diff)
downloadxenwatch-733a1ee52f081c554788accb51d55bb8a9602560.tar.gz
misc
Diffstat (limited to 'vnc.c')
-rw-r--r--vnc.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/vnc.c b/vnc.c
index 0d488f0..9b4bab9 100644
--- a/vnc.c
+++ b/vnc.c
@@ -428,6 +428,17 @@ static GdkFilterReturn event_filter(GdkXEvent *gdkxevent, GdkEvent *gtkevent,
fprintf(stderr, "%s: KeymapNotify\n", __FUNCTION__);
return GDK_FILTER_REMOVE;
+ case 2:
+ case 3:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 15:
+ case 16:
+ case 18:
+ case 21:
+
case Expose: // 12
case MapNotify: // 19
case ConfigureNotify: // 22
@@ -503,6 +514,7 @@ GtkWidget *vnc_open(char *hostname, int displayno, unsigned long flags,
vnc->draw = gtk_drawing_area_new();
gtk_container_add(GTK_CONTAINER(vnc->win), vnc->draw);
GTK_WIDGET_SET_FLAGS(vnc->draw, GTK_CAN_FOCUS);
+#if 1
gtk_widget_add_events(vnc->draw,
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
@@ -510,6 +522,10 @@ GtkWidget *vnc_open(char *hostname, int displayno, unsigned long flags,
GDK_KEY_PRESS_MASK |
GDK_KEY_RELEASE_MASK |
GDK_EXPOSURE_MASK);
+#else
+ gtk_widget_add_events(vnc->win, GDK_ALL_EVENTS_MASK);
+ gtk_widget_add_events(vnc->draw, GDK_ALL_EVENTS_MASK);
+#endif
gtk_widget_set_app_paintable(vnc->draw, TRUE);
gtk_widget_set_double_buffered(vnc->draw, FALSE);
g_signal_connect(G_OBJECT(vnc->draw), "expose-event",
@@ -546,7 +562,9 @@ GtkWidget *vnc_open(char *hostname, int displayno, unsigned long flags,
ButtonReleaseMask |
PointerMotionMask |
KeymapStateMask);
+ gdk_window_add_filter(vnc->win->window, event_filter, vnc);
#endif
+
gdk_window_add_filter(vnc->draw->window, event_filter, vnc);
vnc->filter_installed = 1;
return vnc->win;