From 8688e47ddb932818d4e0992299c3cbbff6cf0572 Mon Sep 17 00:00:00 2001 From: Carlo Abelli Date: Sun, 28 Jun 2020 20:07:16 -0400 Subject: [PATCH] Fix foreground dimming with truecolor text Fixes #3766. --- CHANGELOG.md | 1 + alacritty_terminal/src/term/mod.rs | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1af19d7d..0297b1e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Display not scrolling when printing new lines while scrolled in history - Regression in font rendering on macOS - Scroll down escape (`CSI Ps T`) incorrectly pulling lines from history +- Dim escape (`CSI 2 m`) support for truecolor text ## 0.4.3 diff --git a/alacritty_terminal/src/term/mod.rs b/alacritty_terminal/src/term/mod.rs index d538a427..bed3f1bc 100644 --- a/alacritty_terminal/src/term/mod.rs +++ b/alacritty_terminal/src/term/mod.rs @@ -21,7 +21,7 @@ use crate::grid::{ use crate::index::{self, Column, IndexRange, Line, Point, Side}; use crate::selection::{Selection, SelectionRange}; use crate::term::cell::{Cell, Flags, LineLength}; -use crate::term::color::Rgb; +use crate::term::color::{Rgb, DIM_FACTOR}; use crate::vi_mode::{ViModeCursor, ViMotion}; pub mod cell; @@ -378,7 +378,10 @@ impl RenderableCell { fn compute_fg_rgb(config: &Config, colors: &color::List, fg: Color, flags: Flags) -> Rgb { match fg { - Color::Spec(rgb) => rgb, + Color::Spec(rgb) => match flags & Flags::DIM { + Flags::DIM => rgb * DIM_FACTOR, + _ => rgb, + }, Color::Named(ansi) => { match (config.draw_bold_text_with_bright_colors(), flags & Flags::DIM_BOLD) { // If no bright foreground is set, treat it like the BOLD flag doesn't exist.