summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-09-18 00:04:49 +0200
committerLudovic Courtès <ludo@gnu.org>2020-09-18 08:45:40 +0200
commit98b89f432103b66efacee0bcba41a94148b8e870 (patch)
treec4e0e66bd7e17c0c28f9a3e8a74bb25fa15f5335
parent5ce6c2d91dd4dfaa48b3ece0f6a94a8c90415458 (diff)
downloadguix-patches-98b89f432103b66efacee0bcba41a94148b8e870.tar
guix-patches-98b89f432103b66efacee0bcba41a94148b8e870.tar.gz
gnu: gnome-settings-daemon: Add "guix gc" to low disk space notification.
* gnu/packages/patches/gnome-settings-daemon-gc.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (gnome-settings-daemon)[source]: Use it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnome.scm3
-rw-r--r--gnu/packages/patches/gnome-settings-daemon-gc.patch43
3 files changed, 46 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 6cdbe0d778..1a1a6488f9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1068,6 +1068,7 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-shell-theme.patch \
%D%/packages/patches/gnome-shell-disable-test.patch \
+ %D%/packages/patches/gnome-settings-daemon-gc.patch \
%D%/packages/patches/gnome-todo-delete-esource-duplicate.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnupg-default-pinentry.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 15719ef8e7..aebb81419c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5114,7 +5114,8 @@ services for numerous locations.")
name "-" version ".tar.xz"))
(sha256
(base32
- "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
+ "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))
+ (patches (search-patches "gnome-settings-daemon-gc.patch"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
diff --git a/gnu/packages/patches/gnome-settings-daemon-gc.patch b/gnu/packages/patches/gnome-settings-daemon-gc.patch
new file mode 100644
index 0000000000..688544b418
--- /dev/null
+++ b/gnu/packages/patches/gnome-settings-daemon-gc.patch
@@ -0,0 +1,43 @@
+This patch adds a "guix gc" button to the low disk space notification
+that 'gsd-housekeeping' emits.
+
+diff --git a/plugins/housekeeping/gsd-disk-space.c b/plugins/housekeeping/gsd-disk-space.c
+index bd3437e..89027d8 100644
+--- a/plugins/housekeeping/gsd-disk-space.c
++++ b/plugins/housekeeping/gsd-disk-space.c
+@@ -546,6 +546,21 @@ empty_trash_callback (NotifyNotification *n,
+ notify_notification_close (n, NULL);
+ }
+
++static void
++guix_gc_callback (NotifyNotification *n,
++ const char *action)
++{
++ const gchar *argv[] = { "guix", "gc", NULL };
++
++ g_assert (action != NULL);
++ g_assert (strcmp (action, "run-guix-gc") == 0);
++
++ g_spawn_async (NULL, (gchar **) argv, NULL, G_SPAWN_SEARCH_PATH,
++ NULL, NULL, NULL, NULL);
++
++ notify_notification_close (n, NULL);
++}
++
+ static void
+ on_notification_closed (NotifyNotification *n)
+ {
+@@ -591,6 +606,13 @@ ldsm_notify (const char *summary,
+ g_free);
+ }
+
++ notify_notification_add_action (notification,
++ "run-guix-gc",
++ _("Collect Unused Guix Items"),
++ (NotifyActionCallback) guix_gc_callback,
++ NULL,
++ NULL);
++
+ has_trash = ldsm_mount_has_trash (mount_path);
+
+ if (has_trash) {