config: gamma-correct-blending: disable by default

This commit is contained in:
Daniel Eklöf 2025-05-01 08:09:08 +02:00
parent 9ff0151055
commit 7ced397089
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
8 changed files with 14 additions and 21 deletions

View file

@ -65,6 +65,10 @@
## Unreleased
### Added
### Changed
* `gamma-correct-blending` now defaults to `no` instead of `yes`.
### Deprecated
### Removed
### Fixed

View file

@ -1083,17 +1083,8 @@ parse_section_main(struct context *ctx)
return true;
}
else if (streq(key, "gamma-correct-blending")) {
bool gamma_correct;
if (!value_to_bool(ctx, &gamma_correct))
return false;
conf->gamma_correct =
gamma_correct
? GAMMA_CORRECT_ENABLED
: GAMMA_CORRECT_DISABLED;
return true;
}
else if (streq(key, "gamma-correct-blending"))
return value_to_bool(ctx, &conf->gamma_correct);
else {
LOG_CONTEXTUAL_ERR("not a valid option: %s", key);
@ -3318,7 +3309,7 @@ config_load(struct config *conf, const char *conf_path,
.underline_thickness = {.pt = 0., .px = -1},
.strikeout_thickness = {.pt = 0., .px = -1},
.dpi_aware = false,
.gamma_correct = GAMMA_CORRECT_AUTO,
.gamma_correct = false,
.security = {
.osc52 = OSC52_ENABLED,
},

View file

@ -168,9 +168,7 @@ struct config {
enum { STARTUP_WINDOWED, STARTUP_MAXIMIZED, STARTUP_FULLSCREEN } startup_mode;
bool dpi_aware;
enum {GAMMA_CORRECT_DISABLED,
GAMMA_CORRECT_ENABLED,
GAMMA_CORRECT_AUTO} gamma_correct;
bool gamma_correct;
struct config_font_list fonts[4];
struct font_size_adjustment font_size_adjustment;

View file

@ -227,7 +227,7 @@ empty string to be set, but it must be quoted: *KEY=""*)
though. The amount of errors can be reduced by using 10-bit
surfaces; see *tweak.surface-bit-depth*.
Default: enabled when compositor support is available
Default: _no_.
*box-drawings-uses-font-glyphs*
Boolean. When disabled, foot generates box/line drawing characters

View file

@ -22,6 +22,7 @@
# strikeout-thickness=<font strikeout thickness>
# box-drawings-uses-font-glyphs=no
# dpi-aware=no
# gamma-correct-blending=no
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>

View file

@ -5251,6 +5251,6 @@ render_xcursor_set(struct seat *seat, struct terminal *term,
bool
render_do_linear_blending(const struct terminal *term)
{
return term->conf->gamma_correct != GAMMA_CORRECT_DISABLED &&
return term->conf->gamma_correct &&
term->wl->color_management.img_description != NULL;
}

View file

@ -468,6 +468,7 @@ test_section_main(void)
test_boolean(&ctx, &parse_section_main, "box-drawings-uses-font-glyphs", &conf.box_drawings_uses_font_glyphs);
test_boolean(&ctx, &parse_section_main, "locked-title", &conf.locked_title);
test_boolean(&ctx, &parse_section_main, "dpi-aware", &conf.dpi_aware);
test_boolean(&ctx, &parse_section_main, "gamma-correct-blending", &conf.gamma_correct);
test_pt_or_px(&ctx, &parse_section_main, "font-size-adjustment", &conf.font_size_adjustment.pt_or_px); /* TODO: test N% values too */
test_pt_or_px(&ctx, &parse_section_main, "line-height", &conf.line_height);

View file

@ -1980,7 +1980,7 @@ wayl_win_init(struct terminal *term, const char *token)
xdg_toplevel_icon_v1_destroy(icon);
}
if (term->conf->gamma_correct != GAMMA_CORRECT_DISABLED) {
if (term->conf->gamma_correct) {
if (wayl->color_management.img_description != NULL) {
xassert(wayl->color_management.manager != NULL);
@ -1990,7 +1990,7 @@ wayl_win_init(struct terminal *term, const char *token)
wp_color_management_surface_v1_set_image_description(
win->surface.color_management, wayl->color_management.img_description,
WP_COLOR_MANAGER_V1_RENDER_INTENT_PERCEPTUAL);
} else if (term->conf->gamma_correct == GAMMA_CORRECT_ENABLED) {
} else {
if (wayl->color_management.manager == NULL) {
LOG_WARN(
"gamma-corrected-blending: disabling; "
@ -2005,8 +2005,6 @@ wayl_win_init(struct terminal *term, const char *token)
LOG_WARN(" - TF: ext_linear");
LOG_WARN(" - primaries: sRGB");
}
} else {
/* "auto" - don't warn */
}
}