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
|
PREFIX ?= /usr/local
|
||||||
BINPREFIX = $(PREFIX)/bin
|
BINPREFIX = $(PREFIX)/bin
|
||||||
MANPREFIX = $(PREFIX)/share/man
|
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_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)
|
WM_OBJ = $(WM_SRC:.c=.o)
|
||||||
|
@ -43,15 +44,18 @@ install:
|
||||||
mkdir -p "$(DESTDIR)$(MANPREFIX)"/man1
|
mkdir -p "$(DESTDIR)$(MANPREFIX)"/man1
|
||||||
cp -p doc/bspwm.1 "$(DESTDIR)$(MANPREFIX)"/man1
|
cp -p doc/bspwm.1 "$(DESTDIR)$(MANPREFIX)"/man1
|
||||||
cp -Pp doc/bspc.1 "$(DESTDIR)$(MANPREFIX)"/man1
|
cp -Pp doc/bspc.1 "$(DESTDIR)$(MANPREFIX)"/man1
|
||||||
mkdir -p "$(DESTDIR)$(CPLPREFIX)"
|
mkdir -p "$(DESTDIR)$(BASHCPL)"
|
||||||
cp -p bash_completion "$(DESTDIR)$(CPLPREFIX)"/bspc
|
cp -p bash_completion "$(DESTDIR)$(BASHCPL)"/bspc
|
||||||
|
mkdir -p "$(DESTDIR)$(ZSHCPL)"
|
||||||
|
cp -p zsh_completion "$(DESTDIR)$(ZSHCPL)"/_bspc
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
rm -f "$(DESTDIR)$(BINPREFIX)"/bspwm
|
rm -f "$(DESTDIR)$(BINPREFIX)"/bspwm
|
||||||
rm -f "$(DESTDIR)$(BINPREFIX)"/bspc
|
rm -f "$(DESTDIR)$(BINPREFIX)"/bspc
|
||||||
rm -f "$(DESTDIR)$(MANPREFIX)"/man1/bspwm.1
|
rm -f "$(DESTDIR)$(MANPREFIX)"/man1/bspwm.1
|
||||||
rm -f "$(DESTDIR)$(MANPREFIX)"/man1/bspc.1
|
rm -f "$(DESTDIR)$(MANPREFIX)"/man1/bspc.1
|
||||||
rm -f "$(DESTDIR)$(CPLPREFIX)"/bspc
|
rm -f "$(DESTDIR)$(BASHCPL)"/bspc
|
||||||
|
rm -f "$(DESTDIR)$(ZSHCPL)"/_bspc
|
||||||
|
|
||||||
doc:
|
doc:
|
||||||
a2x -v -d manpage -f manpage -a revnumber=$(VERSION) doc/bspwm.1.txt
|
a2x -v -d manpage -f manpage -a revnumber=$(VERSION) doc/bspwm.1.txt
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
_bspc()
|
_bspc() {
|
||||||
{
|
local commands='window desktop monitor query pointer rule restore control config quit'
|
||||||
local messages='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'
|
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
|
if [[ $COMP_CWORD -ge 1 ]] ; then
|
||||||
local current_word="${COMP_WORDS[COMP_CWORD]}"
|
local current_word="${COMP_WORDS[COMP_CWORD]}"
|
||||||
if [[ $COMP_CWORD -eq 1 ]] ; then
|
if [[ $COMP_CWORD -eq 1 ]] ; then
|
||||||
COMPREPLY=( $(compgen -W "$messages" -- "$current_word") )
|
COMPREPLY=( $(compgen -W "$commands" -- "$current_word") )
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
local second_word=${COMP_WORDS[1]}
|
local second_word=${COMP_WORDS[1]}
|
||||||
|
@ -17,6 +16,7 @@ _bspc()
|
||||||
config)
|
config)
|
||||||
if [[ $COMP_CWORD -eq 2 ]] ; then
|
if [[ $COMP_CWORD -eq 2 ]] ; then
|
||||||
COMPREPLY=( $(compgen -W "$settings" -- "$current_word") )
|
COMPREPLY=( $(compgen -W "$settings" -- "$current_word") )
|
||||||
|
return 0
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
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