about summary refs log tree commit diff
path: root/pkgs/desktops/gnome
diff options
context:
space:
mode:
authorBobby Rong <rjl931189261@126.com>2021-12-11 22:04:27 +0800
committerGitHub <noreply@github.com>2021-12-11 22:04:27 +0800
commite143a2cbf7773e46ea85cb66b2b64fbc878c4b86 (patch)
tree01b2a0c16930359ef4ab876cb6101fa06447c5a4 /pkgs/desktops/gnome
parent757a72d73cdccbd781ba95050bb83fe1a33e5153 (diff)
parent508d45f8b50d03d9cab71fec4627f5f290cad312 (diff)
Merge pull request #150233 from bobby285271/pantheon
Pantheon updates 2021-12-11
Diffstat (limited to 'pkgs/desktops/gnome')
-rw-r--r--pkgs/desktops/gnome/core/evince/default.nix13
-rw-r--r--pkgs/desktops/gnome/core/evince/pantheon-dark-style.patch86
2 files changed, 9 insertions, 90 deletions
diff --git a/pkgs/desktops/gnome/core/evince/default.nix b/pkgs/desktops/gnome/core/evince/default.nix
index eb85c97f9f21a..74987c07a5b92 100644
--- a/pkgs/desktops/gnome/core/evince/default.nix
+++ b/pkgs/desktops/gnome/core/evince/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -57,9 +59,12 @@ stdenv.mkDerivation rec {
 
   patches = lib.optionals withPantheon [
     # Make this respect dark mode settings from Pantheon
-    # https://github.com/elementary/evince
-    # The patch currently differs from upstream (updated for evince 41).
-    ./pantheon-dark-style.patch
+    # https://github.com/elementary/evince/pull/21
+    # https://github.com/elementary/evince/pull/31
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/elementary/evince/c8364019ee2c2dffd2a1bccf79b8f4e526aa22af/dark-style.patch";
+      sha256 = "sha256-nKELRXnM6gMRTGmWdO1Qqlo9ciy+4HOK5z2CYOoi2Lo=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome/core/evince/pantheon-dark-style.patch b/pkgs/desktops/gnome/core/evince/pantheon-dark-style.patch
deleted file mode 100644
index 5e1ef67b08cd4..0000000000000
--- a/pkgs/desktops/gnome/core/evince/pantheon-dark-style.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff --git a/meson.build b/meson.build
-index bcb69cf7..4a18c08c 100644
---- a/meson.build
-+++ b/meson.build
-@@ -162,6 +162,7 @@ gmodule_dep = dependency('gmodule-2.0')
- gmodule_no_export_dep = dependency('gmodule-no-export-2.0', version: glib_req_version)
- gtk_dep = dependency('gtk+-3.0', version: gtk_req_version)
- gthread_dep = dependency('gthread-2.0', version: glib_req_version)
-+granite_dep = dependency('granite')
- # Keep the version here synchronised with subprojects/libhandy.wrap
- hdy_dep = dependency('libhandy-1', version: hdy_req_version, fallback: ['libhandy', 'libhandy_dep'])
- 
-diff --git a/shell/ev-application.c b/shell/ev-application.c
-index e704bda2..d705328c 100644
---- a/shell/ev-application.c
-+++ b/shell/ev-application.c
-@@ -30,6 +30,7 @@
- #include <glib/gi18n.h>
- #include <glib/gstdio.h>
- #include <gtk/gtk.h>
-+#include <granite.h>
- #include <handy.h>
- #ifdef GDK_WINDOWING_X11
- #include <gdk/gdkx.h>
-@@ -176,7 +177,7 @@ ev_spawn (const char     *uri,
- 
- 	g_string_append_printf (cmd, " %s", path);
- 	g_free (path);
--	
-+
- 	/* Page label */
- 	if (dest) {
-                 switch (ev_link_dest_get_dest_type (dest)) {
-@@ -940,6 +941,20 @@ ev_application_migrate_config_dir (EvApplication *application)
-         g_free (old_accels);
- }
- 
-+static void
-+ev_application_set_prefers_color_scheme ()
-+{
-+        GtkSettings* gtk_settings = gtk_settings_get_default ();
-+        GraniteSettings* granite_settings = granite_settings_get_default ();
-+
-+        g_object_set (
-+          gtk_settings,
-+          "gtk-application-prefer-dark-theme",
-+          granite_settings_get_prefers_color_scheme (granite_settings) == GRANITE_SETTINGS_COLOR_SCHEME_DARK,
-+          NULL
-+        );
-+}
-+
- static void
- ev_application_startup (GApplication *gapplication)
- {
-@@ -992,6 +1007,7 @@ ev_application_startup (GApplication *gapplication)
- 
-         EvApplication *application = EV_APPLICATION (gapplication);
-         const gchar **it;
-+        GraniteSettings* granite_settings = granite_settings_get_default ();
- 
- 	g_application_set_resource_base_path (gapplication, "/org/gnome/evince");
- 
-@@ -999,6 +1015,11 @@ ev_application_startup (GApplication *gapplication)
- 
-         hdy_init ();
- 
-+        ev_application_set_prefers_color_scheme ();
-+
-+        g_signal_connect (granite_settings, "notify::prefers-color-scheme",
-+          G_CALLBACK(ev_application_set_prefers_color_scheme), NULL);
-+
-         for (it = action_accels; it[0]; it += g_strv_length ((gchar **)it) + 1)
-                 gtk_application_set_accels_for_action (GTK_APPLICATION (application), it[0], &it[1]);
- }
-diff --git a/shell/meson.build b/shell/meson.build
-index 7cbc48f2..a3089b13 100644
---- a/shell/meson.build
-+++ b/shell/meson.build
-@@ -52,6 +52,7 @@ sources += gnome.compile_resources(
- deps = [
-   gdk_pixbuf_dep,
-   gnome_desktop_dep,
-+  granite_dep,
-   hdy_dep,
-   libevmisc_dep,
-   libevproperties_dep,