config: gamma-correct-blending: disable by default

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

View file

@ -91,6 +91,7 @@
### Changed ### Changed
* `cursor.color` moved to `colors.cursor`. * `cursor.color` moved to `colors.cursor`.
* `gamma-correct-blending` now defaults to `no` instead of `yes`.
### Deprecated ### Deprecated

View file

@ -1086,17 +1086,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 if (streq(key, "initial-color-theme")) { else if (streq(key, "initial-color-theme")) {
_Static_assert( _Static_assert(
@ -3362,7 +3353,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

@ -232,9 +232,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-color-theme=1 # initial-color-theme=1
# initial-window-size-pixels=700x500 # Or, # initial-window-size-pixels=700x500 # Or,

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

@ -490,6 +490,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 */
} }
} }