#compdef kfmclient kioclient # kfmclient is a command line interface for use with Konqueror, # the KDE file manager and web browser. # # In KDE4, kioclient has similar syntax but doesn't necessarily talk # to Konqueror ("kioclient exec ." by default starts Dolphin, for example). local expl local -a context state line typeset -A opt_args _arguments \ '--help[show help message]' \ '--help-qt[show Qt specific options]' \ '--help-kde[show KDE specific options]' \ '--help-all[show all options]' \ '--author[show author information]' \ '-v[show version information]' \ '--version[show version information]' \ '--license[show license information]' \ '--commands[show available commands]' \ '--display=:X display:_x_display' \ '--session=:session id for restoring application: ' \ '--cmap[use private colormap (8-bit display)]' \ '--ncols=:limit on number of colors (8-bit display): ' \ '--nograb[never grab mouse or keyboard]' \ '--dograb[override nograb in debugger]' \ '--sync[switch to synchronous mode when debugging]' \ '--fn=:font name:_x_font' \ '--font=:font name:_x_font' \ '--bg=:background color:_x_color' \ '--background=:background color:_x_color' \ '--fg=:foreground color:_x_color' \ '--foreround=:foreground color:_x_color' \ '--btn=:button color:_x_color' \ '--button=:button color:_x_color' \ '--name=:application name: ' \ '--title=:application title (caption): ' \ '--visual=:specify visual:_x_visual' \ '--inputstyle:X input method:(onthespot overthespot offthespot root)' \ '--im:X Input Method server: ' \ '--noxim[disable X Input Method]' \ '--reverse[reverse widget layout]' \ '--caption=:name in titlebar: ' \ '--icon=:application icon: ' \ '--miniicon=:icon in titlebar: ' \ '--config=:configuration file:_files' \ '--dcopserver=:DCOP server: ' \ '--nocrashhandler[disable crash handler, allow core dumps]' \ '--waitforwm[wait for a WM_NET compatible window manager]' \ '--style=:GUI style for application: ' \ '--geometry=:client window geometry:_x_geometry' \ '1:client command:(openURL openProfile openProperties exec move download copy sortDesktop configure configureDesktop)' \ '2::args:->firstarg' \ '3::args:->secondarg' && return 0 [[ $state = *arg ]] || return 1 # Argument to previous command. case $line[1] in (openURL) if [[ $state = secondarg ]]; then _mime_types return elif [[ $state = firstarg ]]; then _webbrowser return fi ;; (openProfile) if [[ $state = secondarg ]]; then _webbrowser return elif [[ $state = firstarg ]]; then local appdata=${$(kde-config --path data 2> /dev/null):-~/.kde/share/apps/} _wanted profile expl 'Konqueror profile' \ compadd -- ${(s/:/)^${appdata}}konqueror/profiles/*(:t) return fi ;; (exec) if [[ $state = secondarg ]]; then # Look for a Desktop Action binding. _wanted binding expl 'KDE binding' compadd -- ${${${(M)${(f)"$(<$file)"}:#"[Desktop Action "*"]"}%%\]}##"[Desktop Action "} return elif [[ $state = firstarg ]]; then _webbrowser return fi ;; (move|download|copy|openProperties) if [[ $state = firstarg ]]; then _webbrowser return fi ;; esac _message "no more arguments"