* 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.
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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) {
 |