diff --git a/invisible-char.patch b/invisible-char.patch new file mode 100644 index 0000000..fb429b3 --- /dev/null +++ b/invisible-char.patch @@ -0,0 +1,23 @@ +diff -up krb5-auth-dialog-0.8/src/krb5-auth-dialog.c.invisible-char krb5-auth-dialog-0.8/src/krb5-auth-dialog.c +--- krb5-auth-dialog-0.8/src/krb5-auth-dialog.c.invisible-char 2009-04-23 14:20:57.404528539 -0400 ++++ krb5-auth-dialog-0.8/src/krb5-auth-dialog.c 2009-04-23 14:26:37.969746065 -0400 +@@ -270,6 +270,7 @@ krb5_auth_dialog_setup (Krb5AuthApplet * + { + GtkWidget *entry; + GtkWidget *label; ++ GtkWidget *e; + gchar *wrong_text; + gchar *wrong_markup; + gchar *prompt; +@@ -298,6 +299,11 @@ krb5_auth_dialog_setup (Krb5AuthApplet * + entry = glade_xml_get_widget (applet->pw_xml, "krb5_entry"); + gtk_secure_entry_set_text (GTK_SECURE_ENTRY (entry), ""); + ++ e = gtk_entry_new (); ++ gtk_secure_entry_set_invisible_char (GTK_SECURE_ENTRY (entry), ++ gtk_entry_get_invisible_char (GTK_ENTRY (e))); ++ gtk_widget_destroy (e); ++ + /* Use the prompt label that krb5 provides us */ + label = glade_xml_get_widget (applet->pw_xml, "krb5_message_label"); + gtk_label_set_text (GTK_LABEL (label), prompt); diff --git a/krb5-auth-dialog.spec b/krb5-auth-dialog.spec index 7e0342b..67cca9a 100644 --- a/krb5-auth-dialog.spec +++ b/krb5-auth-dialog.spec @@ -6,7 +6,7 @@ Summary: Kerberos 5 authentication dialog Name: krb5-auth-dialog Version: 0.8 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ Group: User Interface/X URL: http://www.redhat.com/ @@ -27,7 +27,10 @@ Requires(pre): GConf2 Requires(post): GConf2 Requires(preun): GConf2 -Patch2: desktop-file-comment.patch +# http://bugzilla.gnome.org/show_bug.cgi?id=580004 +Patch0: panel-settle.patch +# http://bugzilla.gnome.org/show_bug.cgi?id=538339 +Patch1: invisible-char.patch %description This package contains a dialog that warns the user when their Kerberos @@ -35,18 +38,20 @@ tickets are about to expire and lets them renew them. %prep %setup -q +%patch0 -p1 -b .panel-settle +%patch1 -p1 -b .invisible-char %build %configure make %install -%{__rm} -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT %makeinstall %find_lang %name %clean -%{__rm} -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT %files -f %name.lang @@ -79,6 +84,10 @@ if [ "$1" -eq 0 ]; then fi %changelog +* Thu Apr 23 2009 Matthias Clasen - 0.8-4 +- Don't show bubbles before the icon is there +- Use the same invisible char as the rest of the world + * Wed Feb 25 2009 Fedora Release Engineering - 0.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/panel-settle.patch b/panel-settle.patch new file mode 100644 index 0000000..3c6d506 --- /dev/null +++ b/panel-settle.patch @@ -0,0 +1,32 @@ +diff -up krb5-auth-dialog-0.8/src/krb5-auth-notify.c.panel-settle krb5-auth-dialog-0.8/src/krb5-auth-notify.c +--- krb5-auth-dialog-0.8/src/krb5-auth-notify.c.panel-settle 2009-01-11 16:46:19.000000000 -0500 ++++ krb5-auth-dialog-0.8/src/krb5-auth-notify.c 2009-04-23 14:09:29.536749401 -0400 +@@ -24,6 +24,19 @@ + #ifdef HAVE_LIBNOTIFY + #include + ++static gboolean ++show_notification (Krb5AuthApplet *applet) ++{ ++ /* wait for the panel to be settled before showing a bubble */ ++ if (gtk_status_icon_is_embedded (applet->tray_icon)) { ++ notify_notification_show (applet->notification, NULL); ++ } ++ else { ++ g_timeout_add_seconds (5, (GSourceFunc)show_notification, applet); ++ } ++ return FALSE; ++} ++ + void + ka_send_event_notification (Krb5AuthApplet *applet, + const char *summary, +@@ -50,7 +63,7 @@ ka_send_event_notification (Krb5AuthAppl + notify_notification_new_with_status_icon(summary, message, notify_icon, applet->tray_icon); + + notify_notification_set_urgency (applet->notification, NOTIFY_URGENCY_NORMAL); +- notify_notification_show (applet->notification, NULL); ++ show_notification (applet); + } + + #else /* HAVE_LIBNOTIFY */