aboutsummaryrefslogtreecommitdiffstats
path: root/options.c
diff options
context:
space:
mode:
authorBert <ber.t@gmx.com>2011-01-28 13:34:16 +0100
committerBert <ber.t@gmx.com>2011-01-28 13:34:16 +0100
commit8123d63c5b76909ce70f09614ac0e45760a69d71 (patch)
treed45e42d2b1879b88b94a03335998d6f5d9174449 /options.c
parent17e2a795bbcdbf9bc8eb07e2aaca0a494871b9e8 (diff)
downloadnsxiv-8123d63c5b76909ce70f09614ac0e45760a69d71.tar.zst
Added plenty lots of options
Diffstat (limited to 'options.c')
-rw-r--r--options.c36
1 files changed, 34 insertions, 2 deletions
diff --git a/options.c b/options.c
index b0beae9..b0f3186 100644
--- a/options.c
+++ b/options.c
@@ -29,7 +29,7 @@ options_t _options;
const options_t *options = (const options_t*) &_options;
void print_usage() {
- printf("usage: sxiv [-hv] [-w WIDTH[xHEIGHT]] FILES...\n");
+ printf("usage: sxiv [-dfhpsvZ] [-w WIDTH[xHEIGHT]] [-z ZOOM] FILES...\n");
}
void print_version() {
@@ -39,19 +39,37 @@ void print_version() {
void parse_options(int argc, char **argv) {
unsigned short w, h;
+ float z;
int opt;
+ _options.scalemode = SCALE_MODE;
+ _options.zoom = 1.0;
+ _options.aa = 1;
+
_options.winw = w = 0;
_options.winh = h = 0;
+ _options.fullscreen = 0;
- while ((opt = getopt(argc, argv, "hvw:")) != -1) {
+ while ((opt = getopt(argc, argv, "dfhpsvw:Zz:")) != -1) {
switch (opt) {
case '?':
print_usage();
exit(1);
+ case 'd':
+ _options.scalemode = SCALE_DOWN;
+ break;
+ case 'f':
+ _options.fullscreen = 1;
+ break;
case 'h':
print_usage();
exit(0);
+ case 'p':
+ _options.aa = 0;
+ break;
+ case 's':
+ _options.scalemode = SCALE_FIT;
+ break;
case 'v':
print_version();
exit(0);
@@ -65,6 +83,20 @@ void parse_options(int argc, char **argv) {
_options.winh = (int) h;
}
break;
+ case 'Z':
+ _options.scalemode = SCALE_ZOOM;
+ _options.zoom = 1.0;
+ break;
+ case 'z':
+ _options.scalemode = SCALE_ZOOM;
+ if (!sscanf(optarg, "%f", &z) || z < 0) {
+ fprintf(stderr, "sxiv: invalid argument for option -z: %s\n",
+ optarg);
+ exit(1);
+ } else {
+ _options.zoom = z / 100.0;
+ }
+ break;
}
}