From 562197577b01aed5c98979a4fc90bf22662172cf Mon Sep 17 00:00:00 2001 From: Bastien Dejean Date: Thu, 14 Nov 2013 14:45:27 +0100 Subject: [PATCH] Add command to reverse marked images --- README.md | 1 + commands.c | 12 ++++++++++++ commands.h | 1 + config.def.h | 1 + sxiv.1 | 3 +++ 5 files changed, 18 insertions(+) diff --git a/README.md b/README.md index cda09ee..913deac 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,7 @@ of small previews is displayed, making it easy to choose an image to open. D Remove image from file list and go to next image m Mark/unmark current image + M Reverse marked images N Go [count] marked images forward P Go [count] marked images backward diff --git a/commands.c b/commands.c index ff95f36..9dbe2c0 100644 --- a/commands.c +++ b/commands.c @@ -251,6 +251,18 @@ bool it_toggle_image_mark(arg_t a) return true; } +bool it_reverse_marks(arg_t a) +{ + int i, cnt = mode == MODE_IMAGE ? filecnt : tns.cnt; + + for (i = 0; i < cnt; i++) { + files[i].marked = !files[i].marked; + markcnt += files[i].marked ? 1 : -1; + } + + return true; +} + bool it_navigate_marked(arg_t a) { long n = (long) a; diff --git a/commands.h b/commands.h index 118c89a..58bfafb 100644 --- a/commands.h +++ b/commands.h @@ -55,6 +55,7 @@ bool it_n_or_last(arg_t); bool i_navigate_frame(arg_t); bool i_toggle_animation(arg_t); bool it_toggle_image_mark(arg_t); +bool it_reverse_marks(arg_t); bool it_navigate_marked(arg_t); bool it_scroll_move(arg_t); bool it_scroll_screen(arg_t); diff --git a/config.def.h b/config.def.h index f5d048a..c5e002f 100644 --- a/config.def.h +++ b/config.def.h @@ -95,6 +95,7 @@ static const keymap_t keys[] = { { true, XK_space, i_toggle_animation, (arg_t) None }, { false, XK_m, it_toggle_image_mark, (arg_t) None }, + { false, XK_M, it_reverse_marks, (arg_t) None }, { false, XK_N, it_navigate_marked, (arg_t) +1 }, { false, XK_P, it_navigate_marked, (arg_t) -1 }, diff --git a/sxiv.1 b/sxiv.1 index ee42a00..f8ad0c1 100644 --- a/sxiv.1 +++ b/sxiv.1 @@ -130,6 +130,9 @@ Remove current image from file list and go to next image. .B m Mark/unmark the current image. .TP +.B M +Reverse marked images. +.TP .B N Go .I count