summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-12-29 10:19:39 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2019-12-29 10:19:39 +0100
commitfb6652529723cbb122111b588c01bdf62edbce42 (patch)
tree0c2bc41cbc9c7cf60205eb2db56dc797eff07c3e /pkgs/desktops
parent332cfab4cee02852378d3a61f9f5035099488717 (diff)
parent62ef779f2a5050549772722665bedf52f01268d2 (diff)
downloadnixpkgs-fb6652529723cbb122111b588c01bdf62edbce42.tar
nixpkgs-fb6652529723cbb122111b588c01bdf62edbce42.tar.gz
nixpkgs-fb6652529723cbb122111b588c01bdf62edbce42.tar.bz2
nixpkgs-fb6652529723cbb122111b588c01bdf62edbce42.tar.lz
nixpkgs-fb6652529723cbb122111b588c01bdf62edbce42.tar.xz
nixpkgs-fb6652529723cbb122111b588c01bdf62edbce42.tar.zst
nixpkgs-fb6652529723cbb122111b588c01bdf62edbce42.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/mate/caja/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch81
-rw-r--r--pkgs/desktops/mate/mate-control-center/default.nix2
3 files changed, 85 insertions, 2 deletions
diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index 2b3aa73708a..c460a2cf2dc 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "caja";
-  version = "1.22.2";
+  version = "1.22.3";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1c5yr4b8pzd7nz7g7ln9jwp4fx6qgq8vgbv4spfryy53il3gv75h";
+    sha256 = "1w2liq9h1kr5zyaaq82xz8pic04qi5sra8kaycfg1iddmknkfqn7";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch b/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch
new file mode 100644
index 00000000000..fb2917b36bb
--- /dev/null
+++ b/pkgs/desktops/mate/mate-control-center/0001-Search-system-themes-in-system-data-dirs.patch
@@ -0,0 +1,81 @@
+From 74fb65a2574c93a2b20a51875a5e336f727ff4bc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
+Date: Wed, 25 Dec 2019 18:48:38 -0300
+Subject: [PATCH] Search system themes in system data dirs
+
+---
+ capplets/common/gtkrc-utils.c     | 20 ++++++++++++--------
+ capplets/common/mate-theme-info.c | 18 +++++++++++-------
+ 2 files changed, 23 insertions(+), 15 deletions(-)
+
+diff --git a/capplets/common/gtkrc-utils.c b/capplets/common/gtkrc-utils.c
+index 011c8a1..27e01da 100644
+--- a/capplets/common/gtkrc-utils.c
++++ b/capplets/common/gtkrc-utils.c
+@@ -60,15 +60,19 @@ gchar* gtkrc_find_named(const gchar* name)
+ 
+ 	if (!path)
+ 	{
+-		gchar* theme_dir = gtk_rc_get_theme_dir();
+-		path = g_build_filename(theme_dir, name, subpath, NULL);
+-		g_free(theme_dir);
++		const gchar * const * dirs = g_get_system_data_dirs();
+ 
+-		if (!g_file_test(path, G_FILE_TEST_EXISTS))
+-		{
+-			g_free (path);
+-			path = NULL;
+-		}
++		if (dirs != NULL)
++			for (; !path && *dirs != NULL; ++dirs)
++			{
++				path = g_build_filename(*dirs, "themes", name, subpath, NULL);
++
++				if (!g_file_test(path, G_FILE_TEST_EXISTS))
++				{
++					g_free (path);
++					path = NULL;
++				}
++			}
+ 	}
+ 
+ 	return path;
+diff --git a/capplets/common/mate-theme-info.c b/capplets/common/mate-theme-info.c
+index 54ae3ae..a738f0b 100644
+--- a/capplets/common/mate-theme-info.c
++++ b/capplets/common/mate-theme-info.c
+@@ -1763,6 +1763,7 @@ mate_theme_color_scheme_equal (const gchar *s1, const gchar *s2)
+ void
+ mate_theme_init ()
+ {
++  const gchar * const * dirs;
+   GFile *top_theme_dir;
+   gchar *top_theme_dir_string;
+   static gboolean initted = FALSE;
+@@ -1783,13 +1784,16 @@ mate_theme_init ()
+   theme_hash_by_uri = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+   theme_hash_by_name = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+ 
+-  /* Add all the toplevel theme dirs. */
+-  /* $datadir/themes */
+-  top_theme_dir_string = gtk_rc_get_theme_dir ();
+-  top_theme_dir = g_file_new_for_path (top_theme_dir_string);
+-  g_free (top_theme_dir_string);
+-  add_top_theme_dir_monitor (top_theme_dir, 1, NULL);
+-  g_object_unref (top_theme_dir);
++  /* Add all the toplevel theme dirs following the XDG Base Directory Specification */
++  dirs = g_get_system_data_dirs ();
++  if (dirs != NULL)
++    for (; *dirs != NULL; ++dirs) {
++      top_theme_dir_string = g_build_filename (*dirs, "themes", NULL);
++      top_theme_dir = g_file_new_for_path (top_theme_dir_string);
++      g_free (top_theme_dir_string);
++      add_top_theme_dir_monitor (top_theme_dir, 1, NULL);
++      g_object_unref (top_theme_dir);
++    }
+ 
+   /* ~/.themes */
+   top_theme_dir_string  = g_build_filename (g_get_home_dir (), ".themes", NULL);
+-- 
+2.24.1
+
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index d5c39a67d20..2451c403c82 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -38,6 +38,8 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
+    # see https://github.com/mate-desktop/mate-control-center/pull/528
+    ./0001-Search-system-themes-in-system-data-dirs.patch
     # look up keyboard shortcuts in system data dirs
     ./mate-control-center.keybindings-dir.patch
   ];