Changing property from RC file



Hi; I want to know if it's possible to change some Widget's property
through a RC file. I want that my invisible char in entries be a little
circle, not an asterisk. I've a screen shot:

http://abulafia.fciencias.unam.mx/~canek/invisiblechar.png

(Idea and Unicode char code taken from GDM).

I want it for ALL my GTK+ applications, not only for the ones I wrote,
and I want it for a theme too. Is this possible?

If not, why? Why the '*' is hard coded as the default invisible
character, meaning that if you want to change it for every GTK+
application, you need to patch and recompile GTK+? (Patch attached; I
know it's never going to be accepted, it's just a proof of concept).

Thank you.

Canek
--
My godda bless, never I see sucha people.
		-- Signor Piozzi, quoted by Cecilia Thrale
diff -burN gtk+-2.4.0/gtk/gtkentry.c gtk+-2.4.0-circle/gtk/gtkentry.c
--- gtk+-2.4.0/gtk/gtkentry.c	2004-03-16 13:21:53.000000000 -0600
+++ gtk+-2.4.0-circle/gtk/gtkentry.c	2004-05-08 00:22:22.714053144 -0500
@@ -509,7 +509,7 @@
                                    g_param_spec_unichar ("invisible_char",
 							 P_("Invisible character"),
 							 P_("The character to use when masking entry contents (in \"password mode\")"),
-							 '*',
+							 (0x25cf),
 							 G_PARAM_READABLE | G_PARAM_WRITABLE));
 
   g_object_class_install_property (gobject_class,
@@ -943,7 +943,7 @@
 
   entry->editable = TRUE;
   entry->visible = TRUE;
-  entry->invisible_char = '*';
+  entry->invisible_char = (0x25cf);
   entry->dnd_position = -1;
   entry->width_chars = -1;
   entry->is_cell_renderer = FALSE;
@@ -3635,9 +3635,9 @@
  * gtk_entry_set_visibility() has been called to set text visibility
  * to %FALSE. i.e. this is the character used in "password mode" to
  * show the user how many characters have been typed. The default
- * invisible char is an asterisk ('*').  If you set the invisible char
- * to 0, then the user will get no feedback at all; there will be
- * no text on the screen as they type.
+ * invisible char is a circle (Unicode char 0x25cf).  If you set
+ * the invisible char to 0, then the user will get no feedback at
+ * all; there will be no text on the screen as they type.
  * 
  **/
 void

Attachment: signature.asc
Description: This is a digitally signed message part



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