Visible bell color falls back to default fg when selection bg is none
This commit is contained in:
parent
b4a6ed8d8f
commit
ce36b09593
@ -195,11 +195,11 @@ colorprofile_to_color(ColorProfile *self, DynamicColor entry, DynamicColor defva
|
||||
}
|
||||
|
||||
color_type
|
||||
colorprofile_to_color_with_fallback(ColorProfile *self, DynamicColor entry, DynamicColor defval, DynamicColor fallback, DynamicColor falback_defval) {
|
||||
colorprofile_to_color_with_fallback(ColorProfile *self, DynamicColor entry, DynamicColor defval, DynamicColor fallback, DynamicColor fallback_defval) {
|
||||
switch(entry.type) {
|
||||
case COLOR_NOT_SET:
|
||||
case COLOR_IS_SPECIAL:
|
||||
if (defval.type == COLOR_IS_SPECIAL) return colorprofile_to_color(self, fallback, falback_defval).rgb;
|
||||
if (defval.type == COLOR_IS_SPECIAL) return colorprofile_to_color(self, fallback, fallback_defval).rgb;
|
||||
return defval.rgb;
|
||||
case COLOR_IS_RGB:
|
||||
return entry.rgb;
|
||||
|
||||
@ -635,8 +635,11 @@ draw_visual_bell_flash(GLfloat intensity, GLfloat xstart, GLfloat ystart, GLfloa
|
||||
glBlendFuncSeparate(GL_ONE, GL_ONE_MINUS_SRC_ALPHA, GL_ZERO, GL_ONE);
|
||||
bind_program(TINT_PROGRAM);
|
||||
GLfloat attenuation = 0.4f;
|
||||
const color_type flash = colorprofile_to_color_with_fallback(
|
||||
screen->color_profile, screen->color_profile->overridden.visual_bell_color, screen->color_profile->configured.visual_bell_color, screen->color_profile->overridden.highlight_bg, screen->color_profile->configured.highlight_bg);
|
||||
#define IS_SPECIAL_COLOR(name) (screen->color_profile->overridden.name.type == COLOR_IS_SPECIAL || (screen->color_profile->overridden.name.type == COLOR_NOT_SET && screen->color_profile->configured.name.type == COLOR_IS_SPECIAL))
|
||||
#define COLOR(name, fallback) colorprofile_to_color_with_fallback(screen->color_profile, screen->color_profile->overridden.name, screen->color_profile->configured.name, screen->color_profile->overridden.fallback, screen->color_profile->configured.fallback)
|
||||
const color_type flash = !IS_SPECIAL_COLOR(highlight_bg) ? COLOR(visual_bell_color, highlight_bg) : COLOR(visual_bell_color, default_fg);
|
||||
#undef IS_SPECIAL_COLOR
|
||||
#undef COLOR
|
||||
#define C(shift) ((((GLfloat)((flash >> shift) & 0xFF)) / 255.0f) )
|
||||
const GLfloat r = C(16), g = C(8), b = C(0);
|
||||
const GLfloat max_channel = r > g ? (r > b ? r : b) : (g > b ? g : b);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user