zsh-workers
 help / color / mirror / code / Atom feed
* [PATCH] add completion for xfce's xfconf-query(1)
@ 2023-09-21  0:50 Eric Cook
  0 siblings, 0 replies; only message in thread
From: Eric Cook @ 2023-09-21  0:50 UTC (permalink / raw)
  To: zsh-workers

Since _gsettings exists, i thought adding it here would be acceptable
(and easy for me to do).
If not i can try to contribute it to xfce's gitlab.

---
  Completion/Unix/Command/_xfconf-query | 33 +++++++++++++++++++++++++++
  1 file changed, 33 insertions(+)
  create mode 100644 Completion/Unix/Command/_xfconf-query

diff --git a/Completion/Unix/Command/_xfconf-query b/Completion/Unix/Command/_xfconf-query
new file mode 100644
index 000000000..4c727cfe3
--- /dev/null
+++ b/Completion/Unix/Command/_xfconf-query
@@ -0,0 +1,33 @@
+#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 property && ret=0
+    fi
+  ;;
+esac
+
+return $ret
--
2.41.0



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-09-21  0:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-21  0:50 [PATCH] add completion for xfce's xfconf-query(1) Eric Cook

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).