mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Merge branch 'master' of git://github.com/SirCmpwn/sway into x11-pids
This commit is contained in:
		
						commit
						e6af5f8bdb
					
				
					 3 changed files with 22 additions and 9 deletions
				
			
		| 
						 | 
					@ -20,5 +20,6 @@ void render_view_borders(wlc_handle view);
 | 
				
			||||||
void update_view_border(swayc_t *view);
 | 
					void update_view_border(swayc_t *view);
 | 
				
			||||||
void map_update_view_border(swayc_t *view, void *data);
 | 
					void map_update_view_border(swayc_t *view, void *data);
 | 
				
			||||||
int get_font_text_height(const char *font);
 | 
					int get_font_text_height(const char *font);
 | 
				
			||||||
 | 
					bool should_hide_top_border(swayc_t *con, double y);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -332,10 +332,12 @@ void update_view_border(swayc_t *view) {
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
		cr = create_border_buffer(view, g, &surface);
 | 
							cr = create_border_buffer(view, g, &surface);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							bool render_top = !should_hide_top_border(view, view->y);
 | 
				
			||||||
		if (view == focused) {
 | 
							if (view == focused) {
 | 
				
			||||||
			render_borders(view, cr, &config->border_colors.focused, false);
 | 
								render_borders(view, cr, &config->border_colors.focused, render_top);
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			render_borders(view, cr, &config->border_colors.focused_inactive, false);
 | 
								render_borders(view, cr, &config->border_colors.focused_inactive, render_top);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// generate container titles
 | 
							// generate container titles
 | 
				
			||||||
| 
						 | 
					@ -418,3 +420,17 @@ void render_view_borders(wlc_handle view) {
 | 
				
			||||||
		wlc_pixels_write(WLC_RGBA8888, &c->border->geometry, c->border->buffer);
 | 
							wlc_pixels_write(WLC_RGBA8888, &c->border->geometry, c->border->buffer);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool should_hide_top_border(swayc_t *con, double y) {
 | 
				
			||||||
 | 
						// returns true if container is child of tabbed/stacked layout and is
 | 
				
			||||||
 | 
						// sharing top border with tabbed titlebar
 | 
				
			||||||
 | 
						swayc_t *par = con->parent;
 | 
				
			||||||
 | 
						while (par->type != C_WORKSPACE) {
 | 
				
			||||||
 | 
							if (par->layout == L_TABBED || par->layout == L_STACKED) {
 | 
				
			||||||
 | 
								return con->y == y;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							con = par;
 | 
				
			||||||
 | 
							par = par->parent;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return false;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -579,21 +579,17 @@ void update_geometry(swayc_t *container) {
 | 
				
			||||||
					border_left = 0;
 | 
										border_left = 0;
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if (geometry.origin.x + geometry.size.w == size.w ||
 | 
									if (geometry.origin.x + geometry.size.w == workspace->x + workspace->width) {
 | 
				
			||||||
						geometry.size.w == container->x + container->width) {
 | 
					 | 
				
			||||||
					// should work for swaybar at right
 | 
					 | 
				
			||||||
					border_right = 0;
 | 
										border_right = 0;
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (config->hide_edge_borders == E_VERTICAL || config->hide_edge_borders == E_BOTH) {
 | 
								if (config->hide_edge_borders == E_VERTICAL || config->hide_edge_borders == E_BOTH) {
 | 
				
			||||||
				if (geometry.origin.y == workspace->y) {
 | 
									if (geometry.origin.y == workspace->y || should_hide_top_border(container, geometry.origin.y)) {
 | 
				
			||||||
					border_top = 0;
 | 
										border_top = 0;
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if (geometry.origin.y + geometry.size.h == size.h ||
 | 
									if (geometry.origin.y + geometry.size.h == workspace->y + workspace->height) {
 | 
				
			||||||
						geometry.size.h == container->y + container->height) {
 | 
					 | 
				
			||||||
					// this works for swaybar at bottom
 | 
					 | 
				
			||||||
					border_bottom = 0;
 | 
										border_bottom = 0;
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue