#!/bin/bash
#
# unity-control-center tab completion for bash.

_unity_control_center()
{
	local cur prev command_list i v

	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD-1]}

	case "$prev" in
	-o|--overview)
		command_list=""
		;;
	*)
		if [ $prev = "unity-control-center" ] ; then
			command_list="--overview --verbose --version"
			command_list="$command_list @PANELS@"
		elif [ $prev = "--verbose" ]; then
			command_list="@PANELS@"
		fi

		for i in --overview --version @PANELS@; do
			if [ $i = $prev ]; then
				case $i in
				keyboard)
					command_list="shortcuts typing"
					;;
				network)
					# FIXME
					# The first 3 commands need an object path like
					# /org/freedesktop/NetworkManager/Devices/1
					command_list="connect-3g connect-8021x-wifi show-device connect-hidden-wifi create-wifi"
					;;
				sound)
					command_list="applications effects input outputs"
					;;
				*)
					command_list=""
					;;
				esac
			fi
		done
		;;
	esac

	for i in $command_list; do
		if [ -z "${i/$cur*}" ]; then
			COMPREPLY=( ${COMPREPLY[@]} $i )
		fi
	done
}

# load the completion
complete -F _unity_control_center unity-control-center
