Files
feh/_feh
Avindra Goolcharan 6d1f7c671d Accepting request 986815 from home:iDesmI:Wayland
- Update to version 3.9:
  * Remove magic byte check before passing an image to Imlib2.
    This check was introduced in feh 3.6 to work around an issue with
    Imlib2 being slow to determine image loadability in some cases
    <https://phab.enlightenment.org/T8739>. By now, an Imlib2 version
    without this issue is availble.
  * Fix crash (segmentation fault due to null pointer dereference)
    when toggling fullscreen mode while moving the cursor.
  * feh no longer supplies its own getopt_long function.
    getopt_long is provided by a wide range of libc implementations,
    so there is no need for feh to duplicate it.
- Add zsh completion

OBS-URL: https://build.opensuse.org/request/show/986815
OBS-URL: https://build.opensuse.org/package/show/X11:Utilities/feh?expand=0&rev=120
2022-07-10 18:55:36 +00:00

128 lines
6.0 KiB
Plaintext

#compdef feh
## completion for feh 3.0, based on feh(1)
function _feh_theme {
[[ -r ~/.config/feh/themes ]] || return
typeset -a themes
typeset -i cont=0
typeset cur_theme cur_desc
while read theme_name theme_options; do
if [[ ${theme_name} == '#'* ]] {
continue
}
if (( ! ${#theme_name} && ! ${#theme_options} )) {
continue
}
themes+="${theme_name}:${theme_options}"
done < ~/.config/feh/themes
_describe 'theme' themes
}
function _feh_button {
typeset expl
_wanted button expl button \
compadd {0..5}
}
function _feh_background {
_alternative \
'file:file:_files' \
'mode:mode:(trans)'
}
function _feh {
_arguments -s -S \
'(--action -A)'{-A,--action}'[action to perform on images]:shell command:_cmdstring' \
--action{1..9}'[additional action]:shell command:_cmdstring' \
'--auto-rotate[automatically rotate images based on EXIF data]' \
'(--auto-zoom -Z)'{-Z,--auto-zoom}'[zoom pictures to screen]' \
'(--borderless -x)'{-x,--borderless}'[create borderless windows]' \
'--cache-size[Imlib2 in-memory cache size]:cache size in MiB' \
'(--cache-thumbnails -P)'{--cache-thumbnails,-P}'[cache thumbnails]' \
'(--caption-path -K)'{--caption-path,-K+}'[enable caption mode]:caption directory:_files -/' \
'--conversion-timeout[set ImageMagick conversion timeout for unlodable files]:timeout in seconds (-1 to disable)' \
'(--customlist -L)'{--customlist,-L}'[custom list mode]:feh format string' \
'(--draw-actions -G)'{--draw-actions,-G}'[show defined actions]' \
'--draw-exif[show EXIF data]' \
'(--draw-filename -d)'{--draw-filename,-d}'[show filename]' \
'--draw-tinted[show overlay texts on tinted background]' \
'--edit[change files in-place when using rotate and mirror keys]' \
'(--filelist -f)'{--filelist,-f}'[load from/save to filelist]:filelist:_files' \
'(--font -e)'{--font,-e+}'[set global font]:font' \
'(--fontpath -C)'{--fontpath,-C+}'[set font path]:font path:_files -/' \
'--force-aliasing[disable antialiasing]' \
'(--fullindex -I)'{--fullindex,-I}'[index mode with additional information]' \
'(--fullscreen -F)'{--fullscreen,-F}'[start in fullscreen mode]' \
'(--geometry -g)'{--geometry,-g+}'[set window geometry]:WxH[+X+Y]' \
'(--hide-pointer -Y)'{--hide-pointer,-Y}'[hide pointer]' \
'(--image-bg -B)'{--image-bg,-B+}'[set image background]:background style or X11 colour:(default checks)' \
'(--index -i)'{--index,-i}'[index mode]' \
'--index-info[image info for thumbnail/index mode]:format string' \
'--info[filo info command]:shell command:_cmdstring' \
'--insecure[disable HTTPS certificate checks]' \
'(--keep-http -k)'{--keep-http,-k}'[keep cached HTTP files]' \
'--keep-zoom-vp[keep zoom and viewport when switching images]' \
'(--list -l)'{--list,-l}'[list mode]' \
'(--loadable -U)'{--loadable,-U}'[list loadable images]' \
'--max-dimension[set maximum image dimensions]:WxH' \
'(--menu-font -M)'{--menu-font,-M+}'[set menu font]:menu font' \
'--min-dimension[set minimum image dimensions]:WxH' \
'(--montage -m)'{--montage,-m}'[montage mode]' \
'(--multiwindow -w)'{--multiwindow,-w}'[multiwindow mode]' \
'--no-jump-on-resort[do not jump to first image after resorting]' \
'(--no-menus -N)'{--no-menus,-N}'[disable menus]' \
'--no-screen-clip[disable window size limits]' \
'--no-xinerama[disable Xinerama support]' \
'--on-last-slide[set behaviour when advancing past the last slide]:behaviour:(hold quit resume)' \
'(--output-dir -j)'{--output-dir,-j+}'[set temporary file location]:directory:_files -/' \
'(--preload -p)'{--preload,-p}'[eliminate unloadable images before starting]' \
'(--quiet -q)'{--quiet,-q}'[do not report non-fatal errors]' \
'(--randomize -z)'{--randomize,-z}'[randomize filelist]' \
'(--recursive -r)'{--recursive,-r}'[recurse into subdirectories]' \
'--no-recursive[do not recurse into subdirectories]' \
'(--reload -R)'{--reload,-R+}'[regularly reload filelist and current image]:seconds' \
'(--reverse -n)'{--reverse,-n}'[reverse sort order]' \
'(--scale-down -.)'{--scale-down,-.}'[scale down too large images]' \
'--scroll-step[set scroll granularity]:pixels per scroll step' \
'(--slideshow-delay -D)'{--slideshow-delay,-D+}'[set slideshow delay]:seconds' \
'(--sort -S)'{--sort,-S}'[sort images]:sort key:(name filename dirname mtime width height pixels size format)' \
'(--start-at -|)'{--start-at,-'|'+}'[start slideshow at file]:start file:_files' \
'(--theme -T)'{--theme,-T+}'[set theme]: :_feh_theme' \
'(--thumbnails -t)'{--thumbnails,-t}'[thumbnail mode]' \
'(--thumb-title -~)'{--thumb-title,-'~'+}'[set thumbnail window title]:feh format string' \
'(--title -^)'{--title,-'^'}'[set window title]:feh format string' \
'(--unloadable -u)'{--unloadable,-u}'[list unloadable images]' \
'(--verbose -V)'{--verbose,-V}'[verbose mode]' \
'--version-sort[use natural sorting for --sort]' \
'--zoom[set default zoom level]:percent' \
\
'(--alpha -a)'{--alpha,-a}'[set thumbnail transparency]:alpha level' \
'(--bg -b)'{--bg,-b}'[set montage background]: :_feh_background' \
'(--ignore-aspect -X)'{--ignore-aspect,-X}'[ignore aspect in montage mode]' \
'(--limit-height -H)'{--limit-height,-H}'[limit montage height]:pixels' \
'(--limit-width -W)'{--limit-width,-W}'[limit montage width]:pixels' \
'(--output -o)'{--output,-o}'[save created montage]:output file:_files' \
'(--output-only -O)'{--output-only,-O}'[only save created montage]:output file:_files' \
'(--stretch -s)'{--stretch,-s}'[enlarge too small images in montage mode]' \
'(--thumb-height -E)'{--thumb-height,-E}'[set montage mode thumbnail height]:pixels' \
'(--thumb-width -y)'{--thumb-width,-y}'[set montage mode thumbnail width]:pixels' \
'(--thumb-redraw -J)'{--thumb-redraw,-J}'[set thumbnail mode redraw interval]:interval' \
\
'--bg-center[set centered background]' \
'--bg-fill[set filled background (zoom until filled)]' \
'--bg-max[set maxed background (zoom until image fits)]' \
'--bg-scale[set background without preserving aspect ratio]' \
'--bg-tile[set tiled background]' \
\
'(--title-font -@)'{--title-font,-'@'}'[set title font]:font' \
'*:image, directory or URL:_files'
}
_feh "$@"