netctl-gui/sources/gui/zsh-completions
2014-08-06 17:12:22 +04:00

99 lines
3.3 KiB
Plaintext

#compdef netctl-gui
###########################################################################
# This file is part of netctl-gui #
# #
# netctl-gui is free software: you can redistribute it and/or #
# modify it under the terms of the GNU General Public License as #
# published by the Free Software Foundation, either version 3 of the #
# License, or (at your option) any later version. #
# #
# netctl-gui is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with netctl-gui. If not, see http://www.gnu.org/licenses/ #
###########################################################################
# variables
_netctl_gui_arglist=(
{'--maximized','--maximized'}'[start maximized]'
{'--minimized','--minimized'}'[start minimized]'
{'--about','--about'}'[show about window]'
{'--netctl-auto','--netctl-auto'}'[show netctl-auto window]'
{'--settings','--settings'}'[show settings window]'
{'(--essid)-e','(-e)--essid'}'[select ESSID]:type ESSID:->essid'
{'(--open)-o','(-o)--open'}'[open profile]:select profile:->profiles'
{'(--select)-s','(-s)--select'}'[select profile]:select profile:->profiles'
{'(--config)-c','(-c)--config'}'[read configuration from this file]:select file:->files'
{'(--debug)-d','(-d)--debug'}'[print debug information]'
{'--default','--default'}'[start with default settings]'
{'--set-opts','--set-opts'}'[set options for this run, comma separated]:comma separated:->settings'
{'(--tab)-t','(-t)--tab'}'[open a tab with specified number]:select tab:->tab'
{'(--version)-v','(-v)--version'}'[show version and exit]'
{'(--info)-i','(-i)--info'}'[show build information and exit]'
{'(--help)-h','(-h)--help'}'[show help and exit]'
)
_netctl_gui_settings=(
'CLOSETOTRAY'
'CTRL_DIR'
'CTRL_GROUP'
'IFACE_DIR'
'LANGUAGE'
'NETCTLAUTO_PATH'
'NETCTLAUTO_SERVICE'
'NETCTL_PATH'
'PID_FILE'
'PREFERED_IFACE'
'PROFILE_DIR'
'RFKILL_DIR'
'STARTTOTRAY'
'SUDO_PATH'
'SYSTEMCTL_PATH'
'SYSTRAY'
'WPACLI_PATH'
'WPASUP_PATH'
'WPA_DRIVERS'
)
_netctl_gui_tabs=(
'1'
'2'
'3'
)
_netctl_profiles() {
print $(find /etc/netctl -maxdepth 1 -type f -printf "%f\n")
}
# work block
_netctl-gui() {
_arguments $_netctl_gui_arglist
case "$state" in
essid)
;;
files)
_files
;;
profiles)
_values 'profiles' $(_netctl_profiles)
;;
settings)
_values -s ',' 'settings' $_netctl_gui_settings
;;
tab)
_values 'tab' $_netctl_gui_tabs
;;
esac
}
case "$service" in
netctl-gui)
_netctl-gui "$@" && return 0
;;
esac