| 
									
										
										
										
											2018-05-11 21:39:47 -04:00
										 |  |  | swaymsg(1) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # NAME | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | swaymsg - Send messages to a running instance of sway over the IPC socket. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # SYNOPSIS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | _swaymsg_ [options...] [message] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # OPTIONS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *-h, --help* | 
					
						
							|  |  |  | 	Show help message and quit. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-28 11:19:18 -05:00
										 |  |  | *-m, --monitor* | 
					
						
							|  |  |  | 	Monitor for responses until killed instead of exiting after the first | 
					
						
							|  |  |  | 	response. This can only be used with the IPC message type _subscribe_. If | 
					
						
							|  |  |  | 	there is a malformed response or an invalid event type was requested, | 
					
						
							|  |  |  | 	swaymsg will stop monitoring and exit. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-08 12:43:04 -05:00
										 |  |  | *-p, --pretty* | 
					
						
							| 
									
										
										
										
											2019-09-09 22:43:46 +02:00
										 |  |  | 	Use pretty output even when not using a tty. | 
					
						
							| 
									
										
										
										
											2021-10-15 15:03:38 +02:00
										 |  |  | 	Not available for all message types. | 
					
						
							| 
									
										
										
										
											2019-03-08 12:43:04 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-11 21:39:47 -04:00
										 |  |  | *-q, --quiet* | 
					
						
							|  |  |  | 	Sends the IPC message but does not print the response from sway. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *-r, --raw* | 
					
						
							| 
									
										
										
										
											2021-10-15 14:55:31 +02:00
										 |  |  | 	Use raw JSON output even if using a tty. | 
					
						
							| 
									
										
										
										
											2018-05-11 21:39:47 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | *-s, --socket* <path> | 
					
						
							|  |  |  | 	Use the specified socket path. Otherwise, swaymsg will ask sway where the | 
					
						
							|  |  |  | 	socket is (which is the value of $SWAYSOCK, then of $I3SOCK). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *-t, --type* <type> | 
					
						
							|  |  |  | 	Specify the type of IPC message. See below. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *-v, --version* | 
					
						
							|  |  |  | 	Print the version (of swaymsg) and quit. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # IPC MESSAGE TYPES | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *<command>* | 
					
						
							|  |  |  | 	The message is a sway command (the same commands you can bind to keybindings | 
					
						
							|  |  |  | 	in your sway config file). It will be executed immediately. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-13 16:47:20 +02:00
										 |  |  | 	See *sway*(5) for a list of commands. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-15 15:04:26 +02:00
										 |  |  | 	_swaymsg_ can return pretty printed (standalone-default) or JSON-formatted | 
					
						
							|  |  |  | 	(*--raw*) output. For detailed documentation on the returned JSON-data of | 
					
						
							|  |  |  | 	each message type listed below,	refer to *sway-ipc*(7). The JSON-format can | 
					
						
							|  |  |  | 	contain more information than the pretty print. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-13 16:47:20 +02:00
										 |  |  | 	Tips: | 
					
						
							|  |  |  | 	- Command expansion is performed twice: once by swaymsg, and again by sway. | 
					
						
							|  |  |  | 	  If you have quoted multi-word strings in your command, enclose the entire | 
					
						
							|  |  |  | 	  command in single-quotes. For example, use | 
					
						
							|  |  |  | 	  _swaymsg 'output "Foobar Display" enable'_ instead of | 
					
						
							| 
									
										
										
										
											2020-09-03 14:45:31 -03:00
										 |  |  | 	  _swaymsg output "Foobar Display" enable_. Furthermore, note that comma | 
					
						
							|  |  |  | 	  separated options also count as multi-word strings, because commas can be | 
					
						
							|  |  |  | 	  used to execute commands on the same line. | 
					
						
							| 
									
										
										
										
											2020-08-05 20:35:25 -04:00
										 |  |  | 	- If you are providing a command that contains a leading hyphen (_-_), insert | 
					
						
							| 
									
										
										
										
											2020-07-13 16:47:20 +02:00
										 |  |  | 	  two hyphens (_--_) before the command to signal to swaymsg not to parse | 
					
						
							|  |  |  | 	  anything beyond that point as an option. For example, use | 
					
						
							|  |  |  | 	  _swaymsg -- mark --add test_ instead of _swaymsg mark --add test_. | 
					
						
							| 
									
										
										
										
											2019-08-12 22:23:29 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-11 21:39:47 -04:00
										 |  |  | *get\_workspaces* | 
					
						
							| 
									
										
										
										
											2021-10-15 15:03:38 +02:00
										 |  |  | 	Gets a list of workspaces and their status. | 
					
						
							| 
									
										
										
										
											2018-05-11 21:39:47 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | *get\_inputs* | 
					
						
							| 
									
										
										
										
											2021-10-15 15:03:38 +02:00
										 |  |  | 	Gets a list of current inputs. | 
					
						
							| 
									
										
										
										
											2018-05-11 21:39:47 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | *get\_outputs* | 
					
						
							| 
									
										
										
										
											2021-10-15 15:03:38 +02:00
										 |  |  | 	Gets a list of current outputs. | 
					
						
							| 
									
										
										
										
											2018-05-11 21:39:47 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | *get\_tree* | 
					
						
							|  |  |  | 	Gets a JSON-encoded layout tree of all open windows, containers, outputs, | 
					
						
							|  |  |  | 	workspaces, and so on. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-04 22:49:44 +01:00
										 |  |  | *get\_seats* | 
					
						
							| 
									
										
										
										
											2021-10-15 15:03:38 +02:00
										 |  |  | 	Gets a list of all seats, | 
					
						
							| 
									
										
										
										
											2018-11-04 22:49:44 +01:00
										 |  |  | 	its properties and all assigned devices. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-11 21:39:47 -04:00
										 |  |  | *get\_marks* | 
					
						
							|  |  |  | 	Get a JSON-encoded list of marks. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *get\_bar\_config* | 
					
						
							|  |  |  | 	Get a JSON-encoded configuration for swaybar. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *get\_version* | 
					
						
							| 
									
										
										
										
											2021-10-15 15:03:38 +02:00
										 |  |  | 	Get version information for the running instance of sway. | 
					
						
							| 
									
										
										
										
											2018-05-11 21:39:47 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-08 20:32:42 +01:00
										 |  |  | *get\_binding\_modes* | 
					
						
							|  |  |  | 	Gets a JSON-encoded list of currently configured binding modes. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-13 12:32:24 +09:00
										 |  |  | *get\_binding\_state* | 
					
						
							|  |  |  | 	Gets JSON-encoded info about the current binding state. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-08 20:34:47 +01:00
										 |  |  | *get\_config* | 
					
						
							| 
									
										
										
										
											2021-10-15 15:03:38 +02:00
										 |  |  | 	Gets a copy of the current configuration. Doesn't expand includes. | 
					
						
							| 
									
										
										
										
											2018-07-18 12:30:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | *send\_tick* | 
					
						
							|  |  |  | 	Sends a tick event to all subscribed clients. | 
					
						
							| 
									
										
										
										
											2018-11-28 11:19:18 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | *subscribe* | 
					
						
							|  |  |  | 	Subscribe to a list of event types. The argument for this type should be | 
					
						
							|  |  |  | 	provided in the form of a valid JSON array. If any of the types are invalid | 
					
						
							| 
									
										
										
										
											2019-09-12 00:28:45 +02:00
										 |  |  | 	or if a valid JSON array is not provided, this will result in a failure. | 
					
						
							| 
									
										
										
										
											2023-02-01 17:16:21 +02:00
										 |  |  | 	For a list of valid event types and the data returned with them refer to | 
					
						
							|  |  |  | 	*sway-ipc*(7). | 
					
						
							| 
									
										
										
										
											2019-02-27 13:23:10 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-04 02:02:13 -04:00
										 |  |  | # RETURN CODES | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *0* | 
					
						
							|  |  |  | 	Success | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *1* | 
					
						
							|  |  |  | 	swaymsg errors such as invalid syntax, unable to connect to the ipc socket | 
					
						
							|  |  |  | 	or unable to parse sway's reply | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *2* | 
					
						
							|  |  |  | 	Sway returned an error when processing the command (ex. invalid command, | 
					
						
							|  |  |  | 	command failed, and invalid subscription request) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-27 13:23:10 -05:00
										 |  |  | # SEE ALSO | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | *sway*(5) *sway-bar*(5) *sway-input*(5) *sway-output*(5) *sway-ipc*(7) |