mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 18:10:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef xfconf-query
 | |
| local curcontext="$curcontext" state state_descr line ret=1
 | |
| typeset -A opt_args
 | |
| 
 | |
| _arguments -C -s -w : \
 | |
|   '(-c --channel)'{-c,--channel}'[select channel to query/modify]:channel:( ${$(xfconf-query -l)\:#Channels\:} )' \
 | |
|   '(-p --property)'{-p,--property}'[select property to query/modify]:property:->property' \
 | |
|   '(-v --verbose)'{-v,--verbose}'[print property and value (with -l/-m)]' \
 | |
|   '(-t --type)'{-t,--type}'[specify the property value type]:type:(empty string bool {,u}int{,16,64} double array {,u}char float)' \
 | |
|   '(-R --recursive)'{-R,--recursive}'[recursively reset properties (with -r)]' \
 | |
|   + '(operations)' \
 | |
|   {-h,--help}'[show help options]' \
 | |
|   {-V,--version}'[show version information]' \
 | |
|   {-s,--set}'[define the value of a property]:value' \
 | |
|   {-l,--list}'[list properties or channels]' \
 | |
|   {-n,--create}'[create a new property]:new property name' \
 | |
|   {-r,--reset}'[reset property]' \
 | |
|   {-T,--toggle}'[invert boolean property]' \
 | |
|   {-m,--monitor}'[monitor a channel for property changes]' && return
 | |
| 
 | |
| case $state in
 | |
|   property)
 | |
|     # if -c/--channel is currently on the line, use it to complete an property.
 | |
|     if [[ -v opt_args[(i)-(c|-channel)] ]]; then
 | |
|       local expl
 | |
|       _wanted properties expl property compadd "$@" -- ${(f)"$(xfconf-query -c ${(v)opt_args[(i)-(c|-channel)]} -l)"} && ret=0
 | |
|     else # just display a message
 | |
|       _message -e properties property && ret=0
 | |
|     fi
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| return ret
 |