mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-26 07:57:59 -04:00
config: CSD borders are always invisible
That is, remove all configuration options and always draw them fully transparent.
This commit is contained in:
parent
cb6616ef8a
commit
c90d70b2bf
5 changed files with 10 additions and 56 deletions
29
config.c
29
config.c
|
|
@ -350,7 +350,7 @@ parse_section_csd(const char *key, const char *value, struct config *conf,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (strcmp(key, "titlebar-color") == 0) {
|
else if (strcmp(key, "color") == 0) {
|
||||||
uint32_t color;
|
uint32_t color;
|
||||||
if (!str_to_color(value, &color, true, path, lineno)) {
|
if (!str_to_color(value, &color, true, path, lineno)) {
|
||||||
LOG_ERR("%s:%d: invalid titlebar-color: %s", path, lineno, value);
|
LOG_ERR("%s:%d: invalid titlebar-color: %s", path, lineno, value);
|
||||||
|
|
@ -361,18 +361,7 @@ parse_section_csd(const char *key, const char *value, struct config *conf,
|
||||||
conf->csd.color.title = color;
|
conf->csd.color.title = color;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (strcmp(key, "border-color") == 0) {
|
else if (strcmp(key, "size") == 0) {
|
||||||
uint32_t color;
|
|
||||||
if (!str_to_color(value, &color, true, path, lineno)) {
|
|
||||||
LOG_ERR("%s:%d: invalid border-color: %s", path, lineno, value);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
conf->csd.color.border_set = true;
|
|
||||||
conf->csd.color.border = color;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (strcmp(key, "titlebar-size") == 0) {
|
|
||||||
unsigned long pixels;
|
unsigned long pixels;
|
||||||
if (!str_to_ulong(value, 10, &pixels)) {
|
if (!str_to_ulong(value, 10, &pixels)) {
|
||||||
LOG_ERR("%s:%d: expected an integer: %s", path, lineno, value);
|
LOG_ERR("%s:%d: expected an integer: %s", path, lineno, value);
|
||||||
|
|
@ -382,16 +371,6 @@ parse_section_csd(const char *key, const char *value, struct config *conf,
|
||||||
conf->csd.title_height = pixels;
|
conf->csd.title_height = pixels;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (strcmp(key, "border-width") == 0) {
|
|
||||||
unsigned long pixels;
|
|
||||||
if (!str_to_ulong(value, 10, &pixels)) {
|
|
||||||
LOG_ERR("%s:%d: expected an integer: %s", path, lineno, value);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
conf->csd.border_width = pixels;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (strcmp(key, "button-width") == 0) {
|
else if (strcmp(key, "button-width") == 0) {
|
||||||
unsigned long pixels;
|
unsigned long pixels;
|
||||||
if (!str_to_ulong(value, 10, &pixels)) {
|
if (!str_to_ulong(value, 10, &pixels)) {
|
||||||
|
|
@ -645,10 +624,6 @@ config_load(struct config *conf, const char *conf_path)
|
||||||
.title_height = 26,
|
.title_height = 26,
|
||||||
.border_width = 5,
|
.border_width = 5,
|
||||||
.button_width = 22,
|
.button_width = 22,
|
||||||
.color = {
|
|
||||||
.title_set = false,
|
|
||||||
.border_set = false,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
.render_worker_count = sysconf(_SC_NPROCESSORS_ONLN),
|
.render_worker_count = sysconf(_SC_NPROCESSORS_ONLN),
|
||||||
|
|
|
||||||
2
config.h
2
config.h
|
|
@ -45,12 +45,10 @@ struct config {
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
bool title_set;
|
bool title_set;
|
||||||
bool border_set;
|
|
||||||
bool minimize_set;
|
bool minimize_set;
|
||||||
bool maximize_set;
|
bool maximize_set;
|
||||||
bool close_set;
|
bool close_set;
|
||||||
uint32_t title;
|
uint32_t title;
|
||||||
uint32_t border;
|
|
||||||
uint32_t minimize;
|
uint32_t minimize;
|
||||||
uint32_t maximize;
|
uint32_t maximize;
|
||||||
uint32_t close;
|
uint32_t close;
|
||||||
|
|
|
||||||
|
|
@ -126,23 +126,16 @@ component.
|
||||||
compositor. Depending on the compositor's configuration and
|
compositor. Depending on the compositor's configuration and
|
||||||
capabilities, it may not have any effect. Default: _server_.
|
capabilities, it may not have any effect. Default: _server_.
|
||||||
|
|
||||||
*titlebar-size*
|
*size*
|
||||||
Height, in pixels (but subject to output scaling), of the
|
Height, in pixels (subject to output scaling), of the
|
||||||
titlebar, not including the window border. Default: _26_.
|
titlebar. Default: _26_.
|
||||||
|
|
||||||
*border-width*
|
*color*
|
||||||
Width, in pixels (but subject to output scaling), of the
|
|
||||||
borders. Default: _5_.
|
|
||||||
|
|
||||||
*titlebar-color*
|
|
||||||
Titlebar AARRGGBB color. Default: use the default _foreground_
|
Titlebar AARRGGBB color. Default: use the default _foreground_
|
||||||
color.
|
color.
|
||||||
|
|
||||||
*border-color*
|
|
||||||
Border AARRGGBB color. Default: _transparent_.
|
|
||||||
|
|
||||||
*button-width*
|
*button-width*
|
||||||
Width, in pixels (but subject to output scaling), of the
|
Width, in pixels (subject to output scaling), of the
|
||||||
minimize/maximize/close buttons. Default: _22_.
|
minimize/maximize/close buttons. Default: _22_.
|
||||||
|
|
||||||
*button-minimize-color*
|
*button-minimize-color*
|
||||||
|
|
|
||||||
6
footrc
6
footrc
|
|
@ -36,10 +36,8 @@
|
||||||
|
|
||||||
[csd]
|
[csd]
|
||||||
# preferred=server
|
# preferred=server
|
||||||
# titlebar-size=26
|
# size=26
|
||||||
# border-width=5
|
# color=<foreground color>
|
||||||
# titlebar-color=<foreground color>
|
|
||||||
# border-color=00000000
|
|
||||||
# button-width=22
|
# button-width=22
|
||||||
# button-minimize-color=ff0000ff
|
# button-minimize-color=ff0000ff
|
||||||
# button-maximize-color=ff00ff00
|
# button-maximize-color=ff00ff00
|
||||||
|
|
|
||||||
12
render.c
12
render.c
|
|
@ -779,17 +779,7 @@ render_csd_border(struct terminal *term, enum csd_surface surf_idx)
|
||||||
struct buffer *buf = shm_get_buffer(
|
struct buffer *buf = shm_get_buffer(
|
||||||
term->wl->shm, info.width, info.height, cookie);
|
term->wl->shm, info.width, info.height, cookie);
|
||||||
|
|
||||||
uint32_t _color = 0;
|
pixman_color_t color = color_hex_to_pixman_with_alpha(0, 0);
|
||||||
uint16_t alpha = 0;
|
|
||||||
|
|
||||||
if (term->conf->csd.color.border_set) {
|
|
||||||
_color = term->conf->csd.color.border;
|
|
||||||
alpha = _color >> 24 | (_color >> 24 << 8);
|
|
||||||
}
|
|
||||||
|
|
||||||
pixman_color_t color = color_hex_to_pixman_with_alpha(_color, alpha);
|
|
||||||
if (!term->visual_focus)
|
|
||||||
pixman_color_dim(&color);
|
|
||||||
render_csd_part(term, surf, buf, info.width, info.height, &color);
|
render_csd_part(term, surf, buf, info.width, info.height, &color);
|
||||||
csd_commit(term, surf, buf);
|
csd_commit(term, surf, buf);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue