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

Attachment: pinentry-transient.patch
Description: application/drivel

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


--- End Message ---

--- End Message ---

Reply via email to