summaryrefslogtreecommitdiff
path: root/libview
diff options
context:
space:
mode:
Diffstat (limited to 'libview')
-rw-r--r--libview/ev-annotation-window.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/libview/ev-annotation-window.c b/libview/ev-annotation-window.c
index 91b0a7b0..643341fa 100644
--- a/libview/ev-annotation-window.c
+++ b/libview/ev-annotation-window.c
@@ -411,7 +411,7 @@ ev_annotation_window_init (EvAnnotationWindow *window)
gtk_container_set_border_width (GTK_CONTAINER (window), 2);
- gtk_window_set_accept_focus (GTK_WINDOW (window), TRUE);
+ gtk_window_set_accept_focus (GTK_WINDOW (window), FALSE);
gtk_window_set_decorated (GTK_WINDOW (window), FALSE);
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
gtk_window_set_skip_pager_hint (GTK_WINDOW (window), TRUE);
@@ -544,6 +544,24 @@ ev_annotation_window_focus_out_event (GtkWidget *widget,
return FALSE;
}
+static gboolean
+ev_annotation_window_enter_notify_event (GtkWidget *widget,
+ GdkEventCrossing *event)
+{
+ gtk_window_set_accept_focus (GTK_WINDOW (widget), TRUE);
+
+ return FALSE;
+}
+
+static gboolean
+ev_annotation_window_leave_notify_event (GtkWidget *widget,
+ GdkEventCrossing *event)
+{
+ gtk_window_set_accept_focus (GTK_WINDOW (widget), FALSE);
+
+ return FALSE;
+}
+
static void
ev_annotation_window_class_init (EvAnnotationWindowClass *klass)
{
@@ -558,6 +576,8 @@ ev_annotation_window_class_init (EvAnnotationWindowClass *klass)
gtk_widget_class->configure_event = ev_annotation_window_configure_event;
gtk_widget_class->focus_in_event = ev_annotation_window_focus_in_event;
gtk_widget_class->focus_out_event = ev_annotation_window_focus_out_event;
+ gtk_widget_class->enter_notify_event = ev_annotation_window_enter_notify_event;
+ gtk_widget_class->leave_notify_event = ev_annotation_window_leave_notify_event;
g_object_class_install_property (g_object_class,
PROP_ANNOTATION,