diff options
| -rw-r--r-- | CMakeLists.txt | 5 | ||||
| -rw-r--r-- | completions/zsh/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | completions/zsh/_sway | 28 | ||||
| -rw-r--r-- | completions/zsh/_swaygrab | 28 | ||||
| -rw-r--r-- | completions/zsh/_swaymsg | 26 | 
5 files changed, 90 insertions, 1 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index 587c3dac..c63a88c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,6 +45,7 @@ option(enable-swaygrab "Enables the swaygrab utility" YES)  option(enable-swaymsg "Enables the swaymsg utility" YES)  option(enable-gdk-pixbuf "Use Pixbuf to support more image formats" YES)  option(enable-binding-event "Enables binding event subscription" YES) +option(zsh-completions "Zsh shell completions" YES)  option(default-wallpaper "Installs the default wallpaper" YES)  find_package(JsonC REQUIRED) @@ -117,7 +118,9 @@ if(enable-swaylock)  		message(WARNING "Not building swaylock - cairo, pango, and PAM are required.")  	endif()  endif() - +if(zsh-completions) +	add_subdirectory(completions/zsh) +endif()  install(  	FILES ${CMAKE_CURRENT_SOURCE_DIR}/sway.desktop  	DESTINATION share/wayland-sessions diff --git a/completions/zsh/CMakeLists.txt b/completions/zsh/CMakeLists.txt new file mode 100644 index 00000000..561636f2 --- /dev/null +++ b/completions/zsh/CMakeLists.txt @@ -0,0 +1,4 @@ +install( +	FILES _sway _swaymsg _swaygrab +	DESTINATION share/zsh/site-functions/ +) diff --git a/completions/zsh/_sway b/completions/zsh/_sway new file mode 100644 index 00000000..a9b1a14f --- /dev/null +++ b/completions/zsh/_sway @@ -0,0 +1,28 @@ +#compdef sway +#------------ +# Description +# ----------- +# +# Completion script for the sway window manager (http://swaywm.org) +# +# --------------------------------------------- +# Author +# ------- +# +# * Seth Barberee <seth.barberee@gmail.com> +# +# ------------------------------- + +_sway() { +	local -a options +	options=('--version:shows version' +		'--help:shows help message' +		'--config:Specify a config file different than $HOME/.config/sway/config' +		'--validate:Check validity of the config file, then exit' +		'--debug:Enables full logging, including debug information' +		'--verbose:Enables more verbose logging' +		'--get-socketpath:Gets the IPC socket path and prints it, then exits' +		) +	_describe 'values' options +	} +_sway "$@" diff --git a/completions/zsh/_swaygrab b/completions/zsh/_swaygrab new file mode 100644 index 00000000..64d9d2c8 --- /dev/null +++ b/completions/zsh/_swaygrab @@ -0,0 +1,28 @@ +#compdef swaygrab +#----------------- +# Description +# ----------- +#  +# Completion script for swaygrab in the sway wm (http://swaywm.org) +# +# ----------------------------------------------------- +# Author +# ------ +# +# * Seth Barberee <seth.barberee@gmail.com> +# +# ------------------------------------------ + +_swaygrab() { +	local -a options +	options=('--version:shows version' +		'--help:shows help message' +		'--capture:Captures multiple frames as video as passes into ffmpeg until SIGTERM (ctrl+c) is sent to swaygrab' +		'--output:Use the specified output. If no output is defined, the currently focused output in sway is used' +		'--socket:Use the specified socket path. Otherwise, swayuses $SWAYSOCK then $I3SOCK' +		'--rate:Specify a framerate (in fps). Used in combination with -c. Default is 30 and must be an integer' +		'--raw:Instead of ImageMagick or ffmpeg, dump raw rgba data to stdout' +		) +	_describe 'values' options +	} +_swaygrab "$@" diff --git a/completions/zsh/_swaymsg b/completions/zsh/_swaymsg new file mode 100644 index 00000000..5d9277c4 --- /dev/null +++ b/completions/zsh/_swaymsg @@ -0,0 +1,26 @@ +#compdef swaymsg +#----------------- +# Description +# ----------- +# +# Completion script for swaymsg in sway wm (http://swaywm.org) +# +# ------------------------------------------------------ +# Author +# -------- +# +#  * Seth Barberee <seth.barberee@gmail.com> +# +#  ------------------------------------------- + +_swaymsg() { +	local -a options +	options=('--version:shows version' +		'--help:shows help message' +		'--quiet:sends the IPC message but does not print the response from sway' +		'--socket:Use the specified socket path. Otherwise, swaymsg uses $SWAYSOCK then $I3SOCK' +		'--type:Specify the type of IPC message. Tab completion still coming so use the man page instead' +		) +	_describe 'values' options +	} +_swaymsg "$@" | 
