2

I use Emacs native Win 32, but run it in DOS Prompt using emacs -nw. I love it. But, I can not easily read the blue color for a face foreground. And now I like to mapped all blue color, to be lightblue.

Is there some sort of alias like this?

Thanks.

Drew
  • 29,895
  • 7
  • 74
  • 104
swdev
  • 4,997
  • 8
  • 64
  • 106

4 Answers4

2

If all you want to do is fix the minibuffer prompt like I did (defaults to dark blue on black in Cygwin emacs in a terminal) try editing the minibuffer-prompt face using this:

  1. M-x list-faces-display
  2. select "minibuffer-prompt" and hit enter
  3. Go to foreground property and put your cursor over the [ Choose ] area and hit enter
  4. scroll down to "green" and hit enter
  5. Go up to [ Save for future sessions ] and hit enter (this will write it to your .emacs file)

This is what it added to mine:

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(minibuffer-prompt ((t (:foreground "green"))))
Brandan
  • 14,735
  • 3
  • 56
  • 71
  • The default `minibuffer-prompt` face is quite alright if you `(custom-set-variables '(frame-background-mode 'dark))`. That will probably also improve display of other faces as well. – Lars Brinkhoff Jun 04 '15 at 06:21
  • This does not show up in ` *Colors*` – alper May 02 '23 at 11:10
2

I think you should start with a Color theme package and choose a color theme you like.

Later you can adjust certain colors by doing M-x customize-face. The command M-x list-colors-display will help you to pick a right color.

EDIT: Do you run Emacs on text terminal? Then you may try to use tty-color-define. Unfortunately I cannot test it because I don't have Emacs on the terminal.

(defun my-define-red()
  (interactive)
  (tty-color-define "red" 1 (list 32000 12000 12000)))
Oleg Pavliv
  • 20,462
  • 7
  • 59
  • 75
  • No, I don't think that will work. I just want to, say, when a face will be set to `red`, it will automagically set to `lightred`. That should work for all mode. – swdev Feb 16 '11 at 07:02
  • see my EDIT. Maybe it can help – Oleg Pavliv Feb 16 '11 at 08:46
  • I'll try that. But, I just realize that, in my office Emacs Terminal, the system doesn't display High version of the color. So, there is no `lightred`, just `red`. But in my home Emacs, it's able to. Maybe it relate to my question here : http://stackoverflow.com/questions/4746187/why-my-emacs-in-cygwin-running-on-windows-seven-always-create-crash-dump And I still not able to fix that. I already try to move the HOME folder, but it's not that – swdev Feb 16 '11 at 12:19
  • Btw, I've able to make `emacs -nw` display lightcolor, so there's no need to map lightred to red or other undefined color. But, still, reading lightblue in black backround is not easy. I start a bounty for this, so my lightblue, is mapped to lightgreen :) thanks – swdev Feb 23 '11 at 08:43
0

If you add this to your .emacs, all default faces will adapt to the dark background:

(custom-set-variables '(frame-background-mode 'dark))
Lars Brinkhoff
  • 13,542
  • 2
  • 28
  • 48
0
  1. M-x list-faces-display.
  2. Select the face you want to customize (the ones using blue color are displayed in blue and so forth). (To select, press .)
  3. Goto "foreground" property and change blue to something else, say cyan.
  4. If no foreground selected, choose cyan or something else.
vkj
  • 1