aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt5
-rw-r--r--completions/zsh/CMakeLists.txt4
-rw-r--r--completions/zsh/_sway28
-rw-r--r--completions/zsh/_swaygrab28
-rw-r--r--completions/zsh/_swaymsg26
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 "$@"