Render faint attribute - st - Simple Terminal
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit f796533b1bab9aa8ea4e70b79d305c9aea47fe6a
 (DIR) parent 955923b38b1f08f6cb25a706cea2af5966339187
 (HTM) Author: Anders Eurenius <aes@spotify.com>
       Date:   Sun, 22 Jun 2014 00:10:59 +0200
       
       Render faint attribute
       
       Faint text is implemented by allocating a new color at one-half
       intensity of each of the r, g, b components, or if the text bold at the
       same time, it is not made lighter.
       
       Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>
       Signed-off-by: Christoph Lohmann <20h@r-36.net>
       
       Diffstat:
         st.c                                |      10 +++++++++-
       
       1 file changed, 9 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -3179,7 +3179,7 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
                         * change basic system colors [0-7]
                         * to bright system colors [8-15]
                         */
       -                if(BETWEEN(base.fg, 0, 7))
       +                if(BETWEEN(base.fg, 0, 7) && !(base.mode & ATTR_FAINT))
                                fg = &dc.col[base.fg + 8];
        
                        if(base.mode & ATTR_ITALIC) {
       @@ -3223,6 +3223,14 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) {
                        bg = temp;
                }
        
       +        if(base.mode & ATTR_FAINT && !(base.mode & ATTR_BOLD)) {
       +                colfg.red = fg->color.red / 2;
       +                colfg.green = fg->color.green / 2;
       +                colfg.blue = fg->color.blue / 2;
       +                XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &revfg);
       +                fg = &revfg;
       +        }
       +
                if(base.mode & ATTR_BLINK && term.mode & MODE_BLINK)
                        fg = bg;