summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBert Münnich <ber.t@posteo.de>2013-11-14 17:16:09 +0100
committerBert Münnich <ber.t@posteo.de>2013-11-14 17:57:45 +0100
commit091aacb4626982c1766ded6574c0599e3bdd14c7 (patch)
tree4b0c304a1e39b86f0d91e9f7ea74f26cd61d4aba
parentac2a6ff04044704c8334b8e6adab6db0a4f9f80a (diff)
parent562197577b01aed5c98979a4fc90bf22662172cf (diff)
downloadnsxiv-091aacb4626982c1766ded6574c0599e3bdd14c7.tar.zst
Merge remote-tracking branch 'baskerville/reverse-marks'
-rw-r--r--README.md4
-rw-r--r--commands.c11
-rw-r--r--commands.h1
-rw-r--r--config.def.h1
-rw-r--r--sxiv.13
5 files changed, 19 insertions, 1 deletions
diff --git a/README.md b/README.md
index cda09ee..23b94f4 100644
--- a/README.md
+++ b/README.md
@@ -74,11 +74,12 @@ of small previews is displayed, making it easy to choose an image to open.
-d Scale all images to 100%, but fit large images into window
-F Use size-hints to make the window fixed/floating
-f Start in fullscreen mode
+ -G GAMMA Set image gamma to GAMMA (-32..32)
-g GEOMETRY Set window position and size
(see section GEOMETRY SPECIFICATIONS of X(7))
-i Read file list from stdin
- -n NUM Start at picture NUM
-N NAME Set X window resource name to NAME
+ -n NUM Start at picture NUM
-o Write list of marked files to stdout when quitting
-q Be quiet, disable warnings
-r Search given directories recursively for images
@@ -108,6 +109,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 all image marks
N Go [count] marked images forward
P Go [count] marked images backward
diff --git a/commands.c b/commands.c
index 7562bd1..49298bf 100644
--- a/commands.c
+++ b/commands.c
@@ -251,6 +251,17 @@ 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;
+ if (mode == MODE_THUMB)
+ tns.dirty = true;
+ return true;
+}
+
bool it_navigate_marked(arg_t a)
{
long n = (long) a;
diff --git a/commands.h b/commands.h
index 16aee07..ba40eed 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 bc8e419..b1e9c02 100644
--- a/config.def.h
+++ b/config.def.h
@@ -101,6 +101,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 42ee155..1fca2dd 100644
--- a/sxiv.1
+++ b/sxiv.1
@@ -135,6 +135,9 @@ Remove current image from file list and go to next image.
.B m
Mark/unmark the current image.
.TP
+.B M
+Reverse all image marks.
+.TP
.B N
Go
.I count