aboutsummaryrefslogtreecommitdiffstats
path: root/options.c
diff options
context:
space:
mode:
authorBert Münnich <ber.t@posteo.de>2016-11-28 18:54:39 +0100
committerBert Münnich <ber.t@posteo.de>2016-11-28 19:10:31 +0100
commitc1ba841783db1d53f4da303e0db3b05b5eea958f (patch)
tree1addc98000f9d3797fcd18e540912c8f2ed20212 /options.c
parent32b29e61c1cf1fead8ccc3400d751955de7d5715 (diff)
parentec47ecb23a9914bbcd470421828620da99c693d5 (diff)
downloadnsxiv-c1ba841783db1d53f4da303e0db3b05b5eea958f.tar.zst
Merge dwminer/framerate
Diffstat (limited to 'options.c')
-rw-r--r--options.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/options.c b/options.c
index 4a9772c..5220330 100644
--- a/options.c
+++ b/options.c
@@ -32,8 +32,9 @@ const options_t *options = (const options_t*) &_options;
void print_usage(void)
{
- printf("usage: sxiv [-abcfhioqrtvZ] [-e WID] [-G GAMMA] [-g GEOMETRY] "
- "[-N NAME] [-n NUM] [-S DELAY] [-s MODE] [-z ZOOM] FILES...\n");
+ printf("usage: sxiv [-abcfhioqrtvZ] [-A FRAMERATE] [-e WID] [-G GAMMA] "
+ "[-g GEOMETRY] [-N NAME] [-n NUM] [-S DELAY] [-s MODE] [-z ZOOM] "
+ "FILES...\n");
}
void print_version(void)
@@ -60,6 +61,7 @@ void parse_options(int argc, char **argv)
_options.animate = false;
_options.gamma = 0;
_options.slideshow = 0;
+ _options.framerate = 0;
_options.fullscreen = false;
_options.embed = 0;
@@ -71,11 +73,17 @@ void parse_options(int argc, char **argv)
_options.thumb_mode = false;
_options.clean_cache = false;
- while ((opt = getopt(argc, argv, "abce:fG:g:hin:N:oqrS:s:tvZz:")) != -1) {
+ while ((opt = getopt(argc, argv, "A:abce:fG:g:hin:N:oqrS:s:tvZz:")) != -1) {
switch (opt) {
case '?':
print_usage();
exit(EXIT_FAILURE);
+ case 'A':
+ n = strtol(optarg, &end, 0);
+ if (*end != '\0' || n <= 0)
+ error(EXIT_FAILURE, 0, "Invalid argument for option -A: %s", optarg);
+ _options.framerate = n;
+ /* fall through */
case 'a':
_options.animate = true;
break;