- Add some enhancements to the greeter (bgo #411427)

This commit is contained in:
David Zeuthen 2007-02-24 04:28:37 +00:00
parent 5c37e637e3
commit e63f820e0e
2 changed files with 111 additions and 1 deletions

103
gdm-2.17.7-greeter.patch Normal file
View File

@ -0,0 +1,103 @@
Index: gui/gdmuser.c
===================================================================
--- gui/gdmuser.c (revision 4608)
+++ gui/gdmuser.c (working copy)
@@ -137,6 +137,20 @@
gdk_pixbuf_loader_close (loader, NULL);
img = gdk_pixbuf_loader_get_pixbuf (loader);
+
+ /* if we have a defface, force all faces to be this size */
+ if (img != NULL && defface != NULL) {
+ GdkPixbuf *scaled;
+ scaled = gdk_pixbuf_scale_simple (img,
+ gdk_pixbuf_get_width (defface),
+ gdk_pixbuf_get_height (defface),
+ GDK_INTERP_BILINEAR);
+ if (scaled != NULL) {
+ g_object_unref (G_OBJECT (img));
+ img = scaled;
+ }
+ }
+
if (img != NULL)
g_object_ref (G_OBJECT (img));
Index: gui/greeter/greeter_parser.c
===================================================================
--- gui/greeter/greeter_parser.c (revision 4608)
+++ gui/greeter/greeter_parser.c (working copy)
@@ -1026,6 +1026,19 @@
xmlFree (prop);
}
+ prop = xmlGetProp (node,(const xmlChar *) "labelfgcolor");
+ if (prop)
+ {
+ if G_UNLIKELY (!parse_color ((char *) prop, &color, error)) {
+ info->data.list.label_fgcolor = NULL;
+ return FALSE;
+ } else {
+ info->data.list.label_fgcolor = g_strdup ((char *) prop);
+ }
+
+ xmlFree (prop);
+ }
+
return TRUE;
}
@@ -1843,11 +1856,25 @@
*/
theme_dir = g_strdup_printf ("%s/%s", gtk_rc_get_theme_dir (), (char *) prop);
if (g_file_test (theme_dir, G_FILE_TEST_IS_DIR))
- gdm_set_theme ((char *) prop);
+ gdm_set_theme ((char *) prop);
xmlFree (prop);
}
+ /*
+ * The gtkrc property specifies a theme specific gtkrc to use
+ */
+ prop = xmlGetProp (node, (const xmlChar *) "gtkrc");
+ if (prop != NULL) {
+ char *s;
+ s = g_strdup_printf ("%s/%s", file_search_path, (char *) prop);
+ if (g_file_test (s, G_FILE_TEST_IS_REGULAR)) {
+ gtk_rc_parse (s);
+ }
+ g_free (s);
+ xmlFree (prop);
+ }
+
item_hash = g_hash_table_new ((GHashFunc)greeter_info_id_hash,
(GEqualFunc)greeter_info_id_equal);
Index: gui/greeter/greeter_item.h
===================================================================
--- gui/greeter/greeter_item.h (revision 4608)
+++ gui/greeter/greeter_item.h (working copy)
@@ -177,6 +177,7 @@
struct {
char *icon_color;
char *label_color;
+ char *label_fgcolor;
/* If this is a custom list, then these are the items
to pick from */
GList *items;
Index: gui/greeter/greeter_item_ulist.c
===================================================================
--- gui/greeter/greeter_item_ulist.c (revision 4608)
+++ gui/greeter/greeter_item_ulist.c (working copy)
@@ -322,6 +322,10 @@
if (info->data.list.label_color != NULL)
g_object_set (cell, "background",
info->data.list.label_color, NULL);
+
+ if (info->data.list.label_fgcolor != NULL)
+ g_object_set (cell, "foreground",
+ info->data.list.label_fgcolor, NULL);
}
}

View File

@ -16,7 +16,7 @@
Summary: The GNOME Display Manager
Name: gdm
Version: 2.17.7
Release: 3%{?dist}
Release: 4%{?dist}
Epoch: 1
License: LGPL/GPL
Group: User Interface/X
@ -51,6 +51,9 @@ Patch25: gdm-2.16.0-indic-langs.patch
Patch28: gdm-2.17.1-desensitize-entry.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=411427
Patch29: gdm-2.17.7-greeter.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Prereq: /usr/sbin/useradd
@ -122,6 +125,7 @@ several different X sessions on your local machine at the same time.
%patch24 -p1 -b .wtmp
%patch25 -p1 -b .indic-langs
%patch28 -p1 -b .desensitize-entry
%patch29 -p0 -b .greeter
%build
cp -f %{SOURCE1} config/gdm
@ -323,6 +327,9 @@ fi
%attr(1770, root, gdm) %dir %{_localstatedir}/gdm
%changelog
* Fri Feb 23 2007 David Zeuthen <davidz@redhat.com> - 1:2.17.7-4
- Add some enhancements to the greeter (bgo #411427)
* Fri Feb 23 2007 Ray Strode <rstrode@redhat.com> - 1:2.17.7-3
- Update to 2.17.7