nsxiv091aacb
Merge remote-tracking branch 'baskerville/reverse-marks'
+19 −1
5 files changed
- M README.md +3 −1
- M commands.c +11 −0
- M commands.h +1 −0
- M config.def.h +1 −0
- M sxiv.1 +3 −0
| @@ -74,11 +74,12 @@ of small previews is displayed, making it easy to choose an image to open. | |||
| 74 | 74 | -d Scale all images to 100%, but fit large images into window | |
| 75 | 75 | -F Use size-hints to make the window fixed/floating | |
| 76 | 76 | -f Start in fullscreen mode | |
| 77 | + | -G GAMMA Set image gamma to GAMMA (-32..32) | |
| 77 | 78 | -g GEOMETRY Set window position and size | |
| 78 | 79 | (see section GEOMETRY SPECIFICATIONS of X(7)) | |
| 79 | 80 | -i Read file list from stdin | |
| 80 | − | -n NUM Start at picture NUM | |
| 81 | 81 | -N NAME Set X window resource name to NAME | |
| 82 | + | -n NUM Start at picture NUM | |
| 82 | 83 | -o Write list of marked files to stdout when quitting | |
| 83 | 84 | -q Be quiet, disable warnings | |
| 84 | 85 | -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. | |||
| 108 | 109 | D Remove image from file list and go to next image | |
| 109 | 110 | ||
| 110 | 111 | m Mark/unmark current image | |
| 112 | + | M Reverse all image marks | |
| 111 | 113 | N Go [count] marked images forward | |
| 112 | 114 | P Go [count] marked images backward | |
| 113 | 115 | ||
| @@ -251,6 +251,17 @@ bool it_toggle_image_mark(arg_t a) | |||
| 251 | 251 | return true; | |
| 252 | 252 | } | |
| 253 | 253 | ||
| 254 | + | bool it_reverse_marks(arg_t a) | |
| 255 | + | { | |
| 256 | + | int i, cnt = mode == MODE_IMAGE ? filecnt : tns.cnt; | |
| 257 | + | ||
| 258 | + | for (i = 0; i < cnt; i++) | |
| 259 | + | files[i].marked = !files[i].marked; | |
| 260 | + | if (mode == MODE_THUMB) | |
| 261 | + | tns.dirty = true; | |
| 262 | + | return true; | |
| 263 | + | } | |
| 264 | + | ||
| 254 | 265 | bool it_navigate_marked(arg_t a) | |
| 255 | 266 | { | |
| 256 | 267 | long n = (long) a; | |
| @@ -55,6 +55,7 @@ bool it_n_or_last(arg_t); | |||
| 55 | 55 | bool i_navigate_frame(arg_t); | |
| 56 | 56 | bool i_toggle_animation(arg_t); | |
| 57 | 57 | bool it_toggle_image_mark(arg_t); | |
| 58 | + | bool it_reverse_marks(arg_t); | |
| 58 | 59 | bool it_navigate_marked(arg_t); | |
| 59 | 60 | bool it_scroll_move(arg_t); | |
| 60 | 61 | bool it_scroll_screen(arg_t); | |
| @@ -101,6 +101,7 @@ static const keymap_t keys[] = { | |||
| 101 | 101 | { true, XK_space, i_toggle_animation, (arg_t) None }, | |
| 102 | 102 | ||
| 103 | 103 | { false, XK_m, it_toggle_image_mark, (arg_t) None }, | |
| 104 | + | { false, XK_M, it_reverse_marks, (arg_t) None }, | |
| 104 | 105 | { false, XK_N, it_navigate_marked, (arg_t) +1 }, | |
| 105 | 106 | { false, XK_P, it_navigate_marked, (arg_t) -1 }, | |
| 106 | 107 | ||
| @@ -135,6 +135,9 @@ Remove current image from file list and go to next image. | |||
| 135 | 135 | .B m | |
| 136 | 136 | Mark/unmark the current image. | |
| 137 | 137 | .TP | |
| 138 | + | .B M | |
| 139 | + | Reverse all image marks. | |
| 140 | + | .TP | |
| 138 | 141 | .B N | |
| 139 | 142 | Go | |
| 140 | 143 | .I count | |