55 lines
1.9 KiB
Bash
55 lines
1.9 KiB
Bash
# bash completion for fbi(1) -*- shell-script -*-
|
|
|
|
_fbi()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion || return
|
|
|
|
case "$prev" in
|
|
-l|--list)
|
|
_filedir
|
|
return
|
|
;;
|
|
-r|--resolution)
|
|
COMPREPLY+=( $(compgen -W '{1..5}') )
|
|
return
|
|
;;
|
|
-f|--font)
|
|
local IFS=$'\n'
|
|
COMPREPLY=( $( compgen -W '$( fc-list 2>/dev/null )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
-m|--mode)
|
|
COMPREPLY=( $( compgen -W '$( sed \
|
|
-n "/^mode/{s/^mode \{1,\}\"\([^\"]\{1,\}\)\"/\1/g;p}" \
|
|
/etc/fb.modes 2> /dev/null )' -- "$cur" ) )
|
|
return
|
|
;;
|
|
-d|--device)
|
|
COMPREPLY=( $( compgen -f -d -- "${cur:-/dev/}" ) )
|
|
return
|
|
;;
|
|
--cachemem|--blend|-T|--vt|-s|--scroll|-t|--timeout|-g|--gamma)
|
|
# argument required but no completions available
|
|
return
|
|
;;
|
|
esac
|
|
|
|
if [[ "$cur" == -* ]]; then
|
|
COMPREPLY=( $(compgen -W '--help --version --store --list --text \
|
|
--autozoom --autoup --noautoup --autodown --noautodown --fitwidth \
|
|
--nofitwidth --verbose --noverbose --random --norandom --comments \
|
|
--nocomments --edit --noedit --backup --nobackup --preserve \
|
|
--nopreserve --readahead --noreadahead --cachemem --blend --vt \
|
|
--scroll --timeout --once --noonce --resolution --gamma --font \
|
|
--device --mode' -- "$cur") )
|
|
[[ $COMPREPLY ]] && return
|
|
fi
|
|
|
|
# FIXME: It is hard to determine correct supported extensions.
|
|
# fbi can handle any format that imagemagick can plus some others
|
|
_filedir 'bmp|gif|jp?(e)g|pcd|png|p[pgb]m|tif?(f)|webp|xpm|xwd|?(e)ps|pdf|dvi|txt|svg?(z)'
|
|
} && complete -F _fbi fbi
|
|
|
|
# ex: ts=4 sw=4 et filetype=sh
|