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 ## Unreleased
### Added ### Added
### Changed ### Changed
* `gamma-correct-blending` now defaults to `no` instead of `yes`.
### Deprecated ### Deprecated
### Removed ### Removed
### Fixed ### Fixed

View file

@ -1083,17 +1083,8 @@ parse_section_main(struct context *ctx)
return true; return true;
} }
else if (streq(key, "gamma-correct-blending")) { else if (streq(key, "gamma-correct-blending"))
bool gamma_correct; return value_to_bool(ctx, &conf->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 { else {
LOG_CONTEXTUAL_ERR("not a valid option: %s", key); 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}, .underline_thickness = {.pt = 0., .px = -1},
.strikeout_thickness = {.pt = 0., .px = -1}, .strikeout_thickness = {.pt = 0., .px = -1},
.dpi_aware = false, .dpi_aware = false,
.gamma_correct = GAMMA_CORRECT_AUTO, .gamma_correct = false,
.security = { .security = {
.osc52 = OSC52_ENABLED, .osc52 = OSC52_ENABLED,
}, },

View file

@ -168,9 +168,7 @@ struct config {
enum { STARTUP_WINDOWED, STARTUP_MAXIMIZED, STARTUP_FULLSCREEN } startup_mode; enum { STARTUP_WINDOWED, STARTUP_MAXIMIZED, STARTUP_FULLSCREEN } startup_mode;
bool dpi_aware; bool dpi_aware;
enum {GAMMA_CORRECT_DISABLED, bool gamma_correct;
GAMMA_CORRECT_ENABLED,
GAMMA_CORRECT_AUTO} gamma_correct;
struct config_font_list fonts[4]; struct config_font_list fonts[4];
struct font_size_adjustment font_size_adjustment; 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 though. The amount of errors can be reduced by using 10-bit
surfaces; see *tweak.surface-bit-depth*. surfaces; see *tweak.surface-bit-depth*.
Default: enabled when compositor support is available Default: _no_.
*box-drawings-uses-font-glyphs* *box-drawings-uses-font-glyphs*
Boolean. When disabled, foot generates box/line drawing characters Boolean. When disabled, foot generates box/line drawing characters

View file

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

View file

@ -5251,6 +5251,6 @@ render_xcursor_set(struct seat *seat, struct terminal *term,
bool bool
render_do_linear_blending(const struct terminal *term) 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; 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, "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, "locked-title", &conf.locked_title);
test_boolean(&ctx, &parse_section_main, "dpi-aware", &conf.dpi_aware); 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, "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); 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); 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) { if (wayl->color_management.img_description != NULL) {
xassert(wayl->color_management.manager != 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( wp_color_management_surface_v1_set_image_description(
win->surface.color_management, wayl->color_management.img_description, win->surface.color_management, wayl->color_management.img_description,
WP_COLOR_MANAGER_V1_RENDER_INTENT_PERCEPTUAL); WP_COLOR_MANAGER_V1_RENDER_INTENT_PERCEPTUAL);
} else if (term->conf->gamma_correct == GAMMA_CORRECT_ENABLED) { } else {
if (wayl->color_management.manager == NULL) { if (wayl->color_management.manager == NULL) {
LOG_WARN( LOG_WARN(
"gamma-corrected-blending: disabling; " "gamma-corrected-blending: disabling; "
@ -2005,8 +2005,6 @@ wayl_win_init(struct terminal *term, const char *token)
LOG_WARN(" - TF: ext_linear"); LOG_WARN(" - TF: ext_linear");
LOG_WARN(" - primaries: sRGB"); LOG_WARN(" - primaries: sRGB");
} }
} else {
/* "auto" - don't warn */
} }
} }