telephone-line-accent-* face won't show propertized strings correctly
shackra opened this issue · 3 comments
I've been debugging this for a while thinking this is fault of all-the-icons package, but by accident I found that accent
face won't respect propertized strings, in the following screenshot you can see something like a cloud and at its right an exclamation mark, the icons are supposed to be the same --an exclamation mark inside a circle-- but on the accent
"side" the character is not rendered propertly using the FontAwesome font, take a look:
Since in the source code accent
is composed of two faces that inherits from the mode-line
face we should see improperly shown characters on the mode-line sans telephone-line-mode, right? wrong!:
The check inside a circle, the exclamation mark inside a red-ish triangle and the Git inside a square are shown perfectly.
This is what describe-face RET mode-line RET
shows for my Emacs configuration:
Face: mode-line (sample) (customize this face)
Documentation:
Basic mode line face for selected window.
Defined in ‘faces.el’.
Family: unspecified
Foundry: unspecified
Width: unspecified
Height: unspecified
Weight: unspecified
Slant: unspecified
Foreground: #F8F8F0
DistantForeground: unspecified
Background: #49483E
Underline: unspecified
Overline: unspecified
Strike-through: unspecified
Box: nil
Inverse: unspecified
Stipple: unspecified
Font: unspecified
Fontset: unspecified
Inherit: unspecified
Yeah, I'm aware of this but I'm not sure that there's any way I can fix it. If you propertize a string, it loses all its previous properties, and the colored segments (accent and evil) work by propertizing them.
(my personal solution is to put the segments where this sort of thing matters into a nil
supersegment, but I dunno if that'll work for you)
(It actually does, I did that as a workaround)