about summary refs log tree commit diff
path: root/Completion/X/_x_window
blob: a79f7fd62bde004d15644e8dc4fc7797517f4362 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#autoload

local list expl

_tags windows || return 1

list=( "${(@)${(M@)${(@f)$(_call windows xwininfo -root -tree)}:#[ 	]#0x[0-9a-f]# \"*}##[ 	]#}" )

if [[ "$1" = -n ]]; then
  shift

  _description windows expl 'window name'
  compadd "$@" "$expl[@]" -d list - "${(@)${(@)list#*\"}%%\"*}"
else
  [[ "$1" = - ]] && shift

  _description windows expl 'window ID'
  compadd "$@" "$expl[@]" -d list - "${(@)list%% *}"
fi