diff options
| author | Daniel Friesel <derf@derf.homelinux.org> | 2010-03-21 10:48:29 +0100 | 
|---|---|---|
| committer | Daniel Friesel <derf@derf.homelinux.org> | 2010-03-21 10:48:29 +0100 | 
| commit | b61f0a05c54e6d5818ce46cb417ae54723ac7193 (patch) | |
| tree | af21b1c3376f064ee34af41a2e85ef0384bb3a3f | |
| parent | e1aed7e978ea2925aa6e38a2ab0ac0e0e5a3fdcd (diff) | |
Some indentation and line length fixes
| -rw-r--r-- | src/options.c | 825 | ||||
| -rw-r--r-- | src/thumbnail.c | 144 | 
2 files changed, 494 insertions, 475 deletions
| diff --git a/src/options.c b/src/options.c index 810bc63..6deaf85 100644 --- a/src/options.c +++ b/src/options.c @@ -156,7 +156,8 @@ static void feh_load_options_for_theme(char *theme)  	} else {  		home = getenv("HOME");  		if (!home) -			eprintf("D'oh! Please define HOME in your environment!" "It would really help me out...\n"); +			eprintf("D'oh! Please define HOME in your environment! " +					"It would really help me out...\n");  		rcpath = estrjoin("/", home, ".fehrc", NULL);  		D(3, ("Trying %s for config\n", rcpath));  		fp = fopen(rcpath, "r"); @@ -526,7 +527,8 @@ static void feh_parse_option_array(int argc, char **argv)  			else if (!strcasecmp(optarg, "format"))  				opt.sort = SORT_FORMAT;  			else { -				weprintf("Unrecognised sort mode \"%s\". Defaulting to sort by filename", optarg); +				weprintf("Unrecognised sort mode \"%s\". Defaulting to " +						"sort by filename", optarg);  				opt.sort = SORT_FILENAME;  			}  			break; @@ -759,35 +761,39 @@ static void check_options(void)  {  	D_ENTER(4);  	if ((opt.index + opt.collage) > 1) { -		weprintf("you can't use collage mode and index mode together.\n" "   I'm going with index"); +		weprintf("you can't use collage mode and index mode together.\n" +				"   I'm going with index");  		opt.collage = 0;  	}  	if (opt.full_screen && opt.multiwindow) { -		weprintf -		    ("you shouldn't combine multiwindow mode with full-screen mode,\n" -		     "   Multiwindow mode has been disabled."); +		weprintf("you shouldn't combine multiwindow mode with full-screen mode,\n" +				"   Multiwindow mode has been disabled.");  		opt.multiwindow = 0;  	}  	if (opt.list && (opt.multiwindow || opt.index || opt.collage)) { -		weprintf("list mode can't be combined with other processing modes,\n" "   list mode disabled."); +		weprintf("list mode can't be combined with other processing modes,\n" +				"   list mode disabled.");  		opt.list = 0;  	}  	if (opt.sort && opt.randomize) { -		weprintf("You cant sort AND randomize the filelist...\n" "randomize mode has been unset\n"); +		weprintf("You cant sort AND randomize the filelist...\n" +				"randomize mode has been unset\n");  		opt.randomize = 0;  	}  	if (opt.loadables && opt.unloadables) {  		weprintf("You cant show loadables AND unloadables...\n" -			 "you might as well use ls ;)\n" "loadables only will be shown\n"); +				"you might as well use ls ;)\n" +				"loadables only will be shown\n");  		opt.unloadables = 0;  	}  	if (opt.thumb_title && (!opt.thumbs)) { -		weprintf("Doesn't make sense to set thumbnail title when not in\n" "thumbnail mode.\n"); +		weprintf("Doesn't make sense to set thumbnail title when not in\n" +				"thumbnail mode.\n");  		free(opt.thumb_title);  		opt.thumb_title = NULL;  	} @@ -802,336 +808,336 @@ void show_version(void)  void show_mini_usage(void)  { -	fprintf(stdout, -		PACKAGE " - No loadable images specified.\nUse " PACKAGE " --help for detailed usage information\n"); +	fprintf(stdout, PACKAGE " - No loadable images specified.\n" +			"Use " PACKAGE " --help for detailed usage information\n");  	exit(0);  }  void show_usage(void)  {  	fprintf(stdout, -		"Usage : " PACKAGE " [OPTIONS]... FILES...\n" -		" Where a FILE is an image file or a directory.\n" -		" Multiple files are supported.\n" -		" Urls are supported. They must begin with http:// or ftp:// and you must\n" -		" have wget installed to download the files for viewing.\n" -		" Options can also be specified in the in the feh configuration file. See\n" -		" man feh for more details\n" -		" -h, --help                display this help and exit\n" -		" -v, --version             output version information and exit\n" -		" -V, --verbose             output useful information, progress bars, etc\n" -		" -q, --quiet               Don't report non-fatal errors for failed loads\n" -		"                           Verbose and quiet modes are not mutually exclusive,\n" -		"                           the first controls informational messages, the\n" -		"                           second only errors.\n" -		" -T, --theme THEME         Load options from config file with name THEME\n" -		"                           see man feh for more info.\n" -		" -_, --rcfile FILE         Use FILE to parse themes and options from,\n" -		"                           instead of the default ~/.fehrc, /etc/fehrc files.\n" -		" -r, --recursive           Recursively expand any directories in FILE to\n" -		"                           the content of those directories. (Take it easy)\n" -		" -z, --randomize           When viewing multiple files in a slideshow,\n" -		"                           randomise the file list before displaying\n" -		" --no-jump-on-resort       Don't jump to the first image when the filelist\n" -		"                           is resorted.\n" -		" -g, --geometry STRING     Limit (and don't change) the window size. Takes\n" -		"                           an X-style geometry string like 640x480.\n" -		"                           Note that larger images will be zoomed out to fit\n" -		"                           but you can see them at 1:1 by clicking the zoom\n" -		"                           button.\n" -		" -f, --filelist FILE       This option is similar to the playlists used by\n" -		"                           music software. If FILE exists, it will be read\n" -		"                           for a list of files to load, in the order they\n" -		"                           appear. The format is a list of image filenames,\n" -		"                           absolute or relative to the current directory,\n" -		"                           one filename per line.\n" -		"                           If FILE doesn't exist, it will be created from the\n" -		"                           internal filelist at the end of a viewing session.\n" -		"                           This is best used to store the results of complex\n" -		"                           sorts (-Spixels for example) for later viewing.\n" -		"                           Any changes to the internal filelist (such as\n" -		"                           deleting a file or it being pruned for being\n" -		"                           unloadable) will be saved to FILE when feh exits.\n" -		"                           You can add files to filelists by specifying them\n" -		"                           on the commandline when also specifying the list.\n" -		" -|, --start-at POSITION   Start at POSITION in the filelist\n" -		" -p, --preload             Preload images. This doesn't mean hold them in\n" -		"                           RAM, it means run through and eliminate unloadable\n" -		"                           images first. Otherwise they will be removed as you\n" -		"                           flick through.\n" -		" -., --scale-down          Automatically scale down images too big for the\n" -		"                           screen. Currently only works with -P\n" -		" -F, --full-screen         Make the window fullscreen\n" -		" -Z, --auto-zoom           Zoom picture to screen size in fullscreen mode,\n" -		"                           is affected by the option --stretch\n" -		"     --zoom PERCENT        Zooms images by a PERCENT, when in full screen\n" -		"                           mode or when window geometry is fixed. If combined\n" -		"                           with --auto-zoom, zooming will be limited to the\n" -		"                           the size.\n" -		" -w, --multiwindow         Disable slideshow mode. With this setting,\n" -		"                           instead of opening multiple files in slideshow\n" -		"                           mode, multiple windows will be opened.\n" -		" -x, --borderless          Create borderless windows\n" -		" -d, --draw-filename       Draw the filename at the top-left of the image.\n" -		" -^, --title TITLE         Use TITLE as the window title in slideshow mode.\n" -		" -D, --slideshow-delay NUM For slideshow mode, specifies time delay (seconds,\n" -		"                           can be a decimal) between automatically changing\n" -		"                           slides.\n" -		"     --cycle-once          exit feh after one loop through a slideshow\n" -		" -R, --reload NUM          Use this option to tell feh to reload an image\n" -		"                           after NUM seconds. Useful for viewing webcams\n" -		"                           via http, or even on your local machine.\n" -		" -Q, --builtin             Use builtin http grabber to grab remote files\n" -		"                           instead of wget.\n" -		"                           mechanism, useful if don't have wget.\n" -		" -k, --keep-http           When viewing files using http, feh normally\n" -		"                           deletes the local copies after viewing, or,\n" -		"                           if caching, on exit. This option prevents this\n" -		"                           so that you get to keep the local copies.\n" -		"                           They will be in the current working directory\n" -		"                           with \"feh\" in the name.\n" -		"     --caption-path PATH   Path to directory containing image captions.\n" -		"                           This turns on caption viewing, and if captions\n" -		"                           are found in PATH, which is relative to the\n" -		"                           directory of each image, they are overlayed\n" -		"                           on the displayed image.\n" -		"                           e.g with caption path \"captions\", and viewing\n" -		"                           image images/foo.jpg, caption will be looked for\n" -		"                           as \"images/captions/foo.jpg.txt\"\n" -		" -j, --output-dir          Output directory for saved files.  Really only\n" -		"                           useful with the -k flag.\n" -		" -G, --wget-timestamp      When viewing http images with reload set (eg\n" -		"                           webcams), try to only reload the image if the\n" -		"                           remote file has changed.\n" -		" -l, --list                Don't display images. Analyse them and display an\n" -		"                           'ls' style listing. Useful in scripts hunt out\n" -		"                           images of a certain size/resolution/type etc.\n" -		" -L, --customlist FORMAT   Use FORMAT as the format specifier for list\n" -		"                           output. FORMAT is a printf-like string containing\n" -		"                           image info specifiers. See FORMAT SPECIFIERS.\n" -		" -U, --loadable            Don't display images. Just print out their name\n" -		"                           if imlib2 can successfully load them.\n" -		" -u, --unloadable          Don't display images. Just print out their name\n" -		"                           if imlib2 can NOT successfully load them.\n" -		" -S, --sort SORT_TYPE      The file list may be sorted according to image\n" -		"                           parameters. Allowed sort types are: name,\n" -		"                           filename, width, height, pixels, size, format.\n" -		"                           For sort modes other than name or filename, a\n" -		"                           preload run will be necessary, causing a delay\n" -		"                           proportional to the number of images in the list\n" -		" -n, --reverse             Reverse the sort order. Use this to invert the order\n" -		"                           of the filelist. Eg to sort in reverse width order,\n" -		"                           use -nSwidth\n" -		" -A, --action ACTION       Specify a string as an action to perform on the\n" -		"                           image. In slideshow or multiwindow modes, the action\n" -		"                           in list mode, or loadable|unloadable modes, the\n" -		"                           action will be run for each file.\n" -		"                           The action will be executed by /bin/sh. Use\n" -		"                           format specifiers to refer to image info. See\n" -		"                           FORMAT SPECIFIERS for examples\n" -		"                           Eg. -A \"mv %%f ~/images/%%n\"\n" -		"                           In slideshow mode, the next image will be shown\n" -		"                           after running the command, in multiwindow mode,\n" -		"                           the window will be closed.\n" -		"     --action1 ACTION      These extra action options allow you to specify\n" -		"     --action2 ACTION      multiple additional actions which can be invoked\n" -		"     ...                   using the appropriate number key 1-9\n" -		"     --action9 ACTION\n" -		"     --draw-actions        Show the defined actions and what they do\n" -		" -m, --montage             Enable montage mode. Montage mode creates a new\n" -		"                           image consisting of a grid of thumbnails of the\n" -		"                           images specified using FILE... When montage mode\n" -		"                           is selected, certain other options become\n" -		"                           available. See MONTAGE MODE OPTIONS\n" -		" -c, --collage             Same as montage mode, but the thumbnails are\n" -		"                           distributed randomly. You must specify width and\n" -		"                           height or supply a background image or both\n" -		" -i, --index               Enable Index mode. Index mode is similar to\n" -		"                           montage mode, and accepts the same options. It\n" -		"                           creates an index print of thumbails, printing the\n" -		"                           images name beneath each thumbnail. Index mode\n" -		"                           enables certain other options, see INDEX MODE\n" -		"                           OPTIONS\n" -		" -t, --thumbnails          As --index, but clicking an image will open it in\n" -		"                           a new viewing window\n" -		"     --cache-thumbnails    Enable thumbnail caching\n" -		" -~, --thumb-title STRING  Set window title for images opened from thumbnail mode.\n" -		"                           Supports format specifiers, see there.\n" -		" -I, --fullindex           Same as index mode, but below each thumbnail you\n" -		"                           get image name, size and dimensions\n" -		"     --index-name BOOL     Show/Don't show filename in index/thumbnail mode\n" -		"     --index-size BOOL     Show/Don't show filesize in index/thumbnail mode\n" -		"     --index-dim BOOL      Show/Don't show dimensions in index/thumbnail mode\n" -		"     --bg-tile FILE\n" -		"     --bg-center FILE\n" -		"     --bg-scale FILE\n" -		"     --bg-fill FILE\n" -		"     --bg-seamless FILE    Set your desktop background to FILE. Feh can\n" -		"                           use enlightenment IPC if you are running it,\n" -		"                           or will fall back to X methods.\n" -		"                           Feh stores the commandline necessary to restore\n" -		"                           the background you chose in ~/.fehbg. So to have\n" -		"                           feh-set backgrounds restored when you restart X,\n" -		"                           add the line \"eval `cat $HOME/.fehbg`\" to your\n" -		"                           X startup script (e.g. ~/.xsession). Note that\n" -		"                           you only need to do this for non E window\n" -		"                           managers.\n" -		" -C, --fontpath PATH       Specify an extra directory to look in for fonts,\n" -		"                           can be used multiple times to add multiple paths.\n" -		" -M, --menu-font FONT      Use FONT for the font in menus.\n" -		"     --menu-style FILE     Use FILE as the style descriptor for menu text.\n" -		" -), --menu-bg BG          Use BG for the background image in menus.\n" -		"     --menu-border INT     Specify number of pixels that define the menu\n" -		"                           background's border. Borders are not stretched\n" -		"                           when images are scaled.\n" -		" -B, --image-bg STYLE      Set background for transparent images and the like.\n" -		"                           Accepted values: white, black, default\n" -		" -N, --no-menus            Don't load or show any menus.\n" -		" -0, --reload-button B     Use button B to reload the image (defaults to 0)\n" -		" -1, --pan-button B        Use button B pan the image (hold button down, move\n" -		"                           the mouse to move the image around. Advancesto the\n" -		"                           next image when the mouse is not moved (defaults to\n" -		"                           1, usually the left button).\n" -		" -2, --zoom-button B       Use button B to zoom the current image in any\n" -		"                           mode (defaults to 2, usually the middle button).\n" -		" -3, --menu-button B       Use CTRL+Button B to activate the menu in any\n" -		"                           mode.  Set to 0 for any button.  This option\n" -		"                           is disabled if the -N or --no-menus option is set\n" -		"                           (defaults to 3, usually the right button).\n" -		"     --menu-ctrl-mask      Require CTRL+Button for menu activation in\n" -		"                           any mode (default=off).\n" -		" -4, --prev-button B       Use button B to switch to the previous image\n" -		"                           (defaults to 4, which usually is <mousewheel up>).\n" -		" -5, --next-button B       Use button B to switch to the next image\n" -		"                           (defaults to 5, which usually is <mousewheel down>).\n" -		" -8, --rotate-button B     Use CTRL+Button B to rotate the current image in\n" -		"                           any mode (default=2).\n" -		"     --no-rotate-ctrl-mask Don't require CTRL+Button for rotation in\n" -		"                           any mode -- just use the button (default=off).\n" -		" -9, --blur-button B       Use CTRL+Button B to blur the current image in\n" -		"                           any mode (default=1).\n" -		"     --no-blur-ctrl-mask   Don't require CTRL+Button for blurring in\n" -		"                           any mode -- just use the button (default=off).\n" -		"     --no-xinerama         Disable Xinerama support.  Only useful if\n" -		"                           you have Xinerama compiled in.\n" -		"     --screen-clip [0|1]   Enable/disable window clipping based on screen\n" -		"                           size.  WARNING: with this option disabled,\n" -		"                           image windows could become very large, making\n" -		"                           them unmanageable in certain window managers.\n" -		"     --hide-pointer        In full screen mode, hide the X mouse pointer.\n" -		" FORMAT SPECIFIERS\n" -		"                           %%f image path/filename\n" -		"                           %%n image name\n" -		"                           %%s image size (bytes)\n" -		"                           %%p image pixel size\n" -		"                           %%w image width\n" -		"                           %%h image height\n" -		"                           %%t image format\n" -		"                           %%P prints feh\n" -		"                           %%v prints the version\n" -		"                           %%m prints the mode (slideshow, multiwindow...)\n" -		"                           %%l prints the total number of files in the filelist\n" -		"                           %%u prints the current file number\n" -		"                           \\n prints a newline\n" -		"                           Eg. feh -A \"mv %%f ~/images/%%n\" *\n" -		" MONTAGE MODE OPTIONS\n" -		" -X, --ignore-aspect       By default, the montage thumbnails will retain\n" -		"                           their aspect ratios, while fitting in --thumb-width\n" -		"                           and --thumb-height. This option will force them to\n" -		"                           be the size set by --thumb-width and --thumb-height\n" -		"                           This will prevent any whitespace in the final\n" -		"                           montage\n" -		" -s, --stretch             Normally, if an image is smaller than the specified\n" -		"                           thumbnail size, it will not be enlarged. If this\n" -		"                           option is set, the image will be scaled up to fit\n" -		"                           the thumbnail size. (Aspect ratio will be maintained\n" -		"                           unless --ignore-aspect is specified)\n" -		" -y, --thumb-width NUM     Set thumbnail width in pixels\n" -		" -E, --thumb-height NUM    Set thumbnail height in pixels\n" -		"                           Thumbnails default to 20x20 pixels\n" -		" -W, --limit-width NUM     Limit the width of the montage in pixels\n" -		" -H, --limit-height NUM    Limit the height of the montage in pixels\n" -		"                           These options can be used together (to define the\n" -		"                           image size exactly), or separately. If only one is\n" -		"                           specified, theother is calculated from the number\n" -		"                           of files specified and the size of the thumbnails.\n" -		"                           The default is to limit width to 800 pixels and\n" -		"                           calculate the height\n" -		" -b, --bg FILE|trans       Use FILE as a background for your montage. With\n" -		"                           this option specified, the size of the montage will\n" -		"                           default to the size of FILE if no size restrictions\n" -		"                           are specified. Alternatively, if FILE is \"trans\",\n" -		"                           make the background transparent.\n" -		" -a, --alpha NUM           When drawing thumbnails onto the background, apply\n" -		"                           them with a transparency level of NUM (0-255).\n" -		" -o, --output FILE         Save the created montage to FILE\n" -		" -O, --output-only  FILE   Just save the created montage to FILE\n" -		"                           WITHOUT displaying it (use in scripts)\n" -		" INDEX MODE OPTIONS\n" -		" -e, --font FONT           Use FONT to print the information under each\n" -		"                           thumbnail. FONT should be defined in the form\n" -		"                           fontname/size(points). eg -e myfont/12\n" -		" -@, --title-font FONT     Use FONT to print a title on the index, if no\n" -		"                           font is specified, a title will not be printed\n" -		" SLIDESHOW KEYS\n" -		" The default mode for viewing mulitple images is Slideshow mode\n" -		" When viewing a slideshow, the following keys may be used:\n" -		" p, P, <BACKSPACE>, <LEFT>  Goto previous slide\n" -		" n, N, <SPACE>, <RIGHT>     Goto next slide\n" -		" r, R                       Reload image (good for webcams)\n" -		" v, V                       Toggle fullscreen\n" -		" m, M                       Show popup menu\n" -		" c, C                       Caption entry mode. If --caption-path has been\n" -		"                            specified, then this enables caption editing.\n" -		"                            The caption will turn yellow and be editable,\n" -		"                            hit enter to confirm and save the caption, or\n" -		"                            hit escape to cancel and revert the caption.\n" -		" w, W                       Size window to current image dimensions\n" -		" h, H                       Pause the slideshow (only useful when using\n" -		"                            timed reloading or image changes)\n" -		" a, A                       Toggle action display (--draw-actions)\n" -		" d, D                       Toggle filename display (--draw-filename)\n" -		" s, S                       Save current image to unique filename\n" -		" f, F                       Save current filelist to unique filename\n" -		" <, >                       In place editing, rotate 90 degrees right/left\n" -		" <HOME>                     Goto first slide\n" -		" <END>                      Goto last slide\n" -		" <ESCAPE>                   Quit the slideshow\n" -		" +, =                       Increase reload delay\n" -		" -, _                       Decrease reload delay\n" -		" <DELETE>                   Remove the currently viewed file from the filelist\n" -		" <CTRL+DELETE>              Delete the currently viewed file and remove it\n" -		"                            from the filelist\n" -		" x, X                       Close current window\n" -		" q, Q                       Quit the slideshow\n" -		" <KEYPAD LEFT>              Move the image to the left\n" -		" <KEYPAD RIGHT>             Move the image to the right\n" -		" <KEYPAD UP>                Move the image up\n" -		" <KEYPAD DOWN>              Move the image down\n" -		" <KEYPAD BEGIN>             Antialias the image\n" -		" <KEYPAD +>                 Zoom in\n" -		" <KEYPAD ->                 Zoom out\n" -		" <KEYPAD *>                 Zoom to 100%%\n" -		" <KEYPAD />                 Zoom to fit the window\n" -		" <ENTER>,0                  Run action specified by --action option\n" -		" 1-9                        Run action 1-9 specified by --action[1-9] options\n" -		"\n" -		" MOUSE ACTIONS\n" -		" When viewing an image, a click of mouse button 1 moves to the next image\n" -		" (slideshow mode only), a drag of mouse button 1 pans the image, if the\n" -		" viewable window is smaller than the image, button 2 zooms (click and drag\n" -		" left->right to zoom in, right->left to zoom out, click once to restore\n" -		" 1x zoom), and mouse button 3 pans.\n" -		" Ctrl+button 1 blurs or sharpens the image (drag left to blur and right to\n" -		" sharpen).  Ctrl+button 2 rotates the image around the center point.\n" -		" Button 3 activates the context-sensitive menu.  Buttons can be redefined\n" -		" with the -1 through -9 (or --*-button) cmdline flags.  All you people\n" -		" with million button mice can remove the ctrl mask with the --no-*-ctrl-mask\n" -		" options.\n" "\n" -		"See 'man feh' for more detailed information\n" "\n" -		"This program is free software see the file COPYING for licensing info.\n" -		"Copyright Tom Gilbert (and various contributors) 1999-2003\n" -		"Email bugs to <derf@chaosdorf.de>\n"); +"Usage : " PACKAGE " [OPTIONS]... FILES...\n" +" Where a FILE is an image file or a directory.\n" +" Multiple files are supported.\n" +" Urls are supported. They must begin with http:// or ftp:// and you must\n" +" have wget installed to download the files for viewing.\n" +" Options can also be specified in the in the feh configuration file. See\n" +" man feh for more details\n" +" -h, --help                display this help and exit\n" +" -v, --version             output version information and exit\n" +" -V, --verbose             output useful information, progress bars, etc\n" +" -q, --quiet               Don't report non-fatal errors for failed loads\n" +"                           Verbose and quiet modes are not mutually exclusive,\n" +"                           the first controls informational messages, the\n" +"                           second only errors.\n" +" -T, --theme THEME         Load options from config file with name THEME\n" +"                           see man feh for more info.\n" +" -_, --rcfile FILE         Use FILE to parse themes and options from,\n" +"                           instead of the default ~/.fehrc, /etc/fehrc files.\n" +" -r, --recursive           Recursively expand any directories in FILE to\n" +"                           the content of those directories. (Take it easy)\n" +" -z, --randomize           When viewing multiple files in a slideshow,\n" +"                           randomise the file list before displaying\n" +" --no-jump-on-resort       Don't jump to the first image when the filelist\n" +"                           is resorted.\n" +" -g, --geometry STRING     Limit (and don't change) the window size. Takes\n" +"                           an X-style geometry string like 640x480.\n" +"                           Note that larger images will be zoomed out to fit\n" +"                           but you can see them at 1:1 by clicking the zoom\n" +"                           button.\n" +" -f, --filelist FILE       This option is similar to the playlists used by\n" +"                           music software. If FILE exists, it will be read\n" +"                           for a list of files to load, in the order they\n" +"                           appear. The format is a list of image filenames,\n" +"                           absolute or relative to the current directory,\n" +"                           one filename per line.\n" +"                           If FILE doesn't exist, it will be created from the\n" +"                           internal filelist at the end of a viewing session.\n" +"                           This is best used to store the results of complex\n" +"                           sorts (-Spixels for example) for later viewing.\n" +"                           Any changes to the internal filelist (such as\n" +"                           deleting a file or it being pruned for being\n" +"                           unloadable) will be saved to FILE when feh exits.\n" +"                           You can add files to filelists by specifying them\n" +"                           on the commandline when also specifying the list.\n" +" -|, --start-at POSITION   Start at POSITION in the filelist\n" +" -p, --preload             Preload images. This doesn't mean hold them in\n" +"                           RAM, it means run through and eliminate unloadable\n" +"                           images first. Otherwise they will be removed as you\n" +"                           flick through.\n" +" -., --scale-down          Automatically scale down images too big for the\n" +"                           screen. Currently only works with -P\n" +" -F, --full-screen         Make the window fullscreen\n" +" -Z, --auto-zoom           Zoom picture to screen size in fullscreen mode,\n" +"                           is affected by the option --stretch\n" +"     --zoom PERCENT        Zooms images by a PERCENT, when in full screen\n" +"                           mode or when window geometry is fixed. If combined\n" +"                           with --auto-zoom, zooming will be limited to the\n" +"                           the size.\n" +" -w, --multiwindow         Disable slideshow mode. With this setting,\n" +"                           instead of opening multiple files in slideshow\n" +"                           mode, multiple windows will be opened.\n" +" -x, --borderless          Create borderless windows\n" +" -d, --draw-filename       Draw the filename at the top-left of the image.\n" +" -^, --title TITLE         Use TITLE as the window title in slideshow mode.\n" +" -D, --slideshow-delay NUM For slideshow mode, specifies time delay (seconds,\n" +"                           can be a decimal) between automatically changing\n" +"                           slides.\n" +"     --cycle-once          exit feh after one loop through a slideshow\n" +" -R, --reload NUM          Use this option to tell feh to reload an image\n" +"                           after NUM seconds. Useful for viewing webcams\n" +"                           via http, or even on your local machine.\n" +" -Q, --builtin             Use builtin http grabber to grab remote files\n" +"                           instead of wget.\n" +"                           mechanism, useful if don't have wget.\n" +" -k, --keep-http           When viewing files using http, feh normally\n" +"                           deletes the local copies after viewing, or,\n" +"                           if caching, on exit. This option prevents this\n" +"                           so that you get to keep the local copies.\n" +"                           They will be in the current working directory\n" +"                           with \"feh\" in the name.\n" +"     --caption-path PATH   Path to directory containing image captions.\n" +"                           This turns on caption viewing, and if captions\n" +"                           are found in PATH, which is relative to the\n" +"                           directory of each image, they are overlayed\n" +"                           on the displayed image.\n" +"                           e.g with caption path \"captions\", and viewing\n" +"                           image images/foo.jpg, caption will be looked for\n" +"                           as \"images/captions/foo.jpg.txt\"\n" +" -j, --output-dir          Output directory for saved files.  Really only\n" +"                           useful with the -k flag.\n" +" -G, --wget-timestamp      When viewing http images with reload set (eg\n" +"                           webcams), try to only reload the image if the\n" +"                           remote file has changed.\n" +" -l, --list                Don't display images. Analyse them and display an\n" +"                           'ls' style listing. Useful in scripts hunt out\n" +"                           images of a certain size/resolution/type etc.\n" +" -L, --customlist FORMAT   Use FORMAT as the format specifier for list\n" +"                           output. FORMAT is a printf-like string containing\n" +"                           image info specifiers. See FORMAT SPECIFIERS.\n" +" -U, --loadable            Don't display images. Just print out their name\n" +"                           if imlib2 can successfully load them.\n" +" -u, --unloadable          Don't display images. Just print out their name\n" +"                           if imlib2 can NOT successfully load them.\n" +" -S, --sort SORT_TYPE      The file list may be sorted according to image\n" +"                           parameters. Allowed sort types are: name,\n" +"                           filename, width, height, pixels, size, format.\n" +"                           For sort modes other than name or filename, a\n" +"                           preload run will be necessary, causing a delay\n" +"                           proportional to the number of images in the list\n" +" -n, --reverse             Reverse the sort order. Use this to invert the order\n" +"                           of the filelist. Eg to sort in reverse width order,\n" +"                           use -nSwidth\n" +" -A, --action ACTION       Specify a string as an action to perform on the\n" +"                           image. In slideshow or multiwindow modes, the action\n" +"                           in list mode, or loadable|unloadable modes, the\n" +"                           action will be run for each file.\n" +"                           The action will be executed by /bin/sh. Use\n" +"                           format specifiers to refer to image info. See\n" +"                           FORMAT SPECIFIERS for examples\n" +"                           Eg. -A \"mv %%f ~/images/%%n\"\n" +"                           In slideshow mode, the next image will be shown\n" +"                           after running the command, in multiwindow mode,\n" +"                           the window will be closed.\n" +"     --action1 ACTION      These extra action options allow you to specify\n" +"     --action2 ACTION      multiple additional actions which can be invoked\n" +"     ...                   using the appropriate number key 1-9\n" +"     --action9 ACTION\n" +"     --draw-actions        Show the defined actions and what they do\n" +" -m, --montage             Enable montage mode. Montage mode creates a new\n" +"                           image consisting of a grid of thumbnails of the\n" +"                           images specified using FILE... When montage mode\n" +"                           is selected, certain other options become\n" +"                           available. See MONTAGE MODE OPTIONS\n" +" -c, --collage             Same as montage mode, but the thumbnails are\n" +"                           distributed randomly. You must specify width and\n" +"                           height or supply a background image or both\n" +" -i, --index               Enable Index mode. Index mode is similar to\n" +"                           montage mode, and accepts the same options. It\n" +"                           creates an index print of thumbails, printing the\n" +"                           images name beneath each thumbnail. Index mode\n" +"                           enables certain other options, see INDEX MODE\n" +"                           OPTIONS\n" +" -t, --thumbnails          As --index, but clicking an image will open it in\n" +"                           a new viewing window\n" +"     --cache-thumbnails    Enable thumbnail caching\n" +" -~, --thumb-title STRING  Set window title for images opened from thumbnail mode.\n" +"                           Supports format specifiers, see there.\n" +" -I, --fullindex           Same as index mode, but below each thumbnail you\n" +"                           get image name, size and dimensions\n" +"     --index-name BOOL     Show/Don't show filename in index/thumbnail mode\n" +"     --index-size BOOL     Show/Don't show filesize in index/thumbnail mode\n" +"     --index-dim BOOL      Show/Don't show dimensions in index/thumbnail mode\n" +"     --bg-tile FILE\n" +"     --bg-center FILE\n" +"     --bg-scale FILE\n" +"     --bg-fill FILE\n" +"     --bg-seamless FILE    Set your desktop background to FILE. Feh can\n" +"                           use enlightenment IPC if you are running it,\n" +"                           or will fall back to X methods.\n" +"                           Feh stores the commandline necessary to restore\n" +"                           the background you chose in ~/.fehbg. So to have\n" +"                           feh-set backgrounds restored when you restart X,\n" +"                           add the line \"eval `cat $HOME/.fehbg`\" to your\n" +"                           X startup script (e.g. ~/.xsession). Note that\n" +"                           you only need to do this for non E window\n" +"                           managers.\n" +" -C, --fontpath PATH       Specify an extra directory to look in for fonts,\n" +"                           can be used multiple times to add multiple paths.\n" +" -M, --menu-font FONT      Use FONT for the font in menus.\n" +"     --menu-style FILE     Use FILE as the style descriptor for menu text.\n" +" -), --menu-bg BG          Use BG for the background image in menus.\n" +"     --menu-border INT     Specify number of pixels that define the menu\n" +"                           background's border. Borders are not stretched\n" +"                           when images are scaled.\n" +" -B, --image-bg STYLE      Set background for transparent images and the like.\n" +"                           Accepted values: white, black, default\n" +" -N, --no-menus            Don't load or show any menus.\n" +" -0, --reload-button B     Use button B to reload the image (defaults to 0)\n" +" -1, --pan-button B        Use button B pan the image (hold button down, move\n" +"                           the mouse to move the image around. Advancesto the\n" +"                           next image when the mouse is not moved (defaults to\n" +"                           1, usually the left button).\n" +" -2, --zoom-button B       Use button B to zoom the current image in any\n" +"                           mode (defaults to 2, usually the middle button).\n" +" -3, --menu-button B       Use CTRL+Button B to activate the menu in any\n" +"                           mode.  Set to 0 for any button.  This option\n" +"                           is disabled if the -N or --no-menus option is set\n" +"                           (defaults to 3, usually the right button).\n" +"     --menu-ctrl-mask      Require CTRL+Button for menu activation in\n" +"                           any mode (default=off).\n" +" -4, --prev-button B       Use button B to switch to the previous image\n" +"                           (defaults to 4, which usually is <mousewheel up>).\n" +" -5, --next-button B       Use button B to switch to the next image\n" +"                           (defaults to 5, which usually is <mousewheel down>).\n" +" -8, --rotate-button B     Use CTRL+Button B to rotate the current image in\n" +"                           any mode (default=2).\n" +"     --no-rotate-ctrl-mask Don't require CTRL+Button for rotation in\n" +"                           any mode -- just use the button (default=off).\n" +" -9, --blur-button B       Use CTRL+Button B to blur the current image in\n" +"                           any mode (default=1).\n" +"     --no-blur-ctrl-mask   Don't require CTRL+Button for blurring in\n" +"                           any mode -- just use the button (default=off).\n" +"     --no-xinerama         Disable Xinerama support.  Only useful if\n" +"                           you have Xinerama compiled in.\n" +"     --screen-clip [0|1]   Enable/disable window clipping based on screen\n" +"                           size.  WARNING: with this option disabled,\n" +"                           image windows could become very large, making\n" +"                           them unmanageable in certain window managers.\n" +"     --hide-pointer        In full screen mode, hide the X mouse pointer.\n" +" FORMAT SPECIFIERS\n" +"                           %%f image path/filename\n" +"                           %%n image name\n" +"                           %%s image size (bytes)\n" +"                           %%p image pixel size\n" +"                           %%w image width\n" +"                           %%h image height\n" +"                           %%t image format\n" +"                           %%P prints feh\n" +"                           %%v prints the version\n" +"                           %%m prints the mode (slideshow, multiwindow...)\n" +"                           %%l prints the total number of files in the filelist\n" +"                           %%u prints the current file number\n" +"                           \\n prints a newline\n" +"                           Eg. feh -A \"mv %%f ~/images/%%n\" *\n" +" MONTAGE MODE OPTIONS\n" +" -X, --ignore-aspect       By default, the montage thumbnails will retain\n" +"                           their aspect ratios, while fitting in --thumb-width\n" +"                           and --thumb-height. This option will force them to\n" +"                           be the size set by --thumb-width and --thumb-height\n" +"                           This will prevent any whitespace in the final\n" +"                           montage\n" +" -s, --stretch             Normally, if an image is smaller than the specified\n" +"                           thumbnail size, it will not be enlarged. If this\n" +"                           option is set, the image will be scaled up to fit\n" +"                           the thumbnail size. (Aspect ratio will be maintained\n" +"                           unless --ignore-aspect is specified)\n" +" -y, --thumb-width NUM     Set thumbnail width in pixels\n" +" -E, --thumb-height NUM    Set thumbnail height in pixels\n" +"                           Thumbnails default to 20x20 pixels\n" +" -W, --limit-width NUM     Limit the width of the montage in pixels\n" +" -H, --limit-height NUM    Limit the height of the montage in pixels\n" +"                           These options can be used together (to define the\n" +"                           image size exactly), or separately. If only one is\n" +"                           specified, theother is calculated from the number\n" +"                           of files specified and the size of the thumbnails.\n" +"                           The default is to limit width to 800 pixels and\n" +"                           calculate the height\n" +" -b, --bg FILE|trans       Use FILE as a background for your montage. With\n" +"                           this option specified, the size of the montage will\n" +"                           default to the size of FILE if no size restrictions\n" +"                           are specified. Alternatively, if FILE is \"trans\",\n" +"                           make the background transparent.\n" +" -a, --alpha NUM           When drawing thumbnails onto the background, apply\n" +"                           them with a transparency level of NUM (0-255).\n" +" -o, --output FILE         Save the created montage to FILE\n" +" -O, --output-only  FILE   Just save the created montage to FILE\n" +"                           WITHOUT displaying it (use in scripts)\n" +" INDEX MODE OPTIONS\n" +" -e, --font FONT           Use FONT to print the information under each\n" +"                           thumbnail. FONT should be defined in the form\n" +"                           fontname/size(points). eg -e myfont/12\n" +" -@, --title-font FONT     Use FONT to print a title on the index, if no\n" +"                           font is specified, a title will not be printed\n" +" SLIDESHOW KEYS\n" +" The default mode for viewing mulitple images is Slideshow mode\n" +" When viewing a slideshow, the following keys may be used:\n" +" p, P, <BACKSPACE>, <LEFT>  Goto previous slide\n" +" n, N, <SPACE>, <RIGHT>     Goto next slide\n" +" r, R                       Reload image (good for webcams)\n" +" v, V                       Toggle fullscreen\n" +" m, M                       Show popup menu\n" +" c, C                       Caption entry mode. If --caption-path has been\n" +"                            specified, then this enables caption editing.\n" +"                            The caption will turn yellow and be editable,\n" +"                            hit enter to confirm and save the caption, or\n" +"                            hit escape to cancel and revert the caption.\n" +" w, W                       Size window to current image dimensions\n" +" h, H                       Pause the slideshow (only useful when using\n" +"                            timed reloading or image changes)\n" +" a, A                       Toggle action display (--draw-actions)\n" +" d, D                       Toggle filename display (--draw-filename)\n" +" s, S                       Save current image to unique filename\n" +" f, F                       Save current filelist to unique filename\n" +" <, >                       In place editing, rotate 90 degrees right/left\n" +" <HOME>                     Goto first slide\n" +" <END>                      Goto last slide\n" +" <ESCAPE>                   Quit the slideshow\n" +" +, =                       Increase reload delay\n" +" -, _                       Decrease reload delay\n" +" <DELETE>                   Remove the currently viewed file from the filelist\n" +" <CTRL+DELETE>              Delete the currently viewed file and remove it\n" +"                            from the filelist\n" +" x, X                       Close current window\n" +" q, Q                       Quit the slideshow\n" +" <KEYPAD LEFT>              Move the image to the left\n" +" <KEYPAD RIGHT>             Move the image to the right\n" +" <KEYPAD UP>                Move the image up\n" +" <KEYPAD DOWN>              Move the image down\n" +" <KEYPAD BEGIN>             Antialias the image\n" +" <KEYPAD +>                 Zoom in\n" +" <KEYPAD ->                 Zoom out\n" +" <KEYPAD *>                 Zoom to 100%%\n" +" <KEYPAD />                 Zoom to fit the window\n" +" <ENTER>,0                  Run action specified by --action option\n" +" 1-9                        Run action 1-9 specified by --action[1-9] options\n" +"\n" +" MOUSE ACTIONS\n" +" When viewing an image, a click of mouse button 1 moves to the next image\n" +" (slideshow mode only), a drag of mouse button 1 pans the image, if the\n" +" viewable window is smaller than the image, button 2 zooms (click and drag\n" +" left->right to zoom in, right->left to zoom out, click once to restore\n" +" 1x zoom), and mouse button 3 pans.\n" +" Ctrl+button 1 blurs or sharpens the image (drag left to blur and right to\n" +" sharpen).  Ctrl+button 2 rotates the image around the center point.\n" +" Button 3 activates the context-sensitive menu.  Buttons can be redefined\n" +" with the -1 through -9 (or --*-button) cmdline flags.  All you people\n" +" with million button mice can remove the ctrl mask with the --no-*-ctrl-mask\n" +" options.\n" "\n" +"See 'man feh' for more detailed information\n" "\n" +"This program is free software see the file COPYING for licensing info.\n" +"Copyright Tom Gilbert (and various contributors) 1999-2003\n" +"Email bugs to <derf@chaosdorf.de>\n");  	exit(0);  } @@ -1147,81 +1153,82 @@ void feh_create_default_config(char *rcfile)  	}  	fprintf(fp, -		"# Feh configuration file.\n" -		"# Lines starting with # are comments. Don't use comments mid-line.\n" -		"\n" -		"# Feh expects to find this as ~/.fehrc or /etc/fehrc\n" -		"# If both are available, ~/.fehrc will be used\n" -		"\n" -		"# Options are defined in theme_name/options pairs.\n" -		"# Separate themename and options by whitespace.\n" -		"\n" -		"# There are two ways of specifying the theme. Either use feh -Tthemename,\n" -		"# or use a symbolic link to feh with the name of the theme. eg\n" -		"# ln -s `which feh` ~/bin/mkindex\n" -		"# Now when you run 'mkindex', feh will load the config specified for the\n" -		"# mkindex theme.\n" -		"\n" -		"# ======================\n" -		"# Some examples of usage\n" -		"# ======================\n" -		"\n" -		"# Set the default feh options to be recursive and verbose\n" -		"# feh -rV\n" -		"\n" -		"# Multiple options can of course be used. They should all be on one line\n" -		"# imagemap -rV --quiet -W 400 -H 300 --thumb-width 40 --thumb-height 30\n" -		"\n" -		"# ====================\n" -		"# A few default themes\n" -		"# ====================\n" -		"\n" -		"# Webcam mode, simply specify the url(s).\n" -		"# e.g. feh -Twebcam http://cam1 http://cam2\n" -		"webcam --multiwindow --reload 20\n" -		"\n" -		"# Create an index of the current directory. This version uses . as the\n" -		"# current dir, so you don't even need any commandline arguments.\n" -		"mkindex -iVO index.jpg .\n" -		"\n" -		"# More ambitious version...\n" -		"imgidx -iVO .fehindex.jpg --limit-width 1200 --thumb-width 90 --thumb-height 90 .\n" -		"\n" -		"# Show a presentation\n" -		"present --full-screen --sort name\n" -		"\n" -		"# Booth mode ;-)\n" -		"booth --full-screen --hide-pointer --slideshow-delay 20\n" -		"\n" -		"# Screw xscreensaver, use feh =)\n" -		"screensave --full-screen --randomize --slideshow-delay 5\n" -		"\n" -		"# Add <img> tags to your html with ease :-)\n" -		"newimg -q -L \"<img src=\\\"%%f\\\" alt=\\\"%%n\\\" border=\\\"0\\\" width=\\\"%%w\\\" height=\\\"%%h\\\">\"\n" -		"\n" -		"# Different menus\n" -		"chrome --menu-bg " -		PREFIX "/share/feh/images/menubg_chrome.png\n" -		"brushed --menu-bg " -		PREFIX "/share/feh/images/menubg_brushed.png\n" -		"pastel --menu-bg " -		PREFIX "/share/feh/images/menubg_pastel.png\n" -		"aluminium --menu-bg " -		PREFIX "/share/feh/images/menubg_aluminium.png\n" -		"wood --menu-bg " -		PREFIX "/share/feh/images/menubg_wood.png\n" -		"aqua --menu-bg " -		PREFIX "/share/feh/images/menubg_aqua.png\n" -		"sky --menu-bg " -		PREFIX "/share/feh/images/menubg_sky.png\n" -		"orange --menu-bg " -		PREFIX "/share/feh/images/menubg_orange.png\n" -		"light --menu-bg " -		PREFIX "/share/feh/images/menubg_light.png\n" -		"black --menu-bg " -		PREFIX "/share/feh/images/menubg_black.png" -		" --menu-style " -		PREFIX "/share/feh/fonts/black.style\n"); +"# Feh configuration file.\n" +"# Lines starting with # are comments. Don't use comments mid-line.\n" +"\n" +"# Feh expects to find this as ~/.fehrc or /etc/fehrc\n" +"# If both are available, ~/.fehrc will be used\n" +"\n" +"# Options are defined in theme_name/options pairs.\n" +"# Separate themename and options by whitespace.\n" +"\n" +"# There are two ways of specifying the theme. Either use feh -Tthemename,\n" +"# or use a symbolic link to feh with the name of the theme. eg\n" +"# ln -s `which feh` ~/bin/mkindex\n" +"# Now when you run 'mkindex', feh will load the config specified for the\n" +"# mkindex theme.\n" +"\n" +"# ======================\n" +"# Some examples of usage\n" +"# ======================\n" +"\n" +"# Set the default feh options to be recursive and verbose\n" +"# feh -rV\n" +"\n" +"# Multiple options can of course be used. They should all be on one line\n" +"# imagemap -rV --quiet -W 400 -H 300 --thumb-width 40 --thumb-height 30\n" +"\n" +"# ====================\n" +"# A few default themes\n" +"# ====================\n" +"\n" +"# Webcam mode, simply specify the url(s).\n" +"# e.g. feh -Twebcam http://cam1 http://cam2\n" +"webcam --multiwindow --reload 20\n" +"\n" +"# Create an index of the current directory. This version uses . as the\n" +"# current dir, so you don't even need any commandline arguments.\n" +"mkindex -iVO index.jpg .\n" +"\n" +"# More ambitious version...\n" +"imgidx -iVO .fehindex.jpg --limit-width 1200 --thumb-width 90 --thumb-height 90 .\n" +"\n" +"# Show a presentation\n" +"present --full-screen --sort name\n" +"\n" +"# Booth mode ;-)\n" +"booth --full-screen --hide-pointer --slideshow-delay 20\n" +"\n" +"# Screw xscreensaver, use feh =)\n" +"screensave --full-screen --randomize --slideshow-delay 5\n" +"\n" +"# Add <img> tags to your html with ease :-)\n" +"newimg -q -L \"<img src=\\\"%%f\\\" alt=\\\"%%n\\\" border=\\\"0\\\" " +"width=\\\"%%w\\\" height=\\\"%%h\\\">\"\n" +"\n" +"# Different menus\n" +"chrome --menu-bg " +PREFIX "/share/feh/images/menubg_chrome.png\n" +"brushed --menu-bg " +PREFIX "/share/feh/images/menubg_brushed.png\n" +"pastel --menu-bg " +PREFIX "/share/feh/images/menubg_pastel.png\n" +"aluminium --menu-bg " +PREFIX "/share/feh/images/menubg_aluminium.png\n" +"wood --menu-bg " +PREFIX "/share/feh/images/menubg_wood.png\n" +"aqua --menu-bg " +PREFIX "/share/feh/images/menubg_aqua.png\n" +"sky --menu-bg " +PREFIX "/share/feh/images/menubg_sky.png\n" +"orange --menu-bg " +PREFIX "/share/feh/images/menubg_orange.png\n" +"light --menu-bg " +PREFIX "/share/feh/images/menubg_light.png\n" +"black --menu-bg " +PREFIX "/share/feh/images/menubg_black.png" +" --menu-style " +PREFIX "/share/feh/fonts/black.style\n");  	fclose(fp);  	D_RETURN_(4); diff --git a/src/thumbnail.c b/src/thumbnail.c index d317ac7..7c5dad3 100644 --- a/src/thumbnail.c +++ b/src/thumbnail.c @@ -99,7 +99,8 @@ void init_thumbnail_mode(void)  		int fh, fw;  		td.font_title = gib_imlib_load_font(opt.title_font); -		gib_imlib_get_text_size(td.font_title, "W", NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +		gib_imlib_get_text_size(td.font_title, "W", NULL, &fw, &fh, +				IMLIB_TEXT_TO_RIGHT);  		title_area_h = fh + 4;  	} else  		td.font_title = imlib_load_font(DEFAULT_FONT_TITLE); @@ -108,9 +109,11 @@ void init_thumbnail_mode(void)  		eprintf("Error loading fonts");  	/* Work out how tall the font is */ -	gib_imlib_get_text_size(td.font_main, "W", NULL, &tw, &th, IMLIB_TEXT_TO_RIGHT); +	gib_imlib_get_text_size(td.font_main, "W", NULL, &tw, &th, +			IMLIB_TEXT_TO_RIGHT);  	/* For now, allow room for the right number of lines with small gaps */ -	td.text_area_h = ((th + 2) * (opt.index_show_name + opt.index_show_size + opt.index_show_dim)) + 5; +	td.text_area_h = ((th + 2) * (opt.index_show_name + opt.index_show_size + +				opt.index_show_dim)) + 5;  	/* This includes the text area for index data */  	td.thumb_tot_h = opt.thumb_h + td.text_area_h; @@ -143,13 +146,16 @@ void init_thumbnail_mode(void)  	if (td.im_bg)  		gib_imlib_blend_image_onto_image(td.im_main, td.im_bg,  						 gib_imlib_image_has_alpha -						 (td.im_bg), 0, 0, td.bg_w, td.bg_h, 0, 0, td.w, td.h, 1, 0, 0); +						 (td.im_bg), 0, 0, td.bg_w, td.bg_h, 0, 0, +						 td.w, td.h, 1, 0, 0);  	else if (trans_bg) { -		gib_imlib_image_fill_rectangle(td.im_main, 0, 0, td.w, td.h + title_area_h, 0, 0, 0, 0); +		gib_imlib_image_fill_rectangle(td.im_main, 0, 0, td.w, +				td.h + title_area_h, 0, 0, 0, 0);  		gib_imlib_image_set_has_alpha(td.im_main, 1);  	} else {  		/* Colour the background */ -		gib_imlib_image_fill_rectangle(td.im_main, 0, 0, td.w, td.h + title_area_h, 0, 0, 0, 255); +		gib_imlib_image_fill_rectangle(td.im_main, 0, 0, td.w, +				td.h + title_area_h, 0, 0, 0, 255);  	}  	/* Create title now */ @@ -210,7 +216,8 @@ void init_thumbnail_mode(void)  				hhh = hh;  			} -			im_thumb = gib_imlib_create_cropped_scaled_image(im_temp, 0, 0, ww, hh, www, hhh, 1); +			im_thumb = gib_imlib_create_cropped_scaled_image(im_temp, 0, 0, +					ww, hh, www, hhh, 1);  			gib_imlib_free_image_and_decache(im_temp);  			if (opt.alpha) { @@ -226,22 +233,22 @@ void init_thumbnail_mode(void)  			td.text_area_w = opt.thumb_w;  			/* Now draw on the info text */  			if (opt.index_show_name) { -				gib_imlib_get_text_size(td.font_main, -							file->name, NULL, &fw_name, &fh, IMLIB_TEXT_TO_RIGHT); +				gib_imlib_get_text_size(td.font_main, file->name, NULL, +						&fw_name, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw_name > td.text_area_w)  					td.text_area_w = fw_name;  			}  			if (opt.index_show_dim) {  				gib_imlib_get_text_size(td.font_main, -							create_index_dimension_string -							(ww, hh), NULL, &fw_dim, &fh, IMLIB_TEXT_TO_RIGHT); +							create_index_dimension_string(ww, hh), +							NULL, &fw_dim, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw_dim > td.text_area_w)  					td.text_area_w = fw_dim;  			}  			if (opt.index_show_size) {  				gib_imlib_get_text_size(td.font_main, -							create_index_size_string -							(file->filename), NULL, &fw_size, &fh, IMLIB_TEXT_TO_RIGHT); +							create_index_size_string(file->filename), +							NULL, &fw_size, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw_size > td.text_area_w)  					td.text_area_w = fw_size;  			} @@ -287,38 +294,36 @@ void init_thumbnail_mode(void)  							 gib_imlib_image_has_alpha  							 (im_thumb), 0, 0,  							 www, hhh, xxx, -							 yyy, www, hhh, 1, gib_imlib_image_has_alpha(im_thumb), 0); +							 yyy, www, hhh, 1, +							 gib_imlib_image_has_alpha(im_thumb), 0); -			thumbnails = gib_list_add_front(thumbnails, feh_thumbnail_new(file, xxx, yyy, www, hhh)); +			thumbnails = gib_list_add_front(thumbnails, +					feh_thumbnail_new(file, xxx, yyy, www, hhh));  			gib_imlib_free_image_and_decache(im_thumb);  			lines = 0;  			if (opt.index_show_name)  				gib_imlib_text_draw(td.im_main, -						    td.font_main, NULL, -						    x + x_offset_name, -						    y + opt.thumb_h + -						    (lines++ * (th + 2)) + -						    2, file->name, IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255); +						td.font_main, NULL, +						x + x_offset_name, +						y + opt.thumb_h + (lines++ * (th + 2)) + 2, +						file->name, IMLIB_TEXT_TO_RIGHT, +						255, 255, 255, 255);  			if (opt.index_show_dim)  				gib_imlib_text_draw(td.im_main, -						    td.font_main, NULL, -						    x + x_offset_dim, -						    y + opt.thumb_h + -						    (lines++ * (th + 2)) + -						    2, -						    create_index_dimension_string -						    (ww, hh), IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255); +						td.font_main, NULL, +						x + x_offset_dim, +						y + opt.thumb_h + (lines++ * (th + 2)) + 2, +						create_index_dimension_string(ww, hh), +						IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255);  			if (opt.index_show_size)  				gib_imlib_text_draw(td.im_main, -						    td.font_main, NULL, -						    x + x_offset_size, -						    y + opt.thumb_h + -						    (lines++ * (th + 2)) + -						    2, -						    create_index_size_string -						    (file->filename), IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255); +						td.font_main, NULL, +						x + x_offset_size, +						y + opt.thumb_h + (lines++ * (th + 2)) + 2, +						create_index_size_string(file->filename), +						IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255);  			if (td.vertical)  				y += td.thumb_tot_h; @@ -343,11 +348,12 @@ void init_thumbnail_mode(void)  		char *s;  		s = create_index_title_string(thumbnailcount, td.w, td.h); -		gib_imlib_get_text_size(td.font_title, s, NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +		gib_imlib_get_text_size(td.font_title, s, NULL, &fw, &fh, +				IMLIB_TEXT_TO_RIGHT);  		fx = (index_image_width - fw) >> 1;  		fy = index_image_height - fh - 2;  		gib_imlib_text_draw(td.im_main, td.font_title, NULL, fx, -				    fy, s, IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255); +				fy, s, IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255);  	}  	if (opt.output && opt.output_file) { @@ -365,7 +371,8 @@ void init_thumbnail_mode(void)  			th = gib_imlib_image_get_height(td.im_main);  			fprintf(stdout, PACKAGE " - File saved as %s\n", output_buf);  			fprintf(stdout, -				"    - Image is %dx%d pixels and contains %d thumbnails\n", tw, th, thumbnailcount); +					"    - Image is %dx%d pixels and contains %d thumbnails\n", +					tw, th, thumbnailcount);  		}  	} @@ -500,21 +507,20 @@ void feh_thumbnail_mark_removed(feh_file * file, int deleted)  		if (w) {  			td.font_main = imlib_load_font(DEFAULT_FONT_TITLE);  			if (deleted) -				gib_imlib_image_fill_rectangle(w->im, -							       thumb->x, thumb->y, thumb->w, thumb->h, 255, 0, 0, 150); +				gib_imlib_image_fill_rectangle(w->im, thumb->x, thumb->y, +						thumb->w, thumb->h, 255, 0, 0, 150);  			else -				gib_imlib_image_fill_rectangle(w->im, -							       thumb->x, thumb->y, thumb->w, thumb->h, 0, 0, 255, 150); +				gib_imlib_image_fill_rectangle(w->im, thumb->x, thumb->y, +						thumb->w, thumb->h, 0, 0, 255, 150);  			if (td.font_main) {  				int tw, th; -				gib_imlib_get_text_size(td.font_main, "X", NULL, &tw, &th, IMLIB_TEXT_TO_RIGHT); -				gib_imlib_text_draw(w->im, td.font_main, -						    NULL, -						    thumb->x + -						    ((thumb->w - tw) / 2), -						    thumb->y + -						    ((thumb->h - th) / 2), "X", IMLIB_TEXT_TO_RIGHT, 205, 205, 50, 255); +				gib_imlib_get_text_size(td.font_main, "X", NULL, &tw, &th, +						IMLIB_TEXT_TO_RIGHT); +				gib_imlib_text_draw(w->im, td.font_main, NULL, +						thumb->x + ((thumb->w - tw) / 2), +						thumb->y + ((thumb->h - th) / 2), "X", +						IMLIB_TEXT_TO_RIGHT, 205, 205, 50, 255);  			} else  				weprintf(DEFAULT_FONT_TITLE);  			winwidget_render_image(w, 0, 1); @@ -573,21 +579,22 @@ void feh_thumbnail_calculate_geometry(void)  			file = FEH_FILE(l->data);  			td.text_area_w = opt.thumb_w;  			if (opt.index_show_name) { -				gib_imlib_get_text_size(td.font_main, file->name, NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +				gib_imlib_get_text_size(td.font_main, file->name, NULL, +						&fw, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw > td.text_area_w)  					td.text_area_w = fw;  			}  			if (opt.index_show_dim) {  				gib_imlib_get_text_size(td.font_main, -							create_index_dimension_string -							(1000, 1000), NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +						create_index_dimension_string(1000, 1000), +						NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw > td.text_area_w)  					td.text_area_w = fw;  			}  			if (opt.index_show_size) {  				gib_imlib_get_text_size(td.font_main, -							create_index_size_string -							(file->filename), NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +						create_index_size_string(file->filename), +						NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw > td.text_area_w)  					td.text_area_w = fw;  			} @@ -620,21 +627,22 @@ void feh_thumbnail_calculate_geometry(void)  			td.text_area_w = opt.thumb_w;  			/* Calc width of text */  			if (opt.index_show_name) { -				gib_imlib_get_text_size(td.font_main, file->name, NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +				gib_imlib_get_text_size(td.font_main, file->name, NULL, +						&fw, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw > td.text_area_w)  					td.text_area_w = fw;  			}  			if (opt.index_show_dim) {  				gib_imlib_get_text_size(td.font_main, -							create_index_dimension_string -							(1000, 1000), NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +							create_index_dimension_string(1000, 1000), +							NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw > td.text_area_w)  					td.text_area_w = fw;  			}  			if (opt.index_show_size) {  				gib_imlib_get_text_size(td.font_main, -							create_index_size_string -							(file->filename), NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +							create_index_size_string(file->filename), +							NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw > td.text_area_w)  					td.text_area_w = fw;  			} @@ -662,21 +670,22 @@ void feh_thumbnail_calculate_geometry(void)  			file = FEH_FILE(l->data);  			td.text_area_w = opt.thumb_w;  			if (opt.index_show_name) { -				gib_imlib_get_text_size(td.font_main, file->name, NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +				gib_imlib_get_text_size(td.font_main, file->name, NULL, +						&fw, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw > td.text_area_w)  					td.text_area_w = fw;  			}  			if (opt.index_show_dim) {  				gib_imlib_get_text_size(td.font_main, -							create_index_dimension_string -							(1000, 1000), NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +						create_index_dimension_string(1000, 1000), +						NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw > td.text_area_w)  					td.text_area_w = fw;  			}  			if (opt.index_show_size) {  				gib_imlib_get_text_size(td.font_main, -							create_index_size_string -							(file->filename), NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT); +						create_index_size_string(file->filename), +						NULL, &fw, &fh, IMLIB_TEXT_TO_RIGHT);  				if (fw > td.text_area_w)  					td.text_area_w = fw;  			} @@ -785,7 +794,8 @@ char *feh_thumbnail_get_name_md5(char *uri)  	return md5_name;  } -int feh_thumbnail_generate(Imlib_Image * image, feh_file * file, char *thumb_file, char *uri) +int feh_thumbnail_generate(Imlib_Image * image, feh_file * file, +		char *thumb_file, char *uri)  {  	int w, h, thumb_w, thumb_h;  	char *c_mtime; @@ -806,12 +816,14 @@ int feh_thumbnail_generate(Imlib_Image * image, feh_file * file, char *thumb_fil  				thumb_w = 128 * ratio;  		} -		*image = gib_imlib_create_cropped_scaled_image(im_temp, 0, 0, w, h, thumb_w, thumb_h, 1); +		*image = gib_imlib_create_cropped_scaled_image(im_temp, 0, 0, w, h, +				thumb_w, thumb_h, 1);  		if (!stat(file->filename, &sb)) {  			char c_mtime[256];  			sprintf(c_mtime, "%d", sb.st_mtime); -			feh_png_write_png(*image, thumb_file, "Thumb::URI", uri, "Thumb::MTime", c_mtime); +			feh_png_write_png(*image, thumb_file, "Thumb::URI", uri, +					"Thumb::MTime", c_mtime);  		}  		gib_imlib_free_image_and_decache(im_temp); | 
