[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Customizing faces
From: |
Drew Adams |
Subject: |
RE: Customizing faces |
Date: |
Sat, 14 Nov 2015 07:01:45 -0800 (PST) |
> In using customize-face to set face attributes depending on display
> properties:
>
> A) Is it possible to have multiple attribute lists that each apply if
> the display matches? Like "On all color displays, set these colors" and
> "On this particular type of GUI display set this font"? Or is only the
> first one that matches applied?
>
> B) Is it possible to get back to the per-display view? After I save, if
> I customize the face again I just get a single attribute list
> representing the current display.
>
> In both of these cases it is for customizing the default face, if it
> matters.
>
> Also, is it possible to set the font family based on availability
> (i.e. a list of names, and if one isn't available it moves on to the
> next)?
You can do all of these things using Emacs Lisp. See
`Defining Faces' in the Elisp manual:
http://www.gnu.org/software/emacs/manual/html_node/elisp/Defining-Faces.html
But with the Customize UI you can currently define only one
set of face attributes for a given face. It would be possible
to extend the UI to let you do what you request, but I'm not
sure most users of Customize would be interested. If this
extra functionality were not "in their face", but were made
available on demand, then the feature could be useful.
To request such an enhancement, use `M-x report-emacs-bug'.
The Customize UI generally allows you to easily change
behavior for the current session, i.e., based on the current
display characteristics etc., and then to save these new
settings for future sessions. So far, at least, it does not
really cater to defining settings for contexts other than
the current session (different displays etc.). But it could.