Skip to content

Commit

Permalink
Merge pull request #25881 from Mic92/gtk2-themes
Browse files Browse the repository at this point in the history
gtk2: search for themes in XDG_DATA_DIRS
  • Loading branch information
Mic92 committed May 19, 2017
2 parents 28f8e5b + 1810b3f commit 380d6bb
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pkgs/development/libraries/gtk+/2.x.nix
Expand Up @@ -30,7 +30,7 @@ stdenv.mkDerivation rec {

nativeBuildInputs = [ setupHook perl pkgconfig gettext ];

patches = [ ./2.0-immodules.cache.patch ];
patches = [ ./2.0-immodules.cache.patch ./gtk2-theme-paths.patch ];

propagatedBuildInputs = with xorg;
[ glib cairo pango gdk_pixbuf atk ]
Expand Down
40 changes: 40 additions & 0 deletions pkgs/development/libraries/gtk+/gtk2-theme-paths.patch
@@ -0,0 +1,40 @@
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);

0 comments on commit 380d6bb

Please sign in to comment.