aboutsummaryrefslogtreecommitdiff
path: root/completions/bash
diff options
context:
space:
mode:
Diffstat (limited to 'completions/bash')
-rw-r--r--completions/bash/swaybar44
-rw-r--r--completions/bash/swayidle48
2 files changed, 44 insertions, 48 deletions
diff --git a/completions/bash/swaybar b/completions/bash/swaybar
new file mode 100644
index 00000000..1e085c65
--- /dev/null
+++ b/completions/bash/swaybar
@@ -0,0 +1,44 @@
+# swaybar(1) completion
+
+_swaybar()
+{
+ local cur prev
+ _get_comp_words_by_ref cur prev
+
+ short=(
+ -h
+ -v
+ -s
+ -b
+ -d
+ )
+
+ long=(
+ --help
+ --version
+ --socket
+ --bar_id
+ --debug
+ )
+
+ case $prev in
+ -s|--socket)
+ _filedir
+ return
+ ;;
+ -b|--bar_id)
+ bars=($(swaymsg -t get_bar_config | jq -r '.[]'))
+ COMPREPLY=($(compgen -W "${bars[*]}" -- "$cur"))
+ return
+ ;;
+ esac
+
+ if [[ $cur == --* ]]; then
+ COMPREPLY=($(compgen -W "${long[*]}" -- "$cur"))
+ else
+ COMPREPLY=($(compgen -W "${short[*]}" -- "$cur"))
+ COMPREPLY+=($(compgen -W "${long[*]}" -- "$cur"))
+ fi
+
+} &&
+complete -F _swaybar swaybar
diff --git a/completions/bash/swayidle b/completions/bash/swayidle
deleted file mode 100644
index a0cdc8b2..00000000
--- a/completions/bash/swayidle
+++ /dev/null
@@ -1,48 +0,0 @@
-# swaymsg(1) completion
-
-_swayidle()
-{
- local cur prev
- _get_comp_words_by_ref -n : cur prev
- local prev2=${COMP_WORDS[COMP_CWORD-2]}
- local prev3=${COMP_WORDS[COMP_CWORD-3]}
-
- events=(
- 'timeout'
- 'before-sleep'
- )
-
- short=(
- -h
- -d
- )
-
- if [ "$prev" = timeout ]; then
- # timeout <timeout>
- return
- elif [ "$prev2" = timeout ]; then
- # timeout <timeout> <timeout command>
- COMPREPLY=($(compgen -c -- "$cur"))
- return
- elif [ "$prev3" = timeout ]; then
- # timeout <timeout> <timeout command> [resume <resume command>]
- COMPREPLY=(resume)
- # optional argument; no return here as user may skip 'resume'
- fi
-
- case "$prev" in
- resume)
- COMPREPLY=($(compgen -c -- "$cur"))
- return
- ;;
- before-sleep)
- COMPREPLY=($(compgen -c -- "$cur"))
- return
- ;;
- esac
-
- COMPREPLY+=($(compgen -W "${events[*]}" -- "$cur"))
- COMPREPLY+=($(compgen -W "${short[*]}" -- "$cur"))
-
-} &&
-complete -F _swayidle swayidle