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_font;
 | 
			
		||||
sway_cmd cmd_for_window;
 | 
			
		||||
sway_cmd cmd_force_focus_wrapping;
 | 
			
		||||
sway_cmd cmd_fullscreen;
 | 
			
		||||
sway_cmd cmd_gaps;
 | 
			
		||||
sway_cmd cmd_hide_edge_borders;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -109,6 +109,7 @@ static struct cmd_handler handlers[] = {
 | 
			
		|||
	{ "focus_wrapping", cmd_focus_wrapping },
 | 
			
		||||
	{ "font", cmd_font },
 | 
			
		||||
	{ "for_window", cmd_for_window },
 | 
			
		||||
	{ "force_focus_wrapping", cmd_force_focus_wrapping },
 | 
			
		||||
	{ "fullscreen", cmd_fullscreen },
 | 
			
		||||
	{ "hide_edge_borders", cmd_hide_edge_borders },
 | 
			
		||||
	{ "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/font.c',
 | 
			
		||||
	'commands/for_window.c',
 | 
			
		||||
	'commands/force_focus_wrapping.c',
 | 
			
		||||
	'commands/fullscreen.c',
 | 
			
		||||
	'commands/hide_edge_borders.c',
 | 
			
		||||
	'commands/kill.c',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -344,6 +344,12 @@ The default colors are:
 | 
			
		|||
	Whenever a window that matches _criteria_ appears, run list of commands.
 | 
			
		||||
	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
 | 
			
		||||
	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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue