mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Add popup-style and popup-border-style options, from Alexis Hildebrandt
in GitHub issue 2927.
This commit is contained in:
		
							
								
								
									
										14
									
								
								popup.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								popup.c
									
									
									
									
									
								
							@@ -212,16 +212,22 @@ popup_draw_cb(struct client *c, void *data, struct screen_redraw_ctx *rctx)
 | 
			
		||||
	u_int			 i, px = pd->px, py = pd->py;
 | 
			
		||||
	struct colour_palette	*palette = &pd->palette;
 | 
			
		||||
	struct grid_cell	 gc;
 | 
			
		||||
	struct grid_cell	 bgc;
 | 
			
		||||
	struct options          *o = c->session->curw->window->options;
 | 
			
		||||
 | 
			
		||||
	screen_init(&s, pd->sx, pd->sy, 0);
 | 
			
		||||
	screen_write_start(&ctx, &s);
 | 
			
		||||
	screen_write_clearscreen(&ctx, 8);
 | 
			
		||||
 | 
			
		||||
	memcpy(&bgc, &grid_default_cell, sizeof bgc);
 | 
			
		||||
	style_apply(&bgc, o, "popup-border-style", NULL);
 | 
			
		||||
	bgc.attr = 0;
 | 
			
		||||
 | 
			
		||||
	if (pd->flags & POPUP_NOBORDER) {
 | 
			
		||||
		screen_write_cursormove(&ctx, 0, 0, 0);
 | 
			
		||||
		screen_write_fast_copy(&ctx, &pd->s, 0, 0, pd->sx, pd->sy);
 | 
			
		||||
	} else if (pd->sx > 2 && pd->sy > 2) {
 | 
			
		||||
		screen_write_box(&ctx, pd->sx, pd->sy);
 | 
			
		||||
		screen_write_box(&ctx, pd->sx, pd->sy, &bgc);
 | 
			
		||||
		screen_write_cursormove(&ctx, 1, 1, 0);
 | 
			
		||||
		screen_write_fast_copy(&ctx, &pd->s, 0, 0, pd->sx - 2,
 | 
			
		||||
		    pd->sy - 2);
 | 
			
		||||
@@ -229,8 +235,10 @@ popup_draw_cb(struct client *c, void *data, struct screen_redraw_ctx *rctx)
 | 
			
		||||
	screen_write_stop(&ctx);
 | 
			
		||||
 | 
			
		||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
			
		||||
	gc.fg = pd->palette.fg;
 | 
			
		||||
	gc.bg = pd->palette.bg;
 | 
			
		||||
	style_apply(&gc, o, "popup-style", NULL);
 | 
			
		||||
	gc.attr = 0;
 | 
			
		||||
	palette->fg = gc.fg;
 | 
			
		||||
	palette->bg = gc.bg;
 | 
			
		||||
 | 
			
		||||
	if (pd->md != NULL) {
 | 
			
		||||
		c->overlay_check = menu_check_cb;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user