#compdef feh
## completion for feh 1.6, based on feh(1)
typeset -a arguments
typeset -A argument_pairs argument_postfix
typeset arg
argument_pairs=(
'help' 'h'
'version' 'v'
'verbose' 'V'
'quiet' 'q'
'theme' 'T+'
'recursive' 'r'
'randomize' 'z'
'filelist' 'f+'
'preload' 'p'
'full-screen' 'F'
'geometry' 'g+'
'auto-zoom' 'Z'
'multiwindow' 'w'
'borderless' 'x'
'draw-filename' 'd'
'slideshow-delay' 'D+'
'reload' 'R+'
'keep-http' 'k'
'builtin' 'Q'
'list' 'l'
'customlist' 'L+'
'loadable' 'U'
'unloadable' 'u'
'sort' 'S+'
'reverse' 'n'
'action' 'A+'
'montage' 'm'
'collage' 'c'
'index' 'i'
'fullindex' 'I'
'thumbnails' 't'
'menu-font' 'M+'
'no-menus' 'N'
'reload-button' '0'
'menu-button' '3+'
'prev-button' '4+'
'next-button' '5+'
'rotate-button' '8+'
'blur-button' '9+'
'ignore-aspect' 'X'
'stretch' 's'
'thumb-width' 'y+'
'thumb-height' 'E+'
'limit-width' 'W+'
'limit-height' 'H+'
'bg' 'b+'
'alpha' 'a+'
'font' 'e+'
'scale-down' '.'
'output-dir' 'j+'
'wget-timestamp' 'G'
'fontpath' 'C+'
'image-bg' 'B+'
'output' 'o'
'output-only' 'O'
'rcfile' '_'
'thumb-title' '~'
'title' '^'
'start-at' '|'
'title-font' '@'
)
argument_postfix=(
'help' '[show help]'
'version' '[show version information]'
'verbose' '[be verbose]'
'quiet' '[suppress non-fatal errors]'
'theme' '[load named options from config]:theme:_feh_theme'
'recursive' '[recurse into subdirectories]'
'randomize' '[randomize file list before displaying]'
'filelist' '[read file list from this file]:file:_files'
'preload' '[eliminate unlaodable images before displaying]'
'full-screen' '[make the window fullscreen]'
'geometry' '[limit window size]:geometry: '
'auto-zoom' '[zoom picture to screen size]'
'multiwindow' '[multiple windows, one image per window]'
'borderless' '[borderless windows]'
'draw-filename' '[show filename in images]'
'reload' '[time delay for reloading]:time: '
'keep-http' "[don't delete cached files]"
'builtin' '[use builtin http client]'
'list' '[list images, their size, etc.]'
'customlist' '[format list output]:format: '
'loadable' '[print loadable images]'
'unloadable' '[print unloadable images]'
'sort' '[sort images]:sort type:(name filename width height pixels size format)'
'reverse' '[reverse sort order]'
'action' '[action to perform on each image]:shell: '
'montage' '[enable montage mode]'
'collage' '[enable collage mode]'
'index' '[enable index mode]'
'fullindex' '[enable verbose index mode]'
'thumbnails' '[enable interactive index mode]'
'menu-font' '[set font in menus]:font: '
'no-menus' "[don't load or show any menus]"
'reload-button' '[button to reload image]:button:_feh_button'
'pan-button' '[button to pan image]:button:_feh_button'
'zoom-button' '[button to zoom image]:button:_feh_button'
'menu-button' '[button to activate menu]:button:_feh_button'
'prev-button' '[button to go to previous image]:button:_feh_button'
'next-button' '[button to go to next image]:button:_feh_button'
'rotate-button' '[Ctrl+Button to rotate image]:button:_feh_button'
'blur-button' '[Ctrl+Button tu blur image]:button:_feh_button'
'ignore-aspect' "[montage mode: Don't preserve aspect ratio]"
'stretch' '[montage mode: Enlarge images to fit thumbnail size]'
'thumb-width' '[montage mode: Thumbnail width]:pixels: '
'thumb-height' '[montage mode: Thumbnail height]:pixels: '
'limit-width' '[montage mode: Limit montage width]:pixels: '
'limit-height' '[montage mode: Limit montage heihgt]:pixels: '
'bg' '[montage mode: Background image]:file:_files'
'alpha' '[montage mode: Thumbnail transparency level]:integer: '
'font' '[index mode: Thumbnail info font]:font: '
'slideshow-delay' '[slide change delay]:seconds'
'scale-down' '[scale down images which are too big]'
'output-dir' '[save files to DIR (with -k)]:directory:_files -/'
'wget-timestamp' '[add no timestamp ("?123") to URLs]'
'fontpath' '[add paths to font path]:font path:_files -/'
'image-bg' '[set transparent image background]:background:(white black default)'
'output' '[montage mode: Output file]:file:_files'
'output-only' "[montage mode: Output file, don't display montage]:file: files"
'rcfile' '[specify config file]:file:_files'
'thumb-title' '[window title in thumbnail mode]:format string'
'title' '[window title in slideshow mode]:format string'
'start-at' '[start slideshow at]:file:_files'
'title-font' '[title font for index mode]:font'
)
arguments=(
'--zoom[zoom images]:percent: '
'--caption-path[where to look for image captions]:relative directory: '
--action{1..9}':shell: '
'--bg-tile[set tiled desktop background]:file:_files'
'--bg-center[set centered desktop background]:file:_files'
'--bg-scale[set scaled desktop background]:file:_files'
'--bg-seamless[set desktop background with seamless borders]:file:_files'
'--bg-fill[set scaled desktop background, preserving aspect ratio]:file:_files'
'--menu-style[style descriptor for menu text]:file:_files'
'--menu-border[set menu background border]:integer: '
'--menu-ctrl-mask[use Ctrl+Button to display menu]'
'--no-rotate-ctrl-mask[don'\''t require Ctrl for the rotate button]'
'--no-blur-ctrl-mask[don'\''t require Ctrl for the blur button]'
'--no-xinerama[disable xinerama support]'
'--screen-clip[toggle window clipping]'
'--hide-pointer[hide mouse pointer in fullscreen mode]'
'*--fontpath[index mode: directory to search for fonts]:directory:_path_files -/'
'--index-name[show image name in index/thumbnail mode]:bool:(0 1)'
'--index-size[show image size in index/thumbnail mode]:bool:(0 1)'
'--index-dim[show image dimensions in index/thumbnail mode]:bool:(0 1)'
'--no-jump-on-resort[stay at current image after resorting the filelist]'
'--cycle-once[quit after one loop through the slideshow]'
'--draw-actions[draw defined actions]'
'--cache-thumbnails[enable thumbnail caching]'
'--menu-bg[background image in menus]: :_feh_background'
'--thumb-redraw[set thumbnail image redraw frequency]:digit'
'*:file:_files'
)
for arg in ${(k)argument_pairs}; {
arguments+='(--'${arg}')-'${argument_pairs[$arg]}${argument_postfix[$arg]}
arguments+='(-'${argument_pairs[$arg]}[1]')--'${arg}${argument_postfix[$arg]}
}
function _feh_theme {
if [[ -r ~/.fehrc ]]; then
typeset -a themes tmp
typeset theme IFS=$'\n'
for theme in $(grep "\w" ~/.fehrc | grep -v "^#"); do
tmp=(${(s: :)theme})
theme=${tmp[1]}
shift tmp
themes+=${theme}:${(j: :)tmp}
done
_describe 'theme' themes
fi
}
function _feh_button {
typeset expl
_wanted button expl button \
compadd {0..5}
}
function _feh_background {
_alternative \
'file:file:_files' \
'mode:mode:(trans)'
}
_arguments -s ${arguments}
Copyright 2K16 - 2K18 Indonesian Hacker Rulez