diff options
Diffstat (limited to 'community/pidgin-libnotify/pidgin-libnotify-getfocus.patch')
-rw-r--r-- | community/pidgin-libnotify/pidgin-libnotify-getfocus.patch | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/community/pidgin-libnotify/pidgin-libnotify-getfocus.patch b/community/pidgin-libnotify/pidgin-libnotify-getfocus.patch deleted file mode 100644 index db45829d9..000000000 --- a/community/pidgin-libnotify/pidgin-libnotify-getfocus.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- src/pidgin-libnotify.c 2013-05-07 17:38:31.397261982 +0200 -+++ src2/pidgin-libnotify.c 2013-05-07 17:43:43.787904584 +0200 -@@ -169,6 +169,49 @@ pixbuf_from_buddy_icon (PurpleBuddyIcon - return icon; - } - -+/* Taken from pidgin-hotkeys to get focus on conversation window */ -+static void -+hacky_active_window(GtkWidget *window) -+{ -+ GdkScreen *screen; -+ GdkWindow *root; -+ GdkDisplay *display; -+ Display *xdisplay; -+ Window xroot; -+ XEvent xev; -+ static Atom _net_active_window = None; -+ -+ screen = gtk_widget_get_screen(window); -+ root = gdk_screen_get_root_window(screen); -+ display = gdk_screen_get_display(screen); -+ -+ xdisplay = GDK_DISPLAY_XDISPLAY(display); -+ xroot = GDK_WINDOW_XWINDOW(root); -+ -+ if (_net_active_window == None) -+ _net_active_window = XInternAtom(xdisplay, -+ "_NET_ACTIVE_WINDOW", -+ False); -+ -+ xev.xclient.type = ClientMessage; -+ xev.xclient.serial = 0; -+ xev.xclient.send_event = True; -+ xev.xclient.window = GDK_WINDOW_XWINDOW(window->window); -+ xev.xclient.message_type = _net_active_window; -+ xev.xclient.format = 32; -+ xev.xclient.data.l[0] = 1; /* requestor type; we're an app, I guess */ -+ xev.xclient.data.l[1] = CurrentTime; -+ xev.xclient.data.l[2] = None; /* "currently active window", supposedly */ -+ xev.xclient.data.l[3] = 0; -+ xev.xclient.data.l[4] = 0; -+ -+ XSendEvent(xdisplay, -+ xroot, False, -+ SubstructureRedirectMask | SubstructureNotifyMask, -+ &xev); -+} -+ -+ - static void - action_cb (NotifyNotification *notification, - gchar *action, gpointer user_data) -@@ -194,6 +237,16 @@ action_cb (NotifyNotification *notificat - buddy->name); - } - conv->ui_ops->present (conv); -+ -+ /* get the focus on the new conversation window */ -+ { -+ GtkWindow *gtkwindow; -+ -+ gtkwindow = GTK_WINDOW(pidgin_conv_get_window(PIDGIN_CONVERSATION(conv))->window); -+ /*gtk_window_present(gtkwindow);*/ -+ hacky_active_window(GTK_WIDGET(gtkwindow)); -+ } -+ - - notify_notification_close (notification, NULL); - } |