- Scale mode is not reset to default value upon image loading anymore - New default key binding to change mode to scale-down - Removed scale mode setting from config.h - Removed -d command line option, as this is now the default at startupmaster
@@ -70,7 +70,6 @@ of small previews is displayed, making it easy to choose an image to open. | |||||
-b Do not show info bar on bottom of window | -b Do not show info bar on bottom of window | ||||
-c Remove all orphaned cache files from thumbnail cache and exit | -c Remove all orphaned cache files from thumbnail cache and exit | ||||
-d Scale all images to 100%, but fit large images into window | |||||
-F Use size-hints to make the window fixed/floating | -F Use size-hints to make the window fixed/floating | ||||
-f Start in fullscreen mode | -f Start in fullscreen mode | ||||
-G GAMMA Set image gamma to GAMMA (-32..32) | -G GAMMA Set image gamma to GAMMA (-32..32) | ||||
@@ -83,11 +82,11 @@ of small previews is displayed, making it easy to choose an image to open. | |||||
-q Be quiet, disable warnings | -q Be quiet, disable warnings | ||||
-r Search given directories recursively for images | -r Search given directories recursively for images | ||||
-S DELAY Enable slideshow and set slideshow delay to DELAY seconds | -S DELAY Enable slideshow and set slideshow delay to DELAY seconds | ||||
-s Scale all images to fit into window | |||||
-s Fit images to window | |||||
-t Start in thumbnail mode | -t Start in thumbnail mode | ||||
-v Print version information and exit | -v Print version information and exit | ||||
-Z Same as `-z 100' | -Z Same as `-z 100' | ||||
-z ZOOM Scale all images to current zoom level, use ZOOM at startup | |||||
-z ZOOM Set zoom level to ZOOM percent | |||||
**Key mappings:** | **Key mappings:** | ||||
@@ -132,9 +131,10 @@ of small previews is displayed, making it easy to choose an image to open. | |||||
+ Zoom in | + Zoom in | ||||
- Zoom out | - Zoom out | ||||
= Set zoom level to 100%, or [count]% | = Set zoom level to 100%, or [count]% | ||||
w Fit image into window | |||||
e Fit image width to window width | |||||
E Fit image height to window height | |||||
w Set zoom level to 100%, but fit large images into window | |||||
W Fit image to window | |||||
e Fit image to window width | |||||
E Fit image to window height | |||||
h,j,k,l Pan image 1/5 of window width/height or [count] pixels | h,j,k,l Pan image 1/5 of window width/height or [count] pixels | ||||
left/down/up/right (also with arrow keys) | left/down/up/right (also with arrow keys) | ||||
@@ -23,14 +23,6 @@ static const char * const BAR_FG_COLOR = "#EEEEEE"; | |||||
#endif | #endif | ||||
#ifdef _IMAGE_CONFIG | #ifdef _IMAGE_CONFIG | ||||
/* how should images be scaled when they are loaded? | |||||
* (also controllable via -d/-s/-Z/-z options) | |||||
* SCALE_DOWN: 100%, but fit large images into window, | |||||
* SCALE_FIT: fit all images into window, | |||||
* SCALE_ZOOM: use current zoom level, 100% at startup | |||||
*/ | |||||
static const scalemode_t SCALE_MODE = SCALE_DOWN; | |||||
/* levels (in percent) to use when zooming via '-' and '+': | /* levels (in percent) to use when zooming via '-' and '+': | ||||
* (first/last value is used as min/max zoom level) | * (first/last value is used as min/max zoom level) | ||||
*/ | */ | ||||
@@ -138,7 +130,8 @@ static const keymap_t keys[] = { | |||||
{ 0, XK_minus, i_zoom, (arg_t) -1 }, | { 0, XK_minus, i_zoom, (arg_t) -1 }, | ||||
{ 0, XK_KP_Subtract, i_zoom, (arg_t) -1 }, | { 0, XK_KP_Subtract, i_zoom, (arg_t) -1 }, | ||||
{ 0, XK_equal, i_set_zoom, (arg_t) 100 }, | { 0, XK_equal, i_set_zoom, (arg_t) 100 }, | ||||
{ 0, XK_w, i_fit_to_win, (arg_t) SCALE_FIT }, | |||||
{ 0, XK_w, i_fit_to_win, (arg_t) SCALE_DOWN }, | |||||
{ 0, XK_W, i_fit_to_win, (arg_t) SCALE_FIT }, | |||||
{ 0, XK_e, i_fit_to_win, (arg_t) SCALE_WIDTH }, | { 0, XK_e, i_fit_to_win, (arg_t) SCALE_WIDTH }, | ||||
{ 0, XK_E, i_fit_to_win, (arg_t) SCALE_HEIGHT }, | { 0, XK_E, i_fit_to_win, (arg_t) SCALE_HEIGHT }, | ||||
@@ -74,6 +74,7 @@ void img_init(img_t *img, win_t *win) | |||||
img->im = NULL; | img->im = NULL; | ||||
img->win = win; | img->win = win; | ||||
img->scalemode = options->scalemode; | |||||
img->zoom = options->zoom; | img->zoom = options->zoom; | ||||
img->zoom = MAX(img->zoom, zoom_min); | img->zoom = MAX(img->zoom, zoom_min); | ||||
img->zoom = MIN(img->zoom, zoom_max); | img->zoom = MIN(img->zoom, zoom_max); | ||||
@@ -333,7 +334,6 @@ bool img_load(img_t *img, const fileinfo_t *file) | |||||
img->w = imlib_image_get_width(); | img->w = imlib_image_get_width(); | ||||
img->h = imlib_image_get_height(); | img->h = imlib_image_get_height(); | ||||
img->scalemode = options->scalemode; | |||||
img->checkpan = true; | img->checkpan = true; | ||||
img->dirty = true; | img->dirty = true; | ||||
@@ -33,7 +33,7 @@ const options_t *options = (const options_t*) &_options; | |||||
void print_usage(void) | void print_usage(void) | ||||
{ | { | ||||
printf("usage: sxiv [-bcdFfhioqrstvZ] [-G GAMMA] [-g GEOMETRY] [-n NUM] " | |||||
printf("usage: sxiv [-bcFfhioqrstvZ] [-G GAMMA] [-g GEOMETRY] [-n NUM] " | |||||
"[-N NAME] [-S DELAY] [-z ZOOM] FILES...\n"); | "[-N NAME] [-S DELAY] [-z ZOOM] FILES...\n"); | ||||
} | } | ||||
@@ -52,7 +52,7 @@ void parse_options(int argc, char **argv) | |||||
_options.recursive = false; | _options.recursive = false; | ||||
_options.startnum = 0; | _options.startnum = 0; | ||||
_options.scalemode = SCALE_MODE; | |||||
_options.scalemode = SCALE_DOWN; | |||||
_options.zoom = 1.0; | _options.zoom = 1.0; | ||||
_options.gamma = 0; | _options.gamma = 0; | ||||
_options.slideshow = 0; | _options.slideshow = 0; | ||||
@@ -67,7 +67,7 @@ void parse_options(int argc, char **argv) | |||||
_options.thumb_mode = false; | _options.thumb_mode = false; | ||||
_options.clean_cache = false; | _options.clean_cache = false; | ||||
while ((opt = getopt(argc, argv, "bcdFfG:g:hin:N:oqrS:stvZz:")) != -1) { | |||||
while ((opt = getopt(argc, argv, "bcFfG:g:hin:N:oqrS:stvZz:")) != -1) { | |||||
switch (opt) { | switch (opt) { | ||||
case '?': | case '?': | ||||
print_usage(); | print_usage(); | ||||
@@ -78,9 +78,6 @@ void parse_options(int argc, char **argv) | |||||
case 'c': | case 'c': | ||||
_options.clean_cache = true; | _options.clean_cache = true; | ||||
break; | break; | ||||
case 'd': | |||||
_options.scalemode = SCALE_DOWN; | |||||
break; | |||||
case 'F': | case 'F': | ||||
_options.fixed_win = true; | _options.fixed_win = true; | ||||
break; | break; | ||||
@@ -3,7 +3,7 @@ | |||||
sxiv \- Simple X Image Viewer | sxiv \- Simple X Image Viewer | ||||
.SH SYNOPSIS | .SH SYNOPSIS | ||||
.B sxiv | .B sxiv | ||||
.RB [ \-bcdFfhiopqrstvZ ] | |||||
.RB [ \-bcFfhioqrstvZ ] | |||||
.RB [ \-G | .RB [ \-G | ||||
.IR GAMMA ] | .IR GAMMA ] | ||||
.RB [ \-g | .RB [ \-g | ||||
@@ -38,9 +38,6 @@ Do not show info bar on bottom of window. | |||||
.B \-c | .B \-c | ||||
Remove all orphaned cache files from the thumbnail cache directory and exit. | Remove all orphaned cache files from the thumbnail cache directory and exit. | ||||
.TP | .TP | ||||
.B \-d | |||||
Scale all images to 100%, but fit large images into window. | |||||
.TP | |||||
.B \-F | .B \-F | ||||
Make the window fixed/floating by setting the minimum and maximum width/height | Make the window fixed/floating by setting the minimum and maximum width/height | ||||
size-hints to the window width/height. | size-hints to the window width/height. | ||||
@@ -84,7 +81,7 @@ Search the given directories recursively for images to view. | |||||
Start in slideshow mode. Set the delay between images to DELAY seconds. | Start in slideshow mode. Set the delay between images to DELAY seconds. | ||||
.TP | .TP | ||||
.B \-s | .B \-s | ||||
Scale all images to fit into window. | |||||
Fit images to window. | |||||
.TP | .TP | ||||
.B \-t | .B \-t | ||||
Start in thumbnail mode. | Start in thumbnail mode. | ||||
@@ -96,9 +93,7 @@ Print version information to standard output and exit. | |||||
The same as `\-z 100'. | The same as `\-z 100'. | ||||
.TP | .TP | ||||
.BI "\-z " ZOOM | .BI "\-z " ZOOM | ||||
Scale all images to the current zoom level, use a zoom level of | |||||
.I ZOOM | |||||
at startup. | |||||
Set zoom level to ZOOM percent. | |||||
.SH GENERAL KEYBOARD COMMANDS | .SH GENERAL KEYBOARD COMMANDS | ||||
The following keyboard commands are available in both image and thumbnail mode: | The following keyboard commands are available in both image and thumbnail mode: | ||||
.TP | .TP | ||||
@@ -229,13 +224,16 @@ Set zoom level to 100%, or | |||||
.IR count %. | .IR count %. | ||||
.TP | .TP | ||||
.B w | .B w | ||||
Set zoom level to fit image into window. | |||||
Set zoom level to 100%, but fit large images into window. | |||||
.TP | |||||
.B W | |||||
Fit image to window. | |||||
.TP | .TP | ||||
.B e | .B e | ||||
Set zoom level to fit image width to window width. | |||||
Fit image to window width. | |||||
.TP | .TP | ||||
.B E | .B E | ||||
Set zoom level to fit image height to window height. | |||||
Fit image to window height. | |||||
.SS Panning | .SS Panning | ||||
.TP | .TP | ||||
.BR h ", " Left | .BR h ", " Left | ||||