about summary refs log tree commit diff
path: root/Completion/X/_x_window
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-09-21 01:34:53 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-09-21 01:34:53 +0000
commitd18c1b3ac870ae682e5abf51b04e6ed8c9a4bd2d (patch)
treeab1471c0973d6b537cc058c428b0d8b91a6cb91c /Completion/X/_x_window
parent0abdec4fa34283821f14548c0aa97e52b5c8a0eb (diff)
downloadzsh-d18c1b3ac870ae682e5abf51b04e6ed8c9a4bd2d.tar.gz
zsh-d18c1b3ac870ae682e5abf51b04e6ed8c9a4bd2d.tar.xz
zsh-d18c1b3ac870ae682e5abf51b04e6ed8c9a4bd2d.zip
zsh-workers/7949
Diffstat (limited to 'Completion/X/_x_window')
-rw-r--r--Completion/X/_x_window19
1 files changed, 19 insertions, 0 deletions
diff --git a/Completion/X/_x_window b/Completion/X/_x_window
new file mode 100644
index 000000000..118c7f131
--- /dev/null
+++ b/Completion/X/_x_window
@@ -0,0 +1,19 @@
+#autoload
+
+setopt localoptions extendedglob
+
+local list expl
+
+list=( "${(@)${(M@)${(@f)$(xwininfo -root -tree)}:#[ 	]#0x[0-9a-f]# \"*}##[ 	]#}" )
+
+if [[ "$1" = -n ]]; then
+  shift
+
+  _description expl 'window name'
+  compadd "$@" "$expl[@]" -d list - "${(@)${(@)list#*\"}%%\"*}"
+else
+  [[ "$1" = - ]] && shift
+
+  _description expl 'window ID'
+  compadd "$@" "$expl[@]" -d list - "${(@)list%% *}"
+fi