mirror of
				https://github.com/swaywm/sway.git
				synced 2025-10-29 05:40:18 -04:00 
			
		
		
		
	focus: support focus_wrapping workspace
Following i3 support: https://github.com/i3/i3/pull/3407
This commit is contained in:
		
							parent
							
								
									74c0e7921a
								
							
						
					
					
						commit
						3ee3a9ef60
					
				
					 4 changed files with 10 additions and 4 deletions
				
			
		|  | @ -409,7 +409,8 @@ enum focus_follows_mouse_mode { | |||
| enum focus_wrapping_mode { | ||||
| 	WRAP_NO, | ||||
| 	WRAP_YES, | ||||
| 	WRAP_FORCE | ||||
| 	WRAP_FORCE, | ||||
| 	WRAP_WORKSPACE | ||||
| }; | ||||
| 
 | ||||
| enum mouse_warping_mode { | ||||
|  |  | |||
|  | @ -160,7 +160,8 @@ static struct sway_node *node_get_in_direction_tiling( | |||
| 	// Check a different output
 | ||||
| 	struct sway_output *output = container->workspace->output; | ||||
| 	struct sway_output *new_output = output_get_in_direction(output, dir); | ||||
| 	if (new_output) { | ||||
| 	if ((config->focus_wrapping != WRAP_WORKSPACE || | ||||
| 				container->node.type == N_WORKSPACE) && new_output) { | ||||
| 		return get_node_in_output_direction(new_output, dir); | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -11,6 +11,8 @@ struct cmd_results *cmd_focus_wrapping(int argc, char **argv) { | |||
| 
 | ||||
| 	if (strcasecmp(argv[0], "force") == 0) { | ||||
| 		config->focus_wrapping = WRAP_FORCE; | ||||
| 	} else if (strcasecmp(argv[0], "workspace") == 0) { | ||||
| 		config->focus_wrapping = WRAP_WORKSPACE; | ||||
| 	} else if (parse_boolean(argv[0], config->focus_wrapping == WRAP_YES)) { | ||||
| 		config->focus_wrapping = WRAP_YES; | ||||
| 	} else { | ||||
|  |  | |||
|  | @ -551,14 +551,16 @@ The default colors are: | |||
| 	If set to _smart_, the window will become focused only if it is already | ||||
| 	visible, otherwise the urgent state will be set. Default is _smart_. | ||||
| 
 | ||||
| *focus_wrapping* yes|no|force | ||||
| *focus_wrapping* yes|no|force|workspace | ||||
| 	This option determines what to do when attempting to focus over the edge | ||||
| 	of a container. If set to _no_, the focused container will retain focus, | ||||
| 	if there are no other containers in the direction. If set to _yes_, focus | ||||
| 	will be wrapped to the opposite edge of the container, if there are no | ||||
| 	other containers in the direction. If set to _force_, focus will be wrapped | ||||
| 	to the opposite edge of the container, even if there are other containers | ||||
| 	in the direction. Default is _yes_. | ||||
| 	in the direction. If set to _workspace_, focus will wrap like in the _yes_ | ||||
| 	case and additionally wrap when moving outside of workspaces boundaries. | ||||
| 	Default is _yes_. | ||||
| 
 | ||||
| *font* [pango:]<font> | ||||
| 	Sets font to use for the title bars. To enable support for pango markup, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 lbonn
						lbonn