mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Use L_FLOATING instead of reapable boolean
This commit is contained in:
		
							parent
							
								
									1f2e399ade
								
							
						
					
					
						commit
						34f35f0bad
					
				
					 5 changed files with 14 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -40,6 +40,7 @@ enum sway_container_layout {
 | 
			
		|||
	L_VERT,
 | 
			
		||||
	L_STACKED,
 | 
			
		||||
	L_TABBED,
 | 
			
		||||
	L_FLOATING,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum sway_container_border {
 | 
			
		||||
| 
						 | 
				
			
			@ -75,10 +76,6 @@ struct sway_container {
 | 
			
		|||
	enum sway_container_layout layout;
 | 
			
		||||
	enum sway_container_layout prev_layout;
 | 
			
		||||
 | 
			
		||||
	// Allow the container to be automatically removed if it's empty. True by
 | 
			
		||||
	// default, false for the magic floating container that each workspace has.
 | 
			
		||||
	bool reapable;
 | 
			
		||||
 | 
			
		||||
	// Saves us from searching the list of children/floating in the parent
 | 
			
		||||
	bool is_floating;
 | 
			
		||||
	bool is_sticky;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -754,6 +754,8 @@ static void render_container(struct sway_output *output,
 | 
			
		|||
	case L_TABBED:
 | 
			
		||||
		render_container_tabbed(output, damage, con, parent_focused);
 | 
			
		||||
		break;
 | 
			
		||||
	case L_FLOATING:
 | 
			
		||||
		sway_assert(false, "Didn't expect to see floating here");
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,8 @@ static const char *ipc_json_layout_description(enum sway_container_layout l) {
 | 
			
		|||
		return "tabbed";
 | 
			
		||||
	case L_STACKED:
 | 
			
		||||
		return "stacked";
 | 
			
		||||
	case L_FLOATING:
 | 
			
		||||
		return "floating";
 | 
			
		||||
	case L_NONE:
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -123,7 +123,6 @@ struct sway_container *container_create(enum sway_container_type type) {
 | 
			
		|||
	c->layout = L_NONE;
 | 
			
		||||
	c->type = type;
 | 
			
		||||
	c->alpha = 1.0f;
 | 
			
		||||
	c->reapable = true;
 | 
			
		||||
 | 
			
		||||
	if (type != C_VIEW) {
 | 
			
		||||
		c->children = create_list();
 | 
			
		||||
| 
						 | 
				
			
			@ -280,7 +279,8 @@ static void container_root_finish(struct sway_container *con) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
bool container_reap_empty(struct sway_container *con) {
 | 
			
		||||
	if (!con->reapable) {
 | 
			
		||||
	if (con->layout == L_FLOATING) {
 | 
			
		||||
		// Don't reap the magical floating container that each workspace has
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	switch (con->type) {
 | 
			
		||||
| 
						 | 
				
			
			@ -618,6 +618,9 @@ struct sway_container *container_at(struct sway_container *parent,
 | 
			
		|||
		return container_at_tabbed(parent, ox, oy, surface, sx, sy);
 | 
			
		||||
	case L_STACKED:
 | 
			
		||||
		return container_at_stacked(parent, ox, oy, surface, sx, sy);
 | 
			
		||||
	case L_FLOATING:
 | 
			
		||||
		sway_assert(false, "Didn't expect to see floating here");
 | 
			
		||||
		return NULL;
 | 
			
		||||
	case L_NONE:
 | 
			
		||||
		return NULL;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -842,6 +845,9 @@ static size_t get_tree_representation(struct sway_container *parent, char *buffe
 | 
			
		|||
	case L_STACKED:
 | 
			
		||||
		lenient_strcat(buffer, "S[");
 | 
			
		||||
		break;
 | 
			
		||||
	case L_FLOATING:
 | 
			
		||||
		strcpy(buffer, "F[");
 | 
			
		||||
		break;
 | 
			
		||||
	case L_NONE:
 | 
			
		||||
		lenient_strcat(buffer, "D[");
 | 
			
		||||
		break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,7 +67,7 @@ struct sway_container *workspace_create(struct sway_container *output,
 | 
			
		|||
	swayws->swayc = workspace;
 | 
			
		||||
	swayws->floating = container_create(C_CONTAINER);
 | 
			
		||||
	swayws->floating->parent = swayws->swayc;
 | 
			
		||||
	swayws->floating->reapable = false;
 | 
			
		||||
	swayws->floating->layout = L_FLOATING;
 | 
			
		||||
	workspace->sway_workspace = swayws;
 | 
			
		||||
 | 
			
		||||
	container_add_child(output, workspace);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue