1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
|
#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 unloadable 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 height]: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}
|