mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Implement parsing of hide_edge_borders
This commit is contained in:
		
							parent
							
								
									cefcce48aa
								
							
						
					
					
						commit
						86ea79ea6d
					
				
					 4 changed files with 39 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -156,6 +156,13 @@ struct border_colors {
 | 
			
		|||
	uint32_t child_border;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum edge_border_types {
 | 
			
		||||
	E_NONE,         /**< Don't hide edge borders */
 | 
			
		||||
	E_VERTICAL,     /**< hide vertical edge borders */
 | 
			
		||||
	E_HORIZONTAL,   /**< hide horizontal edge borders */
 | 
			
		||||
	E_BOTH		/**< hide vertical and horizontal edge borders */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The configuration struct. The result of loading a config file.
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -196,6 +203,8 @@ struct sway_config {
 | 
			
		|||
	list_t *config_chain;
 | 
			
		||||
	const char *current_config;
 | 
			
		||||
 | 
			
		||||
	enum edge_border_types hide_edge_borders;
 | 
			
		||||
 | 
			
		||||
	// border colors
 | 
			
		||||
	struct {
 | 
			
		||||
		struct border_colors focused;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,6 +55,7 @@ static sway_cmd cmd_font;
 | 
			
		|||
static sway_cmd cmd_for_window;
 | 
			
		||||
static sway_cmd cmd_fullscreen;
 | 
			
		||||
static sway_cmd cmd_gaps;
 | 
			
		||||
static sway_cmd cmd_hide_edge_borders;
 | 
			
		||||
static sway_cmd cmd_include;
 | 
			
		||||
static sway_cmd cmd_input;
 | 
			
		||||
static sway_cmd cmd_kill;
 | 
			
		||||
| 
						 | 
				
			
			@ -1506,6 +1507,29 @@ static struct cmd_results *cmd_smart_gaps(int argc, char **argv) {
 | 
			
		|||
	return cmd_results_new(CMD_SUCCESS, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static struct cmd_results *cmd_hide_edge_borders(int argc, char **argv) {
 | 
			
		||||
	struct cmd_results *error = NULL;
 | 
			
		||||
	if ((error = checkarg(argc, "hide_edge_borders", EXPECTED_EQUAL_TO, 1))) {
 | 
			
		||||
		return error;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (strcasecmp(argv[0], "none") == 0) {
 | 
			
		||||
		config->hide_edge_borders = E_NONE;
 | 
			
		||||
	} else if (strcasecmp(argv[0], "vertical") == 0) {
 | 
			
		||||
		config->hide_edge_borders = E_VERTICAL;
 | 
			
		||||
	} else if (strcasecmp(argv[0], "horizontal") == 0) {
 | 
			
		||||
		config->hide_edge_borders = E_HORIZONTAL;
 | 
			
		||||
	} else if (strcasecmp(argv[0], "both") == 0) {
 | 
			
		||||
		config->hide_edge_borders = E_BOTH;
 | 
			
		||||
	} else {
 | 
			
		||||
		return cmd_results_new(CMD_INVALID, "hide_edge_borders",
 | 
			
		||||
				"Expected 'hide_edge_borders <none|vertical|horizontal|both>'");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return cmd_results_new(CMD_SUCCESS, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static struct cmd_results *cmd_kill(int argc, char **argv) {
 | 
			
		||||
	if (config->reading) return cmd_results_new(CMD_FAILURE, "kill", "Can't be used in config file.");
 | 
			
		||||
	if (!config->active) return cmd_results_new(CMD_FAILURE, "kill", "Can only be used when sway is running.");
 | 
			
		||||
| 
						 | 
				
			
			@ -2063,6 +2087,7 @@ static struct cmd_handler handlers[] = {
 | 
			
		|||
	{ "for_window", cmd_for_window },
 | 
			
		||||
	{ "fullscreen", cmd_fullscreen },
 | 
			
		||||
	{ "gaps", cmd_gaps },
 | 
			
		||||
	{ "hide_edge_borders", cmd_hide_edge_borders },
 | 
			
		||||
	{ "include", cmd_include },
 | 
			
		||||
	{ "input", cmd_input },
 | 
			
		||||
	{ "kill", cmd_kill },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -182,6 +182,8 @@ static void config_defaults(struct sway_config *config) {
 | 
			
		|||
	config->config_chain = create_list();
 | 
			
		||||
	config->current_config = NULL;
 | 
			
		||||
 | 
			
		||||
	config->hide_edge_borders = E_NONE;
 | 
			
		||||
 | 
			
		||||
	// border colors
 | 
			
		||||
	config->border_colors.focused.border = 0x4C7899FF;
 | 
			
		||||
	config->border_colors.focused.background = 0x285577FF;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,6 +67,9 @@ They are expected to be used with **bindsym** or at runtime through **swaymsg**(
 | 
			
		|||
**fullscreen**::
 | 
			
		||||
	Toggles fullscreen status for the focused view.
 | 
			
		||||
 | 
			
		||||
**hide_edge_borders** <none|vertical|horizontal|both>::
 | 
			
		||||
	Hide window borders adjacent to the screen edges. Default is _none_.
 | 
			
		||||
 | 
			
		||||
**layout** <mode>::
 | 
			
		||||
	Sets the layout mode of the focused container. _mode_ can be one of _splith_,
 | 
			
		||||
	_splitv_, or _toggle split_.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue