]> git.0d.be Git - recent.git/commitdiff
allow more than one file on the command line
authorFrédéric Péters <fpeters@0d.be>
Thu, 12 Feb 2015 10:27:24 +0000 (11:27 +0100)
committerFrédéric Péters <fpeters@0d.be>
Thu, 12 Feb 2015 10:27:24 +0000 (11:27 +0100)
recent.c

index 0fcc6c0d4e2f978899aa82ecc46abb622918f355..f9ccc20e528da87a697e9de6e13edd00ce5d5c56 100644 (file)
--- a/recent.c
+++ b/recent.c
@@ -25,22 +25,25 @@ main(int argc, char *argv[])
        GFile *file;
        char *file_uri;
        GtkRecentManager *manager;
+       int i;
 
-       if (argc != 2) {
-               fprintf(stderr, "Usage: %s FILENAME\n", argv[0]);
+       if (argc < 2) {
+               fprintf(stderr, "Usage: %s FILENAME [FILENAME...]\n", argv[0]);
                return 1;
        }
 
        gtk_init_check(&argc, &argv);
        main_loop = g_main_loop_new(NULL, FALSE);
 
-       file = g_file_new_for_path(argv[1]);
-       file_uri = g_file_get_uri(file);
-
        manager = gtk_recent_manager_get_default();
-       gtk_recent_manager_remove_item(manager, file_uri, NULL);
-       gtk_recent_manager_add_item(manager, file_uri);
-       g_free(file_uri);
+
+       for (i=1; i<argc; i++) {
+               file = g_file_new_for_path(argv[i]);
+               file_uri = g_file_get_uri(file);
+               gtk_recent_manager_remove_item(manager, file_uri, NULL);
+               gtk_recent_manager_add_item(manager, file_uri);
+               g_free(file_uri);
+       }
 
        g_signal_connect(manager, "changed", G_CALLBACK(manager_changed), NULL);