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.master
parent
5ce6c2d91d
commit
98b89f4321
|
@ -1068,6 +1068,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/gmp-faulty-test.patch \
|
%D%/packages/patches/gmp-faulty-test.patch \
|
||||||
%D%/packages/patches/gnome-shell-theme.patch \
|
%D%/packages/patches/gnome-shell-theme.patch \
|
||||||
%D%/packages/patches/gnome-shell-disable-test.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-todo-delete-esource-duplicate.patch \
|
||||||
%D%/packages/patches/gnome-tweaks-search-paths.patch \
|
%D%/packages/patches/gnome-tweaks-search-paths.patch \
|
||||||
%D%/packages/patches/gnupg-default-pinentry.patch \
|
%D%/packages/patches/gnupg-default-pinentry.patch \
|
||||||
|
|
|
@ -5114,7 +5114,8 @@ services for numerous locations.")
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
|
"07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))
|
||||||
|
(patches (search-patches "gnome-settings-daemon-gc.patch"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:glib-or-gtk? #t
|
`(#:glib-or-gtk? #t
|
||||||
|
|
|
@ -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) {
|
Reference in New Issue