0

I am using the cyberpunk-theme, the * are show in light green and is not visible in hightlighted line. I tried to set dired-mark-face to white. Is there other variables I can set?

Kaushal Modi
  • 25,203
  • 3
  • 74
  • 179
godblessfq
  • 1,177
  • 8
  • 21
  • This is not the exact same question, but the nature is the exact same: "How do I change the foo face in bar?": http://emacs.stackexchange.com/q/2394/115 – Kaushal Modi Aug 26 '16 at 14:26

2 Answers2

2

You shouldn't set face variables directly. You should edit them with set-face-attribute and accompanying commands.

(set-face-attribute face frame &rest args)
  • face - the font face you want to edit
  • frame - whether to make the edit frame-local (nil means global, otherwise supply a specific frame)
  • args - the individual properties to set, in the form :property new-value

In your example, you want to edit dired-mark-face to make it a different colour, and you want the change to be global:

(set-face-attribute 'diredp-flag-mark nil 
                    :foreground "white")

You can view the full documentation here. There are also standalone commands to set individual face attributes, such as set-face-foreground. You can view them here.

If you see a font you would like to change, you can get information about it by hovering over it and calling the command M-x describe-face. The prompt will default to the face under point. You can also get more verbose information by calling M-x what-cursor-position

JCC
  • 989
  • 5
  • 15
1

You should set the face, not the variable:

(set-face-foreground 'dired-mark "#fff")
theldoria
  • 1,825
  • 1
  • 13
  • 25
  • It will be useful for @godblessfq to figure out how to use `C-u C-x =` to know more about the character at point (face, unicode, overlays, etc): http://emacs.stackexchange.com/q/2394/115 – Kaushal Modi Aug 26 '16 at 14:27