Your message dated Sat, 2 Feb 2008 21:37:21 +0100
with message-id <[EMAIL PROTECTED]>
has caused the Debian Bug report #445607,
regarding Make pinentry-gtk-2 transient for the root window
to be marked as having been forwarded to the upstream software
author(s) [EMAIL PROTECTED]
(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Debian bug tracking system administrator
(administrator, Debian Bugs database)
--- Begin Message ---
Please consider the attached request from a Debian user.
--- Begin Message ---
Package: pinentry-gtk2
Version: 0.7.3-1
Severity: wishlist
Tags: patch
Hi,
the attached patch makes the pinentry-gtk-2 transient for the root
window. This will prevent confusion for the user when another window
seems to have the focus but pinentry-gtk-2 has the keyboard grab. It
also helps window managers such as xmonad to properly position the
window.
Thanks,
Joachim
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.21.otto
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages pinentry-gtk2 depends on:
ii libc6 2.6.1-5 GNU C Library: Shared libraries
ii libglib2.0-0 2.14.1-4 The GLib library of C routines
ii libgtk2.0-0 2.12.0-2 The GTK+ graphical user interface
ii libncurses5 5.6+20070908-1 Shared libraries for terminal hand
ii libpango1.0-0 1.18.2-1 Layout and rendering of internatio
pinentry-gtk2 recommends no packages.
-- no debconf information
diff -u pinentry-0.7.3/debian/changelog pinentry-0.7.3/debian/changelog
--- pinentry-0.7.3/debian/changelog
+++ pinentry-0.7.3/debian/changelog
@@ -1,3 +1,9 @@
+pinentry (0.7.3-1.nomeata1) unstable; urgency=low
+
+ * Make window transient
+
+ -- Joachim Breitner <[EMAIL PROTECTED]> Sun, 07 Oct 2007 10:37:32 +0200
+
pinentry (0.7.3-1) unstable; urgency=low
* New upstream release
only in patch2:
unchanged:
--- pinentry-0.7.3.orig/gtk+-2/pinentry-gtk-2.c
+++ pinentry-0.7.3/gtk+-2/pinentry-gtk-2.c
@@ -84,6 +84,22 @@
GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE);
}
+/* Realize the window as transient, if we will grab the keyboard */
+static void
+make_transient (GtkWidget *win, GdkEvent *event, gpointer data)
+{
+ GdkScreen *screen;
+ GdkWindow *root;
+
+ if (!pinentry->grab)
+ return;
+
+ /* Make window transient for the root window */
+ screen = gdk_screen_get_default();
+ root = gdk_screen_get_root_window(screen);
+ gdk_window_set_transient_for(win->window, root);
+
+}
/* Grab the keyboard for maximum security */
static void
@@ -101,6 +117,9 @@
ungrab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data)
{
gdk_keyboard_ungrab (gdk_event_get_time (event));
+
+ /* Unmake window transient for the root window */
+ gdk_window_set_transient_for(win->window, NULL);
}
@@ -206,6 +225,10 @@
G_CALLBACK (constrain_size), NULL);
if (!confirm_mode)
{
+ if (pinentry->grab)
+ g_signal_connect (G_OBJECT (win),
+ "realize",
+ G_CALLBACK (make_transient), NULL);
g_signal_connect (G_OBJECT (win),
pinentry->grab ? "map-event" : "focus-in-event",
G_CALLBACK (grab_keyboard), NULL);
--- End Message ---
--- Begin Message ---
Hi,
I have updated the patch to apply cleanly against the newest version.
Greetings,
Joachim
--
Joachim "nomeata" Breitner
Debian Developer
[EMAIL PROTECTED] | ICQ# 74513189 | GPG-Keyid: 4743206C
JID: [EMAIL PROTECTED] | http://people.debian.org/~nomeata
pinentry-transient.patch
Description: application/drivel
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
--- End Message ---
--- End Message ---