From c6ce270ee1e54fc7ae9c4029923bccedbcac5ad2 Mon Sep 17 00:00:00 2001 From: Harry Jeffery Date: Fri, 16 Aug 2019 19:08:54 +0100 Subject: imv: Add index/all argument to close command --- src/imv.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/imv.c') diff --git a/src/imv.c b/src/imv.c index 9dbc7d5..991de70 100644 --- a/src/imv.c +++ b/src/imv.c @@ -1536,9 +1536,20 @@ static void command_close(struct list *args, const char *argstr, void *data) (void)args; (void)argstr; struct imv *imv = data; - char* path = strdup(imv_navigator_selection(imv->navigator)); - imv_navigator_remove(imv->navigator, path); - free(path); + size_t index = imv_navigator_index(imv->navigator); + + if (args->len == 2) { + const char *arg = args->items[1]; + if (!strcmp("all", arg)) { + imv_navigator_remove_all(imv->navigator); + imv->slideshow.elapsed = 0; + return; + } + + index = (size_t)strtol(arg, NULL, 10) - 1; + } + + imv_navigator_remove_at(imv->navigator, index); imv->slideshow.elapsed = 0; } -- cgit v1.2.3