mirror of
https://github.com/vale981/bspwm
synced 2025-03-06 02:01:42 -05:00
Add Zsh completion
This commit is contained in:
parent
7c07fc4be3
commit
1e097e228c
3 changed files with 35 additions and 8 deletions
12
Makefile
12
Makefile
|
@ -9,7 +9,8 @@ LDFLAGS += -L$(PREFIX)/lib
|
|||
PREFIX ?= /usr/local
|
||||
BINPREFIX = $(PREFIX)/bin
|
||||
MANPREFIX = $(PREFIX)/share/man
|
||||
CPLPREFIX = $(PREFIX)/share/bash-completion/completions
|
||||
BASHCPL = $(PREFIX)/share/bash-completion/completions
|
||||
ZSHCPL = $(PREFIX)/share/zsh/site-functions
|
||||
|
||||
WM_SRC = bspwm.c helpers.c settings.c types.c tree.c events.c window.c messages.c query.c restore.c rules.c ewmh.c
|
||||
WM_OBJ = $(WM_SRC:.c=.o)
|
||||
|
@ -43,15 +44,18 @@ install:
|
|||
mkdir -p "$(DESTDIR)$(MANPREFIX)"/man1
|
||||
cp -p doc/bspwm.1 "$(DESTDIR)$(MANPREFIX)"/man1
|
||||
cp -Pp doc/bspc.1 "$(DESTDIR)$(MANPREFIX)"/man1
|
||||
mkdir -p "$(DESTDIR)$(CPLPREFIX)"
|
||||
cp -p bash_completion "$(DESTDIR)$(CPLPREFIX)"/bspc
|
||||
mkdir -p "$(DESTDIR)$(BASHCPL)"
|
||||
cp -p bash_completion "$(DESTDIR)$(BASHCPL)"/bspc
|
||||
mkdir -p "$(DESTDIR)$(ZSHCPL)"
|
||||
cp -p zsh_completion "$(DESTDIR)$(ZSHCPL)"/_bspc
|
||||
|
||||
uninstall:
|
||||
rm -f "$(DESTDIR)$(BINPREFIX)"/bspwm
|
||||
rm -f "$(DESTDIR)$(BINPREFIX)"/bspc
|
||||
rm -f "$(DESTDIR)$(MANPREFIX)"/man1/bspwm.1
|
||||
rm -f "$(DESTDIR)$(MANPREFIX)"/man1/bspc.1
|
||||
rm -f "$(DESTDIR)$(CPLPREFIX)"/bspc
|
||||
rm -f "$(DESTDIR)$(BASHCPL)"/bspc
|
||||
rm -f "$(DESTDIR)$(ZSHCPL)"/_bspc
|
||||
|
||||
doc:
|
||||
a2x -v -d manpage -f manpage -a revnumber=$(VERSION) doc/bspwm.1.txt
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
_bspc()
|
||||
{
|
||||
local messages='window desktop monitor query pointer rule restore control config quit'
|
||||
_bspc() {
|
||||
local commands='window desktop monitor query pointer rule restore control config quit'
|
||||
|
||||
local settings='focused_border_color active_border_color normal_border_color presel_border_color focused_locked_border_color active_locked_border_color normal_locked_border_color urgent_border_color border_width window_gap split_ratio wm_name borderless_monocle gapless_monocle focus_follows_pointer pointer_follows_monitor adaptative_raise apply_shadow_property auto_alternate auto_cancel history_aware_focus'
|
||||
|
||||
|
@ -9,7 +8,7 @@ _bspc()
|
|||
if [[ $COMP_CWORD -ge 1 ]] ; then
|
||||
local current_word="${COMP_WORDS[COMP_CWORD]}"
|
||||
if [[ $COMP_CWORD -eq 1 ]] ; then
|
||||
COMPREPLY=( $(compgen -W "$messages" -- "$current_word") )
|
||||
COMPREPLY=( $(compgen -W "$commands" -- "$current_word") )
|
||||
return 0
|
||||
else
|
||||
local second_word=${COMP_WORDS[1]}
|
||||
|
@ -17,6 +16,7 @@ _bspc()
|
|||
config)
|
||||
if [[ $COMP_CWORD -eq 2 ]] ; then
|
||||
COMPREPLY=( $(compgen -W "$settings" -- "$current_word") )
|
||||
return 0
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
|
23
zsh_completion
Normal file
23
zsh_completion
Normal file
|
@ -0,0 +1,23 @@
|
|||
#compdef bspc
|
||||
|
||||
_bspc() {
|
||||
local -a commands settings
|
||||
commands=('window' 'desktop' 'monitor' 'query' 'pointer' 'rule' 'restore' 'control' 'config' 'quit')
|
||||
settings=('focused_border_color' 'active_border_color' 'normal_border_color' 'presel_border_color' 'focused_locked_border_color' 'active_locked_border_color' 'normal_locked_border_color' 'urgent_border_color' 'border_width' 'window_gap' 'split_ratio' 'wm_name' 'borderless_monocle' 'gapless_monocle' 'focus_follows_pointer' 'pointer_follows_monitor' 'adaptative_raise' 'apply_shadow_property' 'auto_alternate' 'auto_cancel' 'history_aware_focus')
|
||||
if (( CURRENT == 2 )) ; then
|
||||
_values 'command' "$commands[@]"
|
||||
elif (( CURRENT == 3 )) ; then
|
||||
case $words[2] in
|
||||
config)
|
||||
_values 'setting' "$settings[@]"
|
||||
;;
|
||||
*)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
_bspc "$@"
|
Loading…
Add table
Reference in a new issue