From: Alex Kost <alezost@gmail.com>
To: Alexandros Prekates <aprekates@openmailbox.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Is Default face a per frame attribute or a global one?
Date: Tue, 26 Aug 2014 08:55:36 +0400 [thread overview]
Message-ID: <87k35vn92v.fsf@gmail.com> (raw)
In-Reply-To: <53FBC1CE.7030602@openmailbox.org> (Alexandros Prekates's message of "Tue, 26 Aug 2014 02:07:58 +0300")
Alexandros Prekates (2014-08-26 03:07 +0400) wrote:
> On 25/08/2014 03:03 μμ, Alex Kost wrote:
>> Alexandros Prekates (2014-08-25 14:07 +0400) wrote:
>>
>>> On 25/08/2014 08:54 πμ, Alex Kost wrote:
>>>> Alexandros Prekates (2014-08-25 03:29 +0400) wrote:
>>>>
>>>>> Continuing little experiments to better undestand the relation among
>>>>> fonts, faces, frames etc, i noticed
>>>>> that if i have 2 frames (A and B) and i evaluate from ielm in frame A
>>>>> (set-frame-font "liberation serif" nil nil) . when i check the default
>>>>> face's font i see different values in frame A from frame B.
>>>>>
>>>>> So it seems that default face is a frame's variable.
>>>>>
>>>>> i mean every frame has its own default face? Is that right?
>>>> As you can see after "C-h f set-frame-font":
>>>>
>>>> “...
>>>> If FRAMES is nil, apply the font to the selected frame only.
>>>> ...”
>>>>
>>>> So the second nil in your expression means you set a font only for the
>>>> current frame A.
>>>>
>>>>
>>> So default face is not a global emacs session variable. It's an
>>> attribute per frame.
>> I thought you were talking about frame fonts. AFAIU there is only one
>> ‘default’ face (defined in "faces.el"), if that's what you mean.
>>
>
> But the assumption that there is only one global default face
> contradicts with what i see.
>
> In two frames (of the same emacs session) M-x describe-face (default)
> gives me different font families ( i changed in each frame the font with
> set-frame-font.)
I didn't mean there is always only one global value of a face for all
frames. As you could see it is possible to set face attributes for a
particular frame. Here is a paragraph from (info "(elisp) Faces"):
“...
By default, each face name corresponds to the same set of attributes
in all frames. But you can also assign a face name a special set of
attributes in one frame (*note Attribute Functions::).
”
You can look at (info "(elisp) Attribute Functions") to read how it can
be done. And ‘set-frame-font’ does exactly that: it calls
‘set-face-attribute’ to specify a font for the current frame.
next prev parent reply other threads:[~2014-08-26 4:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-24 23:29 Is Default face a per frame attribute or a global one? Alexandros Prekates
2014-08-25 5:54 ` Alex Kost
2014-08-25 10:07 ` Alexandros Prekates
2014-08-25 12:03 ` Alex Kost
2014-08-25 23:07 ` Alexandros Prekates
2014-08-26 4:55 ` Alex Kost [this message]
2014-08-27 1:49 ` Alexandros Prekates
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=87k35vn92v.fsf@gmail.com \
--to=alezost@gmail.com \
--cc=aprekates@openmailbox.org \
--cc=help-gnu-emacs@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.