gnu: gtk+-2: Look in system data dirs for themes.
* gnu/packages/patches/gtk2-theme-paths.patch: New patch. * gnu/packages/gtk.scm (gtk+-2)[source]: Use it. * gnu-system.am (dist_patch_DATA): Add it. Signed-off-by: 宋文武 <iyzsong@gmail.com>
This commit is contained in:
parent
2f52438403
commit
dbc3860ceb
|
@ -513,6 +513,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/guile-relocatable.patch \
|
||||
gnu/packages/patches/guile-rsvg-pkgconfig.patch \
|
||||
gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
|
||||
gnu/packages/patches/gtk2-theme-paths.patch \
|
||||
gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
gnu/packages/patches/hop-bigloo-4.0b.patch \
|
||||
|
|
|
@ -557,7 +557,8 @@ is part of the GNOME accessibility project.")
|
|||
(sha256
|
||||
(base32
|
||||
"0l6aqk86aw5w132ygy6hv6nlxvd1h6xg7c85qbm60p6mnv1ww58d"))
|
||||
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"))))
|
||||
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
|
||||
"gtk2-theme-paths.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(propagated-inputs
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
From: Jookia <166291@gmail.com>
|
||||
Subject: [PATCHv2] gtk: Patch GTK+ to look for themes in profiles.
|
||||
To: guix-devel@gnu.org
|
||||
Date: Sun, 13 Mar 2016 15:17:37 +1100
|
||||
Url: https://lists.gnu.org/archive/html/guix-devel/2016-03/msg00492.html
|
||||
|
||||
diff -Naur gtk+-2.24.28.new/gtk/gtkrc.c gtk+-2.24.28/gtk/gtkrc.c
|
||||
--- gtk+-2.24.28.new/gtk/gtkrc.c 2016-03-13 10:31:14.413644362 +1100
|
||||
+++ gtk+-2.24.28/gtk/gtkrc.c 2016-03-13 12:51:34.723398423 +1100
|
||||
@@ -808,6 +808,8 @@
|
||||
gchar *path = NULL;
|
||||
const gchar *home_dir;
|
||||
gchar *subpath;
|
||||
+ const gchar * const *xdg_data_dirs;
|
||||
+ gint i;
|
||||
|
||||
if (type)
|
||||
subpath = g_strconcat ("gtk-2.0-", type,
|
||||
@@ -830,6 +832,22 @@
|
||||
}
|
||||
|
||||
if (!path)
|
||||
+ {
|
||||
+ xdg_data_dirs = g_get_system_data_dirs ();
|
||||
+ for (i = 0; xdg_data_dirs[i]; i++)
|
||||
+ {
|
||||
+ path = g_build_filename (xdg_data_dirs[i], "themes", name, subpath, NULL);
|
||||
+ if (g_file_test (path, G_FILE_TEST_EXISTS))
|
||||
+ break;
|
||||
+ else
|
||||
+ {
|
||||
+ g_free (path);
|
||||
+ path = NULL;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!path)
|
||||
{
|
||||
gchar *theme_dir = gtk_rc_get_theme_dir ();
|
||||
path = g_build_filename (theme_dir, name, subpath, NULL);
|
Loading…
Reference in New Issue