mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	added basic zsh shell completion for sway, swaybg, and swaygrab
This commit is contained in:
		
							parent
							
								
									fe241126bb
								
							
						
					
					
						commit
						fcd0071555
					
				
					 5 changed files with 90 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								completions/zsh/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								completions/zsh/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
install(
 | 
			
		||||
	FILES _sway _swaymsg _swaygrab
 | 
			
		||||
	DESTINATION share/zsh/site-functions/
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										28
									
								
								completions/zsh/_sway
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								completions/zsh/_sway
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 "$@"
 | 
			
		||||
							
								
								
									
										28
									
								
								completions/zsh/_swaygrab
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								completions/zsh/_swaygrab
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 "$@"
 | 
			
		||||
							
								
								
									
										26
									
								
								completions/zsh/_swaymsg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								completions/zsh/_swaymsg
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 "$@"
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue