mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Support i3's legacy force_focus_wrapping command
This commit is contained in:
		
							parent
							
								
									1071785f56
								
							
						
					
					
						commit
						c81d0ef1e8
					
				
					 5 changed files with 31 additions and 0 deletions
				
			
		| 
						 | 
					@ -109,6 +109,7 @@ sway_cmd cmd_focus_follows_mouse;
 | 
				
			||||||
sway_cmd cmd_focus_wrapping;
 | 
					sway_cmd cmd_focus_wrapping;
 | 
				
			||||||
sway_cmd cmd_font;
 | 
					sway_cmd cmd_font;
 | 
				
			||||||
sway_cmd cmd_for_window;
 | 
					sway_cmd cmd_for_window;
 | 
				
			||||||
 | 
					sway_cmd cmd_force_focus_wrapping;
 | 
				
			||||||
sway_cmd cmd_fullscreen;
 | 
					sway_cmd cmd_fullscreen;
 | 
				
			||||||
sway_cmd cmd_gaps;
 | 
					sway_cmd cmd_gaps;
 | 
				
			||||||
sway_cmd cmd_hide_edge_borders;
 | 
					sway_cmd cmd_hide_edge_borders;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -109,6 +109,7 @@ static struct cmd_handler handlers[] = {
 | 
				
			||||||
	{ "focus_wrapping", cmd_focus_wrapping },
 | 
						{ "focus_wrapping", cmd_focus_wrapping },
 | 
				
			||||||
	{ "font", cmd_font },
 | 
						{ "font", cmd_font },
 | 
				
			||||||
	{ "for_window", cmd_for_window },
 | 
						{ "for_window", cmd_for_window },
 | 
				
			||||||
 | 
						{ "force_focus_wrapping", cmd_force_focus_wrapping },
 | 
				
			||||||
	{ "fullscreen", cmd_fullscreen },
 | 
						{ "fullscreen", cmd_fullscreen },
 | 
				
			||||||
	{ "hide_edge_borders", cmd_hide_edge_borders },
 | 
						{ "hide_edge_borders", cmd_hide_edge_borders },
 | 
				
			||||||
	{ "include", cmd_include },
 | 
						{ "include", cmd_include },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										22
									
								
								sway/commands/force_focus_wrapping.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								sway/commands/force_focus_wrapping.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,22 @@
 | 
				
			||||||
 | 
					#include <strings.h>
 | 
				
			||||||
 | 
					#include "sway/commands.h"
 | 
				
			||||||
 | 
					#include "sway/config.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct cmd_results *cmd_force_focus_wrapping(int argc, char **argv) {
 | 
				
			||||||
 | 
						struct cmd_results *error =
 | 
				
			||||||
 | 
							checkarg(argc, "force_focus_wrapping", EXPECTED_EQUAL_TO, 1);
 | 
				
			||||||
 | 
						if (error) {
 | 
				
			||||||
 | 
							return error;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (strcasecmp(argv[0], "no") == 0) {
 | 
				
			||||||
 | 
							config->focus_wrapping = WRAP_YES;
 | 
				
			||||||
 | 
						} else if (strcasecmp(argv[0], "yes") == 0) {
 | 
				
			||||||
 | 
							config->focus_wrapping = WRAP_FORCE;
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							return cmd_results_new(CMD_INVALID, "force_focus_wrapping",
 | 
				
			||||||
 | 
									"Expected 'force_focus_wrapping yes|no'");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return cmd_results_new(CMD_SUCCESS, NULL, NULL);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -41,6 +41,7 @@ sway_sources = files(
 | 
				
			||||||
	'commands/focus_wrapping.c',
 | 
						'commands/focus_wrapping.c',
 | 
				
			||||||
	'commands/font.c',
 | 
						'commands/font.c',
 | 
				
			||||||
	'commands/for_window.c',
 | 
						'commands/for_window.c',
 | 
				
			||||||
 | 
						'commands/force_focus_wrapping.c',
 | 
				
			||||||
	'commands/fullscreen.c',
 | 
						'commands/fullscreen.c',
 | 
				
			||||||
	'commands/hide_edge_borders.c',
 | 
						'commands/hide_edge_borders.c',
 | 
				
			||||||
	'commands/kill.c',
 | 
						'commands/kill.c',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -344,6 +344,12 @@ The default colors are:
 | 
				
			||||||
	Whenever a window that matches _criteria_ appears, run list of commands.
 | 
						Whenever a window that matches _criteria_ appears, run list of commands.
 | 
				
			||||||
	See *CRITERIA* for more details.
 | 
						See *CRITERIA* for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*force\_focus\_wrapping* yes|no
 | 
				
			||||||
 | 
						This option is a wrapper to support i3's legacy syntax. _no_ is equivalent
 | 
				
			||||||
 | 
						to _focus\_wrapping yes_ and _yes_ is equivalent to
 | 
				
			||||||
 | 
						_focus\_wrapping force_. This is only available for convenience. Please
 | 
				
			||||||
 | 
						use _focus\_wrapping_ instead when possible.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*gaps* edge\_gaps on|off|toggle
 | 
					*gaps* edge\_gaps on|off|toggle
 | 
				
			||||||
	When _on_, gaps will be added between windows and workspace edges if the
 | 
						When _on_, gaps will be added between windows and workspace edges if the
 | 
				
			||||||
	inner gap is nonzero. When _off_, gaps will only be added between views.
 | 
						inner gap is nonzero. When _off_, gaps will only be added between views.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue