From: Ted Zlatanov <tzz@lifelogs.com>
To: emacs-devel@gnu.org
Subject: Re: color-complement for defface
Date: Thu, 10 Mar 2011 13:09:05 -0600 [thread overview]
Message-ID: <87tyfakd2m.fsf@lifelogs.com> (raw)
In-Reply-To: 877hctmb33.fsf@keller.adm.naquadah.org
On Sun, 20 Feb 2011 18:44:04 +0100 Julien Danjou <julien@danjou.info> wrote:
JD> Here's a very simple example on how to use it:
JD> #+begin_src: emacs-lisp
JD> (defface myface
JD> (let ((color "red"))
JD> `((((class color) (background light))
JD> (:foreground ,color))
JD> (((class color) (background dark))
JD> (:foreground ,(apply 'color-rgb->hex (color-complement color))))
JD> (t nil)))
JD> "My face.")
JD> #+end_src
A patch that shows how to do this in lispref/display.texi is attached.
I put it under the :foreground property documentation for `defface' but
it's right next to the :background property too, so it should be obvious
to a reader how to use it to do the opposite, setting the background to
a complement.
JD> Obviously, a new function/macro could be created to automate this use of
JD> color-complement.
The :foreground and background properties can only be a string
currently, so it may be even simpler to allow them to be the form
(complement "color-string"). That should be a clean extension. If not,
I guess a function or a macro could do it too.
Ted
next prev parent reply other threads:[~2011-03-10 19:09 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-02 4:05 Eliminating a couple of independent face definitions Chong Yidong
2011-02-02 4:11 ` Lennart Borgman
2011-02-02 5:02 ` Tim Cross
2011-02-02 15:15 ` Drew Adams
2011-02-02 17:17 ` Chong Yidong
2011-02-02 20:33 ` Philipp Haselwarter
2011-02-02 23:01 ` Lennart Borgman
2011-02-03 19:10 ` Drew Adams
2011-02-04 0:12 ` Tim Cross
2011-02-05 22:11 ` Drew Adams
2011-02-07 0:59 ` Drew Adams
2011-02-07 1:30 ` Tim Cross
2011-02-07 14:09 ` Drew Adams
2011-02-07 21:14 ` Tim Cross
2011-02-07 22:12 ` Drew Adams
2011-02-08 3:51 ` Tim Cross
2011-02-08 15:26 ` Drew Adams
2011-02-08 19:10 ` Philipp Haselwarter
2011-02-08 13:58 ` Davis Herring
2011-02-08 14:33 ` Drew Adams
2011-02-08 15:34 ` Davis Herring
2011-02-08 16:16 ` Drew Adams
2011-02-08 17:40 ` Lennart Borgman
2011-02-08 19:10 ` Davis Herring
2011-02-07 1:08 ` Tim Cross
2011-02-04 0:18 ` Stephen J. Turnbull
2011-02-04 3:55 ` John Yates
2011-02-04 4:56 ` Stephen J. Turnbull
2011-02-04 4:57 ` Jambunathan K
2011-02-05 22:09 ` Drew Adams
2011-02-06 7:11 ` Stephen J. Turnbull
2011-02-04 10:26 ` Julien Danjou
2011-02-04 17:57 ` color-complement for defface (was: Eliminating a couple of independent face definitions) Ted Zlatanov
2011-02-14 18:11 ` color-complement for defface Ted Zlatanov
2011-02-20 17:44 ` Julien Danjou
2011-03-10 19:09 ` Ted Zlatanov [this message]
2011-03-10 19:11 ` Ted Zlatanov
2011-02-02 21:24 ` Eliminating a couple of independent face definitions Tim Cross
2011-02-03 16:14 ` Dan Nicolaescu
2011-02-02 17:16 ` Chong Yidong
2011-02-02 9:58 ` Štěpán Němec
2011-02-02 17:05 ` Chong Yidong
2011-02-02 10:05 ` Julien Danjou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87tyfakd2m.fsf@lifelogs.com \
--to=tzz@lifelogs.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.