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->right_margin = config->right_margin;
|
||||||
priv->border.width = config->border.width;
|
priv->border.width = config->border.width;
|
||||||
priv->border.color = config->border.color;
|
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.mods = malloc(config->left.count * sizeof(priv->left.mods[0]));
|
||||||
priv->left.exps = calloc(config->left.count, sizeof(priv->left.exps[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]));
|
priv->center.mods = malloc(config->center.count * sizeof(priv->center.mods[0]));
|
||||||
|
|
|
@ -28,6 +28,8 @@ struct bar_config {
|
||||||
struct {
|
struct {
|
||||||
int width;
|
int width;
|
||||||
struct rgba color;
|
struct rgba color;
|
||||||
|
int left_margin, right_margin;
|
||||||
|
int top_margin, bottom_margin;
|
||||||
} border;
|
} border;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
|
|
@ -19,6 +19,8 @@ struct private {
|
||||||
struct {
|
struct {
|
||||||
int width;
|
int width;
|
||||||
struct rgba color;
|
struct rgba color;
|
||||||
|
int left_margin, right_margin;
|
||||||
|
int top_margin, bottom_margin;
|
||||||
} border;
|
} border;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
|
|
@ -331,6 +331,11 @@ verify_bar_border(keychain_t *chain, const struct yml_node *node)
|
||||||
static const struct attr_info attrs[] = {
|
static const struct attr_info attrs[] = {
|
||||||
{"width", true, &conf_verify_int},
|
{"width", true, &conf_verify_int},
|
||||||
{"color", true, &conf_verify_color},
|
{"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},
|
{NULL, false, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
20
config.c
20
config.c
|
@ -226,12 +226,32 @@ conf_to_bar(const struct yml_node *bar)
|
||||||
if (border != NULL) {
|
if (border != NULL) {
|
||||||
const struct yml_node *width = yml_get_value(border, "width");
|
const struct yml_node *width = yml_get_value(border, "width");
|
||||||
const struct yml_node *color = yml_get_value(border, "color");
|
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)
|
if (width != NULL)
|
||||||
conf.border.width = yml_value_as_int(width);
|
conf.border.width = yml_value_as_int(width);
|
||||||
|
|
||||||
if (color != NULL)
|
if (color != NULL)
|
||||||
conf.border.color = conf_to_color(color);
|
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