Line width (integer) of border drawn around window frames.
Default is 1.
-*padding.width*
- Horizontal padding size, in pixels, between border and first
+*window.titlebar.padding.width*
+ Horizontal titlebar padding size, in pixels, between border and first
button on the left/right.
Default is 0.
-*padding.height*
- Vertical padding size, in pixels, used for spacing out elements
- in the window decorations.
+*window.titlebar.padding.height*
+ Vertical titlebar padding size, in pixels.
Default is 0.
*menu.items.padding.x*
# general
border.width: 1
-padding.width: 0
-padding.height: 0
+
+#
+# We do not support the global padding.{width,height} of openbox because
+# the default labwc button geometry has deviates from that of openbox
+#
+window.titlebar.padding.width: 0
+window.titlebar.padding.height: 0
# window border
window.active.border.color: #e1dedb
* the space between title bar border and
* buttons on the left/right/top
*/
- int padding_width;
- int padding_height;
+ int window_titlebar_padding_width;
+ int window_titlebar_padding_height;
int title_height;
int menu_overlap_x;
struct lab_data_buffer *shadow_corner_bottom_inactive;
struct lab_data_buffer *shadow_edge_inactive;
- /* not set in rc.xml/themerc, but derived from font & padding_height */
+ /*
+ * Not set in rc.xml/themerc, but derived from the tallest titlebar
+ * object plus 2 * window_titlebar_padding_height
+ */
int osd_window_switcher_item_height;
/* magnifier */
/* Buttons */
struct title_button *b;
- int x = theme->padding_width;
+ int x = theme->window_titlebar_padding_width;
/* Center vertically within titlebar */
int y = (theme->title_height - theme->window_button_height) / 2;
x += theme->window_button_width + theme->window_button_spacing;
}
- x = width - theme->padding_width + theme->window_button_spacing;
+ x = width - theme->window_titlebar_padding_width + theme->window_button_spacing;
wl_list_for_each_reverse(b, &rc.title_buttons_right, link) {
x -= theme->window_button_width + theme->window_button_spacing;
struct lab_data_buffer **buffers =
update_visible_buttons(struct ssd *ssd)
{
struct view *view = ssd->view;
- int width = view->current.width - (2 * view->server->theme->padding_width);
+ int width = view->current.width - (2 * view->server->theme->window_titlebar_padding_width);
int button_width = view->server->theme->window_button_width;
int button_spacing = view->server->theme->window_button_spacing;
int button_count_left = wl_list_length(&rc.title_buttons_left);
wlr_scene_rect_from_node(part->node),
width - bg_offset * 2, theme->title_height);
- x = theme->padding_width;
+ x = theme->window_titlebar_padding_width;
wl_list_for_each(b, &rc.title_buttons_left, link) {
part = ssd_get_part(&subtree->parts, b->type);
wlr_scene_node_set_position(part->node, x, y);
part = ssd_get_part(&subtree->parts, LAB_SSD_PART_TITLEBAR_CORNER_RIGHT);
wlr_scene_node_set_position(part->node, x, -rc.theme->border_width);
- x = width - theme->padding_width + theme->window_button_spacing;
+ x = width - theme->window_titlebar_padding_width + theme->window_button_spacing;
wl_list_for_each_reverse(b, &rc.title_buttons_right, link) {
part = ssd_get_part(&subtree->parts, b->type);
x -= theme->window_button_width + theme->window_button_spacing;
struct ssd_sub_tree *subtree = &ssd->titlebar.active;
int button_width = ssd->view->server->theme->window_button_width;
int button_spacing = ssd->view->server->theme->window_button_spacing;
- int padding_width = ssd->view->server->theme->padding_width;
+ int padding_width = ssd->view->server->theme->window_titlebar_padding_width;
*offset_left = padding_width;
*offset_right = padding_width;
*/
int hpad = theme->window_button_width / 10;
int icon_size = MIN(theme->window_button_width - 2 * hpad,
- theme->title_height - 2 * theme->padding_height);
+ theme->title_height - 2 * theme->window_titlebar_padding_height);
/*
* Load/render icons at the max scale of any usable output (at
float white[4] = {1, 1, 1, 1};
struct rounded_corner_ctx rounded_ctx = {
.box = &(struct wlr_box){
- .width = theme->padding_width + width,
+ .width = theme->window_titlebar_padding_width + width,
.height = height,
},
.radius = rc.corner_radius,
};
int mask_offset;
if (corner == LAB_CORNER_TOP_LEFT) {
- mask_offset = -theme->padding_width;
+ mask_offset = -theme->window_titlebar_padding_width;
} else {
mask_offset = 0;
}
theme_builtin(struct theme *theme, struct server *server)
{
theme->border_width = 1;
- theme->padding_height = 0;
+ theme->window_titlebar_padding_height = 0;
+ theme->window_titlebar_padding_width = 0;
theme->title_height = INT_MIN;
theme->menu_overlap_x = 0;
theme->menu_overlap_y = 0;
theme->window_label_text_justify = parse_justification("Center");
theme->menu_title_text_justify = parse_justification("Center");
- theme->padding_width = 0;
theme->window_button_width = 26;
theme->window_button_height = 26;
theme->window_button_spacing = 0;
theme->border_width = get_int_if_positive(
value, "border.width");
}
- if (match_glob(key, "padding.width")) {
- theme->padding_width = get_int_if_positive(
- value, "padding.width");
+ if (match_glob(key, "window.titlebar.padding.width")) {
+ theme->window_titlebar_padding_width = get_int_if_positive(
+ value, "window.titlebar.padding.width");
}
- if (match_glob(key, "padding.height")) {
- theme->padding_height = get_int_if_positive(
- value, "padding.height");
+ if (match_glob(key, "window.titlebar.padding.height")) {
+ theme->window_titlebar_padding_height = get_int_if_positive(
+ value, "window.titlebar.padding.height");
}
if (match_glob(key, "menu.items.padding.x")) {
theme->menu_item_padding_x = get_int_if_positive(
if (h < theme->window_button_height) {
h = theme->window_button_height;
}
- h += 2 * theme->padding_height;
+ h += 2 * theme->window_titlebar_padding_height;
return h;
}
return (rc.theme->window_button_width * (button_count_left + button_count_right)) +
(rc.theme->window_button_spacing * MAX((button_count_right - 1), 0)) +
(rc.theme->window_button_spacing * MAX((button_count_left - 1), 0)) +
- (2 * rc.theme->padding_width);
+ (2 * rc.theme->window_titlebar_padding_width);
}
void