osd: add osd.workspace-switcher.boxes.border.width

This commit is contained in:
Dmitry 2025-04-06 15:05:04 +04:00 committed by Johan Malm
parent 79b92d821f
commit 4f42b7a12b
5 changed files with 13 additions and 1 deletions

View file

@ -281,6 +281,9 @@ all are supported.
Height of boxes in workspace switcher in pixels. Setting to 0 disables
boxes. Default is 20.
*osd.workspace-switcher.boxes.border.width*
Border width of boxes in workspace switcher in pixels. Default is 2.
*snapping.overlay.region.bg.enabled* [yes|no]
Show a filled rectangle as an overlay when a window is snapped to a
region. Default is yes for hardware-based renderers and no for

View file

@ -96,6 +96,7 @@ osd.window-switcher.preview.border.color: #dddda6,#000000,#dddda6
osd.workspace-switcher.boxes.width: 20
osd.workspace-switcher.boxes.height: 20
osd.workspace-switcher.boxes.border.width: 2
# Default values for following options change depending on the rendering
# backend. For software-based renderers, *.bg.enabled is "no" and

View file

@ -142,6 +142,7 @@ struct theme {
int osd_workspace_switcher_boxes_width;
int osd_workspace_switcher_boxes_height;
int osd_workspace_switcher_boxes_border_width;
struct theme_snapping_overlay
snapping_overlay_region, snapping_overlay_edge;

View file

@ -551,6 +551,7 @@ theme_builtin(struct theme *theme, struct server *server)
theme->osd_workspace_switcher_boxes_width = 20;
theme->osd_workspace_switcher_boxes_height = 20;
theme->osd_workspace_switcher_boxes_border_width = 2;
/* inherit settings in post_processing() if not set elsewhere */
theme->osd_bg_color[0] = FLT_MIN;
@ -903,6 +904,11 @@ entry(struct theme *theme, const char *key, const char *value)
get_int_if_positive(
value, "osd.workspace-switcher.boxes.height");
}
if (match_glob(key, "osd.workspace-switcher.boxes.border.width")) {
theme->osd_workspace_switcher_boxes_border_width =
get_int_if_positive(
value, "osd.workspace-switcher.boxes.border.width");
}
if (match_glob(key, "osd.label.text.color")) {
parse_hexstr(value, theme->osd_label_text_color);
}

View file

@ -120,7 +120,8 @@ _osd_update(struct server *server)
.width = rect_width,
.height = rect_height,
};
draw_cairo_border(cairo, fbox, 2);
draw_cairo_border(cairo, fbox,
theme->osd_workspace_switcher_boxes_border_width);
if (active) {
cairo_rectangle(cairo, x, margin,
rect_width, rect_height);