Break string freeze for GDM 2.20




I would like to request a string freeze break for GDM 2.20.  Since
GDM 2.22 was not approved for inclusion in GNOME 2.22, I would like
to get some fixes into GDM 2.20 that would be nice to address, but
affect strings.  I plan to do a new GDM 2.20 release sometime in
the near future so that people can get the latest bug fixes when
they upgrade to GNOME 2.22.

Can I get approval to fix the following bugs with the attached
patches?

- The documentation needs to be updated to explain that the Custom
  Widgetry interface broke slightly due to moving away from using
  vicious-extensions and moving towards gkeyfile.

- Bug 477881, fix GDM to honor the default password character
  rather than hardcoding it to the '*' character

  http://bugzilla.gnome.org/show_bug.cgi?id=477881

- Improve tooltip in gdmgreeter

  http://bugzilla.gnome.org/show_bug.cgi?id=389734

  I notice that, by accident, I committed the 2nd patch (tt.diff)
  to GDM 2.20.3.  If I don't get approval, I can back this out
  of the next release.

Brian
Index: gui/gdmsetup.glade
===================================================================
--- gui/gdmsetup.glade	(revision 5875)
+++ gui/gdmsetup.glade	(working copy)
@@ -2,7 +2,6 @@
 <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd";>
 
 <glade-interface>
-<requires lib="gnome"/>
 
 <widget class="GtkDialog" id="setup_dialog">
   <property name="title" translatable="yes">Login Window Preferences</property>
@@ -90,109 +89,17 @@
 		  <property name="spacing">3</property>
 
 		  <child>
-		    <widget class="GtkHBox" id="hbox201">
+		    <widget class="GtkCheckButton" id="hide_vis_feedback_passwd_checkbox">
 		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkTable" id="table24">
-			  <property name="visible">True</property>
-			  <property name="n_rows">2</property>
-			  <property name="n_columns">1</property>
-			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">3</property>
-			  <property name="column_spacing">12</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="vis_feedback_passwd_checkbox">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">Show visual feedback in the password entry. Turning this option on can be a security hazard as the length of your password can be guessed.</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">_Show visual feedback (asterisks) in the password entry</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox203">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label297">
-				  <property name="visible">True</property>
-				  <property name="label">    </property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="use_circles_passwd_checkbox">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Use circles instead of asterisks in the password entry. This may not work with all fonts however.</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">_Use circles instead of asterisks in the password entry</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="x_options">fill</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
+		      <property name="tooltip" translatable="yes">Hide visual feedback in the password entry. Turning this option on can increase security, as the length of your password cannot be guessed by people looking at your screen.</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">_Hide visual feedback in the password entry</property>
+		      <property name="use_underline">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		      <property name="active">False</property>
+		      <property name="inconsistent">False</property>
+		      <property name="draw_indicator">True</property>
 		    </widget>
 		    <packing>
 		      <property name="padding">0</property>
Index: gui/gdmlogin.c
===================================================================
--- gui/gdmlogin.c	(revision 5875)
+++ gui/gdmlogin.c	(working copy)
@@ -2553,8 +2553,6 @@
 	    gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0);
     else if (gdm_config_get_bool (GDM_KEY_ENTRY_CIRCLES))
 	    gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf);
-    else
-	    gtk_entry_set_invisible_char (GTK_ENTRY (entry), '*');
 
     gtk_entry_set_max_length (GTK_ENTRY (entry), PW_ENTRY_SIZE);
     gtk_widget_set_size_request (entry, 250, -1);
Index: gui/greeter/greeter_canvas_item.c
===================================================================
--- gui/greeter/greeter_canvas_item.c	(revision 5875)
+++ gui/greeter/greeter_canvas_item.c	(working copy)
@@ -468,8 +468,6 @@
       gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0);
     else if (gdm_config_get_bool (GDM_KEY_ENTRY_CIRCLES))
       gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0x25cf);
-    else
-	    gtk_entry_set_invisible_char (GTK_ENTRY (entry), '*');
 
     gtk_widget_modify_font (entry, item->data.text.fonts[GREETER_ITEM_STATE_NORMAL]);
 
Index: gui/gdmsetup.c
===================================================================
--- gui/gdmsetup.c	(revision 5875)
+++ gui/gdmsetup.c	(working copy)
@@ -513,14 +513,7 @@
 	const char *key = g_object_get_data (G_OBJECT (toggle), "key");
 	gboolean    val = gdm_config_get_bool ((gchar *)key);
 
