diff --git a/docs/labwc-theme.5.scd b/docs/labwc-theme.5.scd index fff52721..5b267f35 100644 --- a/docs/labwc-theme.5.scd +++ b/docs/labwc-theme.5.scd @@ -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 diff --git a/docs/themerc b/docs/themerc index 6417d5bd..7ac293f7 100644 --- a/docs/themerc +++ b/docs/themerc @@ -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 diff --git a/include/theme.h b/include/theme.h index cbdee135..283538d4 100644 --- a/include/theme.h +++ b/include/theme.h @@ -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; diff --git a/src/theme.c b/src/theme.c index c987ad2d..34b4d4a1 100644 --- a/src/theme.c +++ b/src/theme.c @@ -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); } diff --git a/src/workspaces.c b/src/workspaces.c index ec7106e1..14ed51a9 100644 --- a/src/workspaces.c +++ b/src/workspaces.c @@ -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);