mirror of
https://github.com/arcan1s/netctl-gui.git
synced 2025-04-24 15:37:23 +00:00
99 lines
3.3 KiB
Plaintext
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
|