-	if (strcmp (ve_sure_string (key), GDM_KEY_ENTRY_INVISIBLE) == 0) {
-		/* This is a lil bit back to front
-		   true is false and false is true in this case */
-		if ( bool_equal (val, GTK_TOGGLE_BUTTON (toggle)->active)) {
-			gdm_setup_config_set_bool (key, !GTK_TOGGLE_BUTTON (toggle)->active);
-		}
-	}
-	else if (strcmp (ve_sure_string (key), GDM_KEY_GLOBAL_FACE_DIR) == 0) {
+	if (strcmp (ve_sure_string (key), GDM_KEY_GLOBAL_FACE_DIR) == 0) {
 		/* Once enabled write the curently selected item
 		   in the filechooser widget, otherwise disable
 		   the config entry, i.e. write an empty string */
@@ -2206,20 +2199,11 @@
 		g_signal_connect (G_OBJECT (toggle), "toggled",	
 		                  G_CALLBACK (timedlogin_allow_remote_toggled), timedlogin_allow_remote);
 	}
-	else if (strcmp ("vis_feedback_passwd_checkbox", ve_sure_string (name)) == 0) {
-		/* This one is a lil bit back to front
-		   true is false and false is true */
-		GtkWidget *use_circles_in_passwd;
-		use_circles_in_passwd = glade_xml_get_widget (xml, "use_circles_passwd_checkbox");
-
-		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), !val);
-		gtk_widget_set_sensitive (use_circles_in_passwd, !val);
+	else if (strcmp ("hide_vis_feedback_passwd_checkbox", ve_sure_string (name)) == 0) {
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), val);
 		
 		g_signal_connect (G_OBJECT (toggle), "toggled",
-		                  G_CALLBACK (toggle_toggled), toggle);	
-		g_signal_connect (G_OBJECT (toggle), "toggled",
-		                  G_CALLBACK (toggle_toggled_sensitivity_positive), use_circles_in_passwd);
-		
+		                  G_CALLBACK (toggle_toggled), toggle);		
 	}
 	else if (strcmp ("local_set_pos_checkbox", ve_sure_string (name)) == 0) {
 		
@@ -7451,11 +7435,8 @@
 
 	
 	/* Setup use visual feedback in the passwotrd entry */
-	setup_notify_toggle ("vis_feedback_passwd_checkbox", GDM_KEY_ENTRY_INVISIBLE);
+	setup_notify_toggle ("hide_vis_feedback_passwd_checkbox", GDM_KEY_ENTRY_INVISIBLE);
 
-	/* Setup use circles in the password entry */
-	setup_notify_toggle ("use_circles_passwd_checkbox", GDM_KEY_ENTRY_CIRCLES);
-
 	/* Setup always login current session entry */
 	setup_notify_toggle ("a_login_curr_session_checkbutton", GDM_KEY_ALWAYS_LOGIN_CURRENT_SESSION);
 
Index: docs/C/gdm.xml
===================================================================
--- docs/C/gdm.xml	(revision 5875)
+++ docs/C/gdm.xml	(working copy)
@@ -4008,17 +4008,6 @@
           </varlistentry>
 
           <varlistentry>
-            <term>UseCirclesInEntry</term>
-            <listitem>
-              <synopsis>UseCirclesInEntry=false</synopsis>
-              <para>
-                Use circles instead of asterisks in the password entry.
-                This may not work with all fonts however.
-              </para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
             <term>UseInvisibleInEntry</term>
             <listitem>
               <synopsis>UseInvisibleInEntry=false</synopsis>
@@ -7108,13 +7097,13 @@
         <para>
           For example suppose we are on display :0,
           <filename>ServAuthDir</filename> is
-          <filename>&lt;var&gt;/lib/gdm</filename> and we have the following in the
-          theme:
+          <filename>&lt;var&gt;/lib/gdm</filename> and we have the following in
+          the theme:
         </para>
 
 <screen>
 &lt;item type=&quot;list&quot; id=&quot;custom-config&quot;&gt;
-&lt;pos anchor=&quot;nw&quot; x=&quot;1&quot; y=&quot;1&quot; height=&quot;200&quot; width=&quot;100&quot;&gt;
+&lt;pos anchor=&quot;nw&quot; x=&quot;1&quot; y=&quot;1&quot; height=&quot;200&quot; width=&quot;100&quot;/&gt;
 &lt;listitem id=&quot;foo&quot;&gt;
 &lt;text&gt;Foo&lt;/text&gt;
 &lt;/listitem&gt;
@@ -7125,12 +7114,25 @@
 </screen>
 
         <para>
-          Then if the user chooses 'Foo' then 
-          <filename>&lt;var&gt;/lib/gdm/:0.GreeterInfo</filename> will contain:
+          Using GDM 2.20, the file is created in INI format.  The group value
+          is &quot;GreeterInfo&quot;, and the &quot;custom-config&quot; key
+          will specify the id of the chosen listitem.  For example, if the user
+          chooses &quot;Foo&quot; (which has an id value of &quot;foo&quot;,
+          then <filename>&lt;var&gt;/lib/gdm/:0.GreeterInfo</filename> will
+          contain:
 <screen>
+[GreeterInfo]
 custom-config=foo
 </screen>
         </para>
+        <para>
+          Using GDM 2.18 and earlier, the file is not saved in INI format, so
+          the &quot;GreeterInfo&quot; group will not be in the file.  In other
+          words, the file will contain only the following:
+<screen>
+custom-config=foo
+</screen>
+        </para>
       </sect3>
     </sect2>
   </sect1>
Index: config/gdm.conf.in
===================================================================
--- config/gdm.conf.in	(revision 5875)
+++ config/gdm.conf.in	(working copy)
@@ -500,9 +500,6 @@
 #ShowLastSession=true
 # Always use 24 hour clock no matter what the locale.
 #Use24Clock=auto
-# Use circles in the password field.  Looks kind of cool actually, but only
-# works with certain fonts.
-#UseCirclesInEntry=false
 # Do not show any visible feedback in the password field. This is standard for
 # instance in console, xdm and ssh.
 #UseInvisibleInEntry=false
diff -Nur ./gdm-2.20.1/gui/greeter/greeter_canvas_item.c ./gdm-2.20.1.dist/gui/greeter/greeter_canvas_item.c
--- ./gdm-2.20.1/gui/greeter/greeter_canvas_item.c	2008-01-04 16:04:39.000000000 +0000
+++ ./gdm-2.20.1.dist/gui/greeter/greeter_canvas_item.c	2007-10-15 22:42:38.000000000 +0100
@@ -499,8 +499,8 @@
 	    /* Here add a tooltip, so that the user knows about F10 */
 	    tooltips = gtk_tooltips_new ();
 	    gtk_tooltips_set_tip (tooltips, GTK_WIDGET (entry),
-				  _("Enter login details and press enter. "
-				    "Press F10 for more options."),
+				  _("Answer questions here and press Enter "
+				    "when done.  For a menu press F10."),
 				  NULL);
 
 	    /* FIXME: how to make this accessible??? */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]