mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-06-27 13:14:03 -04:00
opt: opt group data set when reload config
This commit is contained in:
parent
c071c6f019
commit
2f77be7e69
3 changed files with 67 additions and 54 deletions
|
|
@ -127,7 +127,7 @@ void client_add_group_bar(Client *c) {
|
|||
: LyrTile;
|
||||
|
||||
c->group_bar = mango_group_bar_create(c, GroupBar, layers[layer],
|
||||
config.tabdata, 0, 0);
|
||||
config.groupbardata, 0, 0);
|
||||
wlr_scene_node_lower_to_bottom(&c->group_bar->scene_buffer->node);
|
||||
wlr_scene_node_set_enabled(&c->group_bar->scene_buffer->node, false);
|
||||
mango_group_bar_update(c->group_bar, client_get_title(c),
|
||||
|
|
@ -264,4 +264,21 @@ void client_set_group_mon(Client *c, Monitor *m) {
|
|||
client_change_mon(cur, m);
|
||||
cur = cur->group_next;
|
||||
}
|
||||
}
|
||||
|
||||
void client_set_group_config(Client *c) {
|
||||
Client *head = c;
|
||||
while (head->group_prev)
|
||||
head = head->group_prev;
|
||||
|
||||
Client *cur = head;
|
||||
while (cur) {
|
||||
mango_jump_label_node_apply_config(cur->jump_label_node,
|
||||
&config.jumplabeldata);
|
||||
wlr_scene_rect_set_color(cur->droparea, config.dropcolor);
|
||||
wlr_scene_rect_set_color(cur->splitindicator[0], config.splitcolor);
|
||||
wlr_scene_rect_set_color(cur->splitindicator[1], config.splitcolor);
|
||||
mango_group_bar_apply_config(cur->group_bar, &config.groupbardata);
|
||||
cur = cur->group_next;
|
||||
}
|
||||
}
|
||||
|
|
@ -418,7 +418,7 @@ typedef struct {
|
|||
struct xkb_context *ctx;
|
||||
struct xkb_keymap *keymap;
|
||||
DecorateDrawData jumplabeldata;
|
||||
DecorateDrawData tabdata;
|
||||
DecorateDrawData groupbardata;
|
||||
|
||||
int32_t hdr_depth;
|
||||
} Config;
|
||||
|
|
@ -1786,7 +1786,7 @@ bool parse_option(Config *config, char *key, char *value) {
|
|||
} else if (strcmp(key, "cursor_theme") == 0) {
|
||||
config->cursor_theme = strdup(value);
|
||||
} else if (strcmp(key, "group_bar_decorate_font_desc") == 0) {
|
||||
config->tabdata.font_desc = strdup(value);
|
||||
config->groupbardata.font_desc = strdup(value);
|
||||
} else if (strcmp(key, "group_bar_decorate_fg_color") == 0) {
|
||||
int64_t color = parse_color(value);
|
||||
if (color == -1) {
|
||||
|
|
@ -1797,7 +1797,7 @@ bool parse_option(Config *config, char *key, char *value) {
|
|||
value);
|
||||
return false;
|
||||
} else {
|
||||
convert_hex_to_rgba(config->tabdata.fg_color, color);
|
||||
convert_hex_to_rgba(config->groupbardata.fg_color, color);
|
||||
}
|
||||
} else if (strcmp(key, "group_bar_decorate_bg_color") == 0) {
|
||||
int64_t color = parse_color(value);
|
||||
|
|
@ -1809,7 +1809,7 @@ bool parse_option(Config *config, char *key, char *value) {
|
|||
value);
|
||||
return false;
|
||||
} else {
|
||||
convert_hex_to_rgba(config->tabdata.bg_color, color);
|
||||
convert_hex_to_rgba(config->groupbardata.bg_color, color);
|
||||
}
|
||||
} else if (strcmp(key, "group_bar_decorate_focus_fg_color") == 0) {
|
||||
int64_t color = parse_color(value);
|
||||
|
|
@ -1821,7 +1821,7 @@ bool parse_option(Config *config, char *key, char *value) {
|
|||
value);
|
||||
return false;
|
||||
} else {
|
||||
convert_hex_to_rgba(config->tabdata.focus_fg_color, color);
|
||||
convert_hex_to_rgba(config->groupbardata.focus_fg_color, color);
|
||||
}
|
||||
} else if (strcmp(key, "group_bar_decorate_focus_bg_color") == 0) {
|
||||
int64_t color = parse_color(value);
|
||||
|
|
@ -1833,7 +1833,7 @@ bool parse_option(Config *config, char *key, char *value) {
|
|||
value);
|
||||
return false;
|
||||
} else {
|
||||
convert_hex_to_rgba(config->tabdata.focus_bg_color, color);
|
||||
convert_hex_to_rgba(config->groupbardata.focus_bg_color, color);
|
||||
}
|
||||
} else if (strcmp(key, "group_bar_decorate_border_color") == 0) {
|
||||
int64_t color = parse_color(value);
|
||||
|
|
@ -1845,16 +1845,16 @@ bool parse_option(Config *config, char *key, char *value) {
|
|||
value);
|
||||
return false;
|
||||
} else {
|
||||
convert_hex_to_rgba(config->tabdata.border_color, color);
|
||||
convert_hex_to_rgba(config->groupbardata.border_color, color);
|
||||
}
|
||||
} else if (strcmp(key, "group_bar_decorate_border_width") == 0) {
|
||||
config->tabdata.border_width = CLAMP_INT(atoi(value), 0, 100);
|
||||
config->groupbardata.border_width = CLAMP_INT(atoi(value), 0, 100);
|
||||
} else if (strcmp(key, "group_bar_decorate_corner_radius") == 0) {
|
||||
config->tabdata.corner_radius = CLAMP_INT(atoi(value), 0, 100);
|
||||
config->groupbardata.corner_radius = CLAMP_INT(atoi(value), 0, 100);
|
||||
} else if (strcmp(key, "group_bar_decorate_padding_x") == 0) {
|
||||
config->tabdata.padding_x = CLAMP_INT(atoi(value), 0, 100);
|
||||
config->groupbardata.padding_x = CLAMP_INT(atoi(value), 0, 100);
|
||||
} else if (strcmp(key, "group_bar_decorate_padding_y") == 0) {
|
||||
config->tabdata.padding_y = CLAMP_INT(atoi(value), 0, 100);
|
||||
config->groupbardata.padding_y = CLAMP_INT(atoi(value), 0, 100);
|
||||
} else if (strcmp(key, "jump_label_decorate_font_desc") == 0) {
|
||||
config->jumplabeldata.font_desc = strdup(value);
|
||||
} else if (strcmp(key, "jump_label_decorate_fg_color") == 0) {
|
||||
|
|
@ -3430,9 +3430,9 @@ void free_config(void) {
|
|||
config.jumplabeldata.font_desc = NULL;
|
||||
}
|
||||
|
||||
if (config.tabdata.font_desc) {
|
||||
free((void *)config.tabdata.font_desc);
|
||||
config.tabdata.font_desc = NULL;
|
||||
if (config.groupbardata.font_desc) {
|
||||
free((void *)config.groupbardata.font_desc);
|
||||
config.groupbardata.font_desc = NULL;
|
||||
}
|
||||
|
||||
if (config.tablet_map_to_mon) {
|
||||
|
|
@ -3628,12 +3628,14 @@ void override_config(void) {
|
|||
config.unfocused_opacity =
|
||||
CLAMP_FLOAT(config.unfocused_opacity, 0.0f, 1.0f);
|
||||
|
||||
config.tabdata.border_width =
|
||||
CLAMP_INT(config.tabdata.border_width, 0, 100);
|
||||
config.tabdata.corner_radius =
|
||||
CLAMP_INT(config.tabdata.corner_radius, 0, 100);
|
||||
config.tabdata.padding_x = CLAMP_INT(config.tabdata.padding_x, 0, 100);
|
||||
config.tabdata.padding_y = CLAMP_INT(config.tabdata.padding_y, 0, 100);
|
||||
config.groupbardata.border_width =
|
||||
CLAMP_INT(config.groupbardata.border_width, 0, 100);
|
||||
config.groupbardata.corner_radius =
|
||||
CLAMP_INT(config.groupbardata.corner_radius, 0, 100);
|
||||
config.groupbardata.padding_x =
|
||||
CLAMP_INT(config.groupbardata.padding_x, 0, 100);
|
||||
config.groupbardata.padding_y =
|
||||
CLAMP_INT(config.groupbardata.padding_y, 0, 100);
|
||||
|
||||
config.jumplabeldata.border_width =
|
||||
CLAMP_INT(config.jumplabeldata.border_width, 0, 100);
|
||||
|
|
@ -3819,30 +3821,30 @@ void set_value_default() {
|
|||
config.animation_curve_opafadeout[2] = 0.5;
|
||||
config.animation_curve_opafadeout[3] = 0.5;
|
||||
|
||||
config.tabdata.fg_color[0] = 0xc4 / 255.0f;
|
||||
config.tabdata.fg_color[1] = 0x93 / 255.0f;
|
||||
config.tabdata.fg_color[2] = 0x9d / 255.0f;
|
||||
config.tabdata.fg_color[3] = 1.0f;
|
||||
config.tabdata.bg_color[0] = 0x32 / 255.0f;
|
||||
config.tabdata.bg_color[1] = 0x32 / 255.0f;
|
||||
config.tabdata.bg_color[2] = 0x32 / 255.0f;
|
||||
config.tabdata.bg_color[3] = 1.0f;
|
||||
config.tabdata.focus_fg_color[0] = 0xed / 255.0f;
|
||||
config.tabdata.focus_fg_color[1] = 0xa6 / 255.0f;
|
||||
config.tabdata.focus_fg_color[2] = 0xb4 / 255.0f;
|
||||
config.tabdata.focus_fg_color[3] = 1.0f;
|
||||
config.tabdata.focus_bg_color[0] = 0x4e / 255.0f;
|
||||
config.tabdata.focus_bg_color[1] = 0x45 / 255.0f;
|
||||
config.tabdata.focus_bg_color[2] = 0x3c / 255.0f;
|
||||
config.tabdata.focus_bg_color[3] = 1.0f;
|
||||
config.tabdata.border_color[0] = 0x8b / 255.0f;
|
||||
config.tabdata.border_color[1] = 0xaa / 255.0f;
|
||||
config.tabdata.border_color[2] = 0x9b / 255.0f;
|
||||
config.tabdata.border_color[3] = 1.0f;
|
||||
config.tabdata.border_width = 4;
|
||||
config.tabdata.corner_radius = 5;
|
||||
config.tabdata.padding_x = 0;
|
||||
config.tabdata.padding_y = 0;
|
||||
config.groupbardata.fg_color[0] = 0xc4 / 255.0f;
|
||||
config.groupbardata.fg_color[1] = 0x93 / 255.0f;
|
||||
config.groupbardata.fg_color[2] = 0x9d / 255.0f;
|
||||
config.groupbardata.fg_color[3] = 1.0f;
|
||||
config.groupbardata.bg_color[0] = 0x32 / 255.0f;
|
||||
config.groupbardata.bg_color[1] = 0x32 / 255.0f;
|
||||
config.groupbardata.bg_color[2] = 0x32 / 255.0f;
|
||||
config.groupbardata.bg_color[3] = 1.0f;
|
||||
config.groupbardata.focus_fg_color[0] = 0xed / 255.0f;
|
||||
config.groupbardata.focus_fg_color[1] = 0xa6 / 255.0f;
|
||||
config.groupbardata.focus_fg_color[2] = 0xb4 / 255.0f;
|
||||
config.groupbardata.focus_fg_color[3] = 1.0f;
|
||||
config.groupbardata.focus_bg_color[0] = 0x4e / 255.0f;
|
||||
config.groupbardata.focus_bg_color[1] = 0x45 / 255.0f;
|
||||
config.groupbardata.focus_bg_color[2] = 0x3c / 255.0f;
|
||||
config.groupbardata.focus_bg_color[3] = 1.0f;
|
||||
config.groupbardata.border_color[0] = 0x8b / 255.0f;
|
||||
config.groupbardata.border_color[1] = 0xaa / 255.0f;
|
||||
config.groupbardata.border_color[2] = 0x9b / 255.0f;
|
||||
config.groupbardata.border_color[3] = 1.0f;
|
||||
config.groupbardata.border_width = 4;
|
||||
config.groupbardata.corner_radius = 5;
|
||||
config.groupbardata.padding_x = 0;
|
||||
config.groupbardata.padding_y = 0;
|
||||
|
||||
config.jumplabeldata.fg_color[0] = 0xc4 / 255.0f;
|
||||
config.jumplabeldata.fg_color[1] = 0x93 / 255.0f;
|
||||
|
|
@ -3982,7 +3984,7 @@ bool parse_config(void) {
|
|||
config.tag_rules_count = 0;
|
||||
config.cursor_theme = NULL;
|
||||
config.jumplabeldata.font_desc = NULL;
|
||||
config.tabdata.font_desc = NULL;
|
||||
config.groupbardata.font_desc = NULL;
|
||||
config.tablet_map_to_mon = NULL;
|
||||
strcpy(config.keymode, "default");
|
||||
|
||||
|
|
@ -4156,14 +4158,7 @@ void reapply_property(void) {
|
|||
if (!c->isnoborder && !c->isfullscreen) {
|
||||
c->bw = config.borderpx;
|
||||
}
|
||||
|
||||
mango_jump_label_node_apply_config(c->jump_label_node,
|
||||
&config.jumplabeldata);
|
||||
mango_group_bar_apply_config(c->group_bar, &config.tabdata);
|
||||
|
||||
wlr_scene_rect_set_color(c->droparea, config.dropcolor);
|
||||
wlr_scene_rect_set_color(c->splitindicator[0], config.splitcolor);
|
||||
wlr_scene_rect_set_color(c->splitindicator[1], config.splitcolor);
|
||||
client_set_group_config(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -963,6 +963,7 @@ static bool mango_scene_output_commit(struct wlr_scene_output *scene_output,
|
|||
struct wlr_output_state *state);
|
||||
static bool mango_output_commit(Monitor *m);
|
||||
static bool check_tearing_frame_allow(Monitor *m);
|
||||
static void client_set_group_config(Client *c);
|
||||
|
||||
#include "data/static_keymap.h"
|
||||
#include "dispatch/bind_declare.h"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue