mirror of
https://codeberg.org/dnkl/yambar.git
synced 2025-04-19 19:25:41 +02:00
bar: add margin properties to the border
This commit is contained in:
parent
12ef2569a4
commit
50d6afab6a
5 changed files with 33 additions and 0 deletions
|
@ -378,6 +378,10 @@ bar_new(const struct bar_config *config)
|
|||
priv->right_margin = config->right_margin;
|
||||
priv->border.width = config->border.width;
|
||||
priv->border.color = config->border.color;
|
||||
priv->border.left_margin = config->border.left_margin;
|
||||
priv->border.right_margin = config->border.right_margin;
|
||||
priv->border.top_margin = config->border.top_margin;
|
||||
priv->border.bottom_margin = config->border.bottom_margin;
|
||||
priv->left.mods = malloc(config->left.count * sizeof(priv->left.mods[0]));
|
||||
priv->left.exps = calloc(config->left.count, sizeof(priv->left.exps[0]));
|
||||
priv->center.mods = malloc(config->center.count * sizeof(priv->center.mods[0]));
|
||||
|
|
|
@ -28,6 +28,8 @@ struct bar_config {
|
|||
struct {
|
||||
int width;
|
||||
struct rgba color;
|
||||
int left_margin, right_margin;
|
||||
int top_margin, bottom_margin;
|
||||
} border;
|
||||
|
||||
struct {
|
||||
|
|
|
@ -19,6 +19,8 @@ struct private {
|
|||
struct {
|
||||
int width;
|
||||
struct rgba color;
|
||||
int left_margin, right_margin;
|
||||
int top_margin, bottom_margin;
|
||||
} border;
|
||||
|
||||
struct {
|
||||
|
|
|
@ -331,6 +331,11 @@ verify_bar_border(keychain_t *chain, const struct yml_node *node)
|
|||
static const struct attr_info attrs[] = {
|
||||
{"width", true, &conf_verify_int},
|
||||
{"color", true, &conf_verify_color},
|
||||
{"margin", false, &conf_verify_int},
|
||||
{"left-margin", false, &conf_verify_int},
|
||||
{"right-margin", false, &conf_verify_int},
|
||||
{"top-margin", false, &conf_verify_int},
|
||||
{"bottom-margin", false, &conf_verify_int},
|
||||
{NULL, false, NULL},
|
||||
};
|
||||
|
||||
|
|
20
config.c
20
config.c
|
@ -226,12 +226,32 @@ conf_to_bar(const struct yml_node *bar)
|
|||
if (border != NULL) {
|
||||
const struct yml_node *width = yml_get_value(border, "width");
|
||||
const struct yml_node *color = yml_get_value(border, "color");
|
||||
const struct yml_node *margin = yml_get_value(border, "margin");
|
||||
const struct yml_node *left_margin = yml_get_value(border, "left-margin");
|
||||
const struct yml_node *right_margin = yml_get_value(border, "right-margin");
|
||||
const struct yml_node *top_margin = yml_get_value(border, "top-margin");
|
||||
const struct yml_node *bottom_margin = yml_get_value(border, "bottom-margin");
|
||||
|
||||
if (width != NULL)
|
||||
conf.border.width = yml_value_as_int(width);
|
||||
|
||||
if (color != NULL)
|
||||
conf.border.color = conf_to_color(color);
|
||||
|
||||
if (margin != NULL)
|
||||
conf.border.left_margin =
|
||||
conf.border.right_margin =
|
||||
conf.border.top_margin =
|
||||
conf.border.bottom_margin = yml_value_as_int(margin);
|
||||
|
||||
if (left_margin != NULL)
|
||||
conf.border.left_margin = yml_value_as_int(left_margin);
|
||||
if (right_margin != NULL)
|
||||
conf.border.right_margin = yml_value_as_int(right_margin);
|
||||
if (top_margin != NULL)
|
||||
conf.border.top_margin = yml_value_as_int(top_margin);
|
||||
if (bottom_margin != NULL)
|
||||
conf.border.bottom_margin = yml_value_as_int(bottom_margin);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Reference in a new issue