Fix incorect border drawing and remove light borders as no longer needed

This commit is contained in:
Jack Zeal 2026-03-27 19:13:11 -07:00
parent f7d2be37ea
commit c37f343377
3 changed files with 19 additions and 32 deletions

View file

@ -42,10 +42,6 @@ lab_scene_rect_create(struct wlr_scene_tree *parent,
border->tree = lab_wlr_scene_tree_create(rect->tree); border->tree = lab_wlr_scene_tree_create(rect->tree);
// Beveled mode 0 = normal outline // Beveled mode 0 = normal outline
// Beveled mode 1 = full bevel with sharp internal corners // Beveled mode 1 = full bevel with sharp internal corners
// Beveled mode 2 = "light" bevel without sharp corners.
// This mode doesn't use the extra buffers. It seems like when we render the window switcher
// it wants to render the highlight buffers "immediately" and pollute the screen, but the sides
// work normally
if (opts->beveled > 0) { if (opts->beveled > 0) {
/* From Pull request 3382 */ /* From Pull request 3382 */
@ -109,37 +105,28 @@ lab_scene_rect_create(struct wlr_scene_tree *parent,
} }
} }
if (opts->beveled == 1) {
struct lab_data_buffer *tltexture_buffer = struct lab_data_buffer *tltexture_buffer =
buffer_create_from_data(tl_data, bw, bw, 4*bw); buffer_create_from_data(tl_data, bw, bw, 4*bw);
border->tlcorner = wlr_scene_buffer_create(parent, &tltexture_buffer->base); border->tlcorner = wlr_scene_buffer_create(border->tree, &tltexture_buffer->base);
wlr_buffer_drop(&tltexture_buffer->base); wlr_buffer_drop(&tltexture_buffer->base);
struct lab_data_buffer *trtexture_buffer = struct lab_data_buffer *trtexture_buffer =
buffer_create_from_data(tr_data, bw, bw, 4*bw); buffer_create_from_data(tr_data, bw, bw, 4*bw);
border->trcorner = wlr_scene_buffer_create(parent, &trtexture_buffer->base); border->trcorner = wlr_scene_buffer_create(border->tree, &trtexture_buffer->base);
wlr_buffer_drop(&trtexture_buffer->base); wlr_buffer_drop(&trtexture_buffer->base);
struct lab_data_buffer *bltexture_buffer = struct lab_data_buffer *bltexture_buffer =
buffer_create_from_data(bl_data, bw, bw, 4*bw); buffer_create_from_data(bl_data, bw, bw, 4*bw);
border->blcorner = wlr_scene_buffer_create(parent, &bltexture_buffer->base); border->blcorner = wlr_scene_buffer_create(border->tree, &bltexture_buffer->base);
wlr_buffer_drop(&bltexture_buffer->base); wlr_buffer_drop(&bltexture_buffer->base);
struct lab_data_buffer *brtexture_buffer = struct lab_data_buffer *brtexture_buffer =
buffer_create_from_data(br_data, bw, bw, 4*bw); buffer_create_from_data(br_data, bw, bw, 4*bw);
border->brcorner = wlr_scene_buffer_create(parent, &brtexture_buffer->base); border->brcorner = wlr_scene_buffer_create(border->tree, &brtexture_buffer->base);
wlr_buffer_drop(&brtexture_buffer->base); wlr_buffer_drop(&brtexture_buffer->base);
} else {
border->tlcorner=NULL;
border->trcorner=NULL;
border->blcorner=NULL;
border->brcorner=NULL;
}
} else { } else {
border->top = lab_wlr_scene_rect_create(border->tree, 0, 0, color); border->top = lab_wlr_scene_rect_create(border->tree, 0, 0, color);
border->right = lab_wlr_scene_rect_create(border->tree, 0, 0, color); border->right = lab_wlr_scene_rect_create(border->tree, 0, 0, color);

View file

@ -203,7 +203,7 @@ cycle_osd_classic_init(struct cycle_osd_output *osd_output)
.bg_color = active_bg_color, .bg_color = active_bg_color,
.width = w - 2 * padding, .width = w - 2 * padding,
.height = switcher_theme->item_height, .height = switcher_theme->item_height,
.beveled = 2, .beveled = 1,
}; };
struct lab_scene_rect *highlight_rect = lab_scene_rect_create( struct lab_scene_rect *highlight_rect = lab_scene_rect_create(
item->active_tree, &highlight_opts); item->active_tree, &highlight_opts);

View file

@ -150,7 +150,7 @@ create_item_scene(struct wlr_scene_tree *parent, struct view *view,
.bg_color = switcher_theme->item_active_bg_color, .bg_color = switcher_theme->item_active_bg_color,
.width = switcher_theme->item_width, .width = switcher_theme->item_width,
.height = switcher_theme->item_height, .height = switcher_theme->item_height,
.beveled = 2, .beveled = 1,
}; };
item->active_bg = lab_scene_rect_create(tree, &opts); item->active_bg = lab_scene_rect_create(tree, &opts);