[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problem with defining a background color by variable
From: |
suzee |
Subject: |
Problem with defining a background color by variable |
Date: |
Sun, 12 Jun 2022 10:24:30 +0200 |
Hello,
I want to change the background color of code (and other) blocks in
org-mode as proposed here:
https://orgmode.org/worg/org-contrib/babel/examples/fontify-src-code-blocks.html#org4218fd0
I use emacs with a theme (gruvbox) and when I literally use the proposed
code
(defface org-block-background
'((t (:background "#FFFFEA")))
"Face used for the source block background.")
it does work. But I want to use a color, which is derived (made darker
or lighter) from another color by an emacs lisp function, so basically I
want something like this:
(defvar mycolor (color-lighten-name "navy" 20))
(defface org-block-background
'((t (:background mycolor)))
"Face used for the source block background.")
However, when I try this, I get the following error when debugging:
Debugger entered--Lisp error: (wrong-type-argument stringp mycolor)
internal-set-lisp-face-attribute(org-block-background :background
mycolor #<frame emacs@Machine 0x11e7c30>)
set-face-attribute(org-block-background #<frame emacs@Machine
0x11e7c30> :background mycolor)
[...]
Does someone know why it fails? Is it not possible to use a variable for
the color there?
What can I do to make it work or to achieve my goal in a different way?
I searched the docs and manuals, but didn't find a solution. I also
checked the type of the variable 'mycolor' and it is in fact a string
and 'stringp mycolor' returns t, so I don't understand the error
message. But my knowledge of elisp is very sketchy, so I might miss
something very basic.
Thanks
suzee
- Problem with defining a background color by variable,
suzee <=