summaryrefslogtreecommitdiff
path: root/completions
diff options
context:
space:
mode:
Diffstat (limited to 'completions')
-rw-r--r--completions/greetd-mini-wl-greeter49
1 files changed, 49 insertions, 0 deletions
diff --git a/completions/greetd-mini-wl-greeter b/completions/greetd-mini-wl-greeter
new file mode 100644
index 0000000..246e840
--- /dev/null
+++ b/completions/greetd-mini-wl-greeter
@@ -0,0 +1,49 @@
+# vi: ft=bash
+
+containsElement () {
+ local e match="$1"
+ shift
+ for e; do [[ "$e" =~ $match ]] && return 0; done
+ return 1
+}
+
+_greetd_mini_wl_greeter()
+{
+ local cur prev opts remaining
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ opts="--background-image --background-color --border-width --border-color --outline-width --outline-color --entry-padding --entry-color --text-color --font-name --font-size --password-character --command --user --width-characters --wide-layout"
+
+
+ case "${prev}" in
+ --user|-u)
+ COMPREPLY=( $(compgen -W "${users}" -- ${cur}) )
+ return 0
+ ;;
+ --command|-c)
+ return 0
+ ;;
+ --background-image|-b)
+ if ! containsElement '.*\.png' "${COMP_WORDS[@]}"; then
+ _filedir '*@(png)'
+ fi
+ return 0
+ ;;
+ --?[^w]*)
+ return 0
+ ;;
+ esac
+ case "${cur}" in
+ -[a-zA-Z])
+ COMPREPLY=$cur
+ ;;
+ *)
+ remaining=$(echo ${opts[@]} ${COMP_WORDS[@]} ${COMP_WORDS[@]} | tr ' ' '\n' | sort | uniq -u)
+ COMPREPLY=( $(compgen -W "${remaining}" -- ${cur}) )
+ return 0
+ ;;
+ esac
+ true
+}
+complete -F _greetd_mini_wl_greeter greetd-mini-wl-greeter