unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* header-line and mode-line faces
@ 2008-06-13 20:08 Drew Adams
  0 siblings, 0 replies; 14+ messages in thread
From: Drew Adams @ 2008-06-13 20:08 UTC (permalink / raw)
  To: emacs-devel

Here is the default definition of face `header-line':

 Attributes: [ ] Font Family: *
             [ ] Width: *
             [ ] Height: *
             [ ] Weight: *
             [ ] Slant: *
             [ ] Underline: *
             [ ] Overline: *
             [ ] Strike-through: *
             [ ] Box around text: *
             [ ] Inverse-video: *
             [ ] Foreground: *
             [ ] Background: *
             [ ] Stipple: *
             [X] Inherit:
                 INS DEL Face: (sample) mode-line
                 INS
 Overriding
 Attributes: [ ] Font Family: *
             [ ] Width: *
             [ ] Height: *
             [ ] Weight: *
             [ ] Slant: *
             [ ] Underline: *
             [ ] Overline: *
             [ ] Strike-through: *
             [X] Box around text: Value Menu Off
             [ ] Inverse-video: *
             [X] Foreground: grey20     (sample)
             [X] Background: grey90     (sample)
             [ ] Stipple: *
             [ ] Inherit: *

I don't think that is a good idea. The default value should just inherit from
face `mode-line'. Users should be able to customize face `mode-line' and have
face `header-line' follow suite. At least the foreground and background should
simply be inherited - see next wrt boxing.

I also think the default for face `mode-line' should not be boxed (and therefore
no reason for `header-line' to override this), but that is a different issue. (I
have the feeling that the boxed mode line came into being just because boxing
became a new possibility.)






^ permalink raw reply	[flat|nested] 14+ messages in thread

* header-line and mode-line faces
@ 2008-06-13 20:10 Drew Adams
  2008-06-13 21:58 ` Miles Bader
  2008-06-14 10:07 ` Eli Zaretskii
  0 siblings, 2 replies; 14+ messages in thread
From: Drew Adams @ 2008-06-13 20:10 UTC (permalink / raw)
  To: emacs-devel

Here is the default definition of face `header-line':

 Attributes: [ ] Font Family: *
             [ ] Width: *
             [ ] Height: *
             [ ] Weight: *
             [ ] Slant: *
             [ ] Underline: *
             [ ] Overline: *
             [ ] Strike-through: *
             [ ] Box around text: *
             [ ] Inverse-video: *
             [ ] Foreground: *
             [ ] Background: *
             [ ] Stipple: *
             [X] Inherit:
                 INS DEL Face: (sample) mode-line
                 INS
 Overriding
 Attributes: [ ] Font Family: *
             [ ] Width: *
             [ ] Height: *
             [ ] Weight: *
             [ ] Slant: *
             [ ] Underline: *
             [ ] Overline: *
             [ ] Strike-through: *
             [X] Box around text: Value Menu Off
             [ ] Inverse-video: *
             [X] Foreground: grey20     (sample)
             [X] Background: grey90     (sample)
             [ ] Stipple: *
             [ ] Inherit: *

I don't think that is a good idea. The default value should just inherit from
face `mode-line'. Users should be able to customize face `mode-line' and have
face `header-line' follow suite. At least the foreground and background should
simply be inherited - see next wrt boxing.

I also think the default for face `mode-line' should not be boxed (and therefore
no reason for `header-line' to override this), but that is a different issue. (I
have the feeling that the boxed mode line came into being just because boxing
became a new possibility.)






^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: header-line and mode-line faces
  2008-06-13 20:10 header-line and mode-line faces Drew Adams
@ 2008-06-13 21:58 ` Miles Bader
  2008-06-13 22:08   ` Drew Adams
  2008-06-14 10:07 ` Eli Zaretskii
  1 sibling, 1 reply; 14+ messages in thread
From: Miles Bader @ 2008-06-13 21:58 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel

"Drew Adams" <drew.adams@oracle.com> writes:
> I also think the default for face `mode-line' should not be boxed (and therefore
> no reason for `header-line' to override this), but that is a different issue. (I
> have the feeling that the boxed mode line came into being just because boxing
> became a new possibility.)

I think the mode-line is boxed because many people like that appearance.

-Miles

-- 
Erudition, n. Dust shaken out of a book into an empty skull.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: header-line and mode-line faces
  2008-06-13 21:58 ` Miles Bader
@ 2008-06-13 22:08   ` Drew Adams
  2008-06-13 22:15     ` Miles Bader
  0 siblings, 1 reply; 14+ messages in thread
From: Drew Adams @ 2008-06-13 22:08 UTC (permalink / raw)
  To: 'Miles Bader'; +Cc: emacs-devel

> > I also think the default for face `mode-line' should not be 
> > boxed (and therefore no reason for `header-line' to override
> > this), but that is a different issue. (I have the feeling
> > that the boxed mode line came into being just because boxing
> > became a new possibility.)
> 
> I think the mode-line is boxed because many people like that 
> appearance.

OK, not a biggee. The other point is more important.

(I assume you mean "most". If just "many", that's what customization is for.
Many people like dark backgrounds, but that isn't the default.)





^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: header-line and mode-line faces
  2008-06-13 22:08   ` Drew Adams
@ 2008-06-13 22:15     ` Miles Bader
  0 siblings, 0 replies; 14+ messages in thread
From: Miles Bader @ 2008-06-13 22:15 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel

"Drew Adams" <drew.adams@oracle.com> writes:
> I assume you mean "most". If just "many", that's what customization is for.
> Many people like dark backgrounds, but that isn't the default.)

I was trying to be polite.

-Miles

-- 
Non-combatant, n. A dead Quaker.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: header-line and mode-line faces
  2008-06-13 20:10 header-line and mode-line faces Drew Adams
  2008-06-13 21:58 ` Miles Bader
@ 2008-06-14 10:07 ` Eli Zaretskii
  2008-06-14 16:46   ` Drew Adams
  1 sibling, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2008-06-14 10:07 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel

> From: "Drew Adams" <drew.adams@oracle.com>
> Date: Fri, 13 Jun 2008 13:10:49 -0700
> 
> I don't think that is a good idea. The default value should just inherit from
> face `mode-line'.

I don't see why.  Please explain more.

> Users should be able to customize face `mode-line' and have face
> `header-line' follow suite.

Why? they are different faces used for different portions of display.
They should be different by default so people could easily tell one
from the other.

> I have the feeling that the boxed mode line came into being just
> because boxing became a new possibility.

Actually, it was the other way around: boxing was added because the
idea of having the mode line with this appearance seemed cool.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: header-line and mode-line faces
  2008-06-14 10:07 ` Eli Zaretskii
@ 2008-06-14 16:46   ` Drew Adams
  2008-06-14 17:37     ` Stefan Monnier
  2008-06-14 19:41     ` Eli Zaretskii
  0 siblings, 2 replies; 14+ messages in thread
From: Drew Adams @ 2008-06-14 16:46 UTC (permalink / raw)
  To: 'Eli Zaretskii'; +Cc: emacs-devel

> > I don't think that is a good idea. The default value should 
> > just inherit from face `mode-line'.

> I don't see why.  Please explain more.

Uh, so you can customize just the mode-line face and have the header-line face
reflect the change. 
 
> > Users should be able to customize face `mode-line' and have face
> > `header-line' follow suite.
> 
> Why? they are different faces used for different portions of display.
> They should be different by default so people could easily tell one
> from the other.

They are different faces, and you can also customize them separately.

But header-line inherits from mode-line *today*. Why?

Inheritance provides convenience - these two faces are different, and have
different uses, but they have similarities. It's about convenience. Inheritance
by default never prevents anyone from customizing them separately.





^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: header-line and mode-line faces
  2008-06-14 16:46   ` Drew Adams
@ 2008-06-14 17:37     ` Stefan Monnier
  2008-06-14 18:23       ` Drew Adams
  2008-06-14 19:41     ` Eli Zaretskii
  1 sibling, 1 reply; 14+ messages in thread
From: Stefan Monnier @ 2008-06-14 17:37 UTC (permalink / raw)
  To: Drew Adams; +Cc: 'Eli Zaretskii', emacs-devel

> They are different faces, and you can also customize them separately.
> But header-line inherits from mode-line *today*. Why?

So that it can share some of its attributes.  E.g. if you change the
font-family or the size of the mode-line it'll change the corresponding
attribute of the header-line as well.


        Stefan




^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: header-line and mode-line faces
  2008-06-14 17:37     ` Stefan Monnier
@ 2008-06-14 18:23       ` Drew Adams
  2008-06-14 18:36         ` Miles Bader
  2008-06-14 19:02         ` Stefan Monnier
  0 siblings, 2 replies; 14+ messages in thread
From: Drew Adams @ 2008-06-14 18:23 UTC (permalink / raw)
  To: 'Stefan Monnier'; +Cc: 'Eli Zaretskii', emacs-devel

> > They are different faces, and you can also customize them 
> > separately. But header-line inherits from mode-line *today*. Why?
> 
> So that it can share some of its attributes.  E.g. if you change the
> font-family or the size of the mode-line it'll change the 
> corresponding attribute of the header-line as well.

Exactly.

I am suggesting that, by default, it share all of its attributes. That's all.





^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: header-line and mode-line faces
  2008-06-14 18:23       ` Drew Adams
@ 2008-06-14 18:36         ` Miles Bader
  2008-06-14 19:02         ` Stefan Monnier
  1 sibling, 0 replies; 14+ messages in thread
From: Miles Bader @ 2008-06-14 18:36 UTC (permalink / raw)
  To: Drew Adams; +Cc: 'Eli Zaretskii', 'Stefan Monnier', emacs-devel

"Drew Adams" <drew.adams@oracle.com> writes:
>> So that it can share some of its attributes.  E.g. if you change the
>> font-family or the size of the mode-line it'll change the 
>> corresponding attribute of the header-line as well.
>
> I am suggesting that, by default, it share all of its attributes. That's all.

That's a bad idea; it's desirable that they be distinguishable.

-Miles

-- 
Year, n. A period of three hundred and sixty-five disappointments.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: header-line and mode-line faces
  2008-06-14 18:23       ` Drew Adams
  2008-06-14 18:36         ` Miles Bader
@ 2008-06-14 19:02         ` Stefan Monnier
  1 sibling, 0 replies; 14+ messages in thread
From: Stefan Monnier @ 2008-06-14 19:02 UTC (permalink / raw)
  To: Drew Adams; +Cc: 'Eli Zaretskii', emacs-devel

>> > They are different faces, and you can also customize them 
>> > separately. But header-line inherits from mode-line *today*. Why?
>> 
>> So that it can share some of its attributes.  E.g. if you change the
>> font-family or the size of the mode-line it'll change the 
>> corresponding attribute of the header-line as well.

> Exactly.

> I am suggesting that, by default, it share all of its attributes. That's all.

Yes, we got your point.  We just don't agree.


        Stefan




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: header-line and mode-line faces
  2008-06-14 16:46   ` Drew Adams
  2008-06-14 17:37     ` Stefan Monnier
@ 2008-06-14 19:41     ` Eli Zaretskii
  2008-06-14 20:44       ` Drew Adams
  1 sibling, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2008-06-14 19:41 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel

> From: "Drew Adams" <drew.adams@oracle.com>
> Cc: <emacs-devel@gnu.org>
> Date: Sat, 14 Jun 2008 09:46:50 -0700
> 
> > > I don't think that is a good idea. The default value should 
> > > just inherit from face `mode-line'.
> 
> > I don't see why.  Please explain more.
> 
> Uh, so you can customize just the mode-line face and have the header-line face
> reflect the change. 

This can be said about all the other faces as well.  I hope you don't
argue that they should all be alike by default.

> > > Users should be able to customize face `mode-line' and have face
> > > `header-line' follow suite.
> > 
> > Why? they are different faces used for different portions of display.
> > They should be different by default so people could easily tell one
> > from the other.
> 
> They are different faces, and you can also customize them separately.
> 
> But header-line inherits from mode-line *today*. Why?

Because they are very similar.  But the disagreement between us is not
about the inheritance, it's about identity.  A face can inherit from
another and still be different in small ways.




^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: header-line and mode-line faces
  2008-06-14 19:41     ` Eli Zaretskii
@ 2008-06-14 20:44       ` Drew Adams
  2008-06-14 21:40         ` Stefan Monnier
  0 siblings, 1 reply; 14+ messages in thread
From: Drew Adams @ 2008-06-14 20:44 UTC (permalink / raw)
  To: 'Eli Zaretskii'; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1698 bytes --]

> > They are different faces, and you can also customize them 
> > separately.
> > 
> > But header-line inherits from mode-line *today*. Why?
> 
> Because they are very similar.  But the disagreement between us is not
> about the inheritance, it's about identity.  A face can inherit from
> another and still be different in small ways.

If "you can customize them separately", then they are not identical; they are
separate objects.

I don't feel strongly about this; I just thought it would be an improvement. 

I especially think it would be better to use the same foreground and background
colors - I don't have much of an opinion about box. As I said from the
beginning:

> At least the foreground and background should simply be inherited

Given that the boxed mode-line distinguishes it from the unboxed header-line (it
is also distinguished by its location and text), why not inherit the colors,
just as we inherit the fonts? 

Actually, I was really thinking of `mode-line-inactive': inherit the
`header-line' attributes from `mode-line-inactive'. I mistakenly thought it was
`mode-line', since that is the face that is inherited.

`mode-line-inactive' already uses the same colors as `header-line' (without
inheritance).

The only other attribute difference between `header-line' and
`mode-line-inactive', besided boxed, is this for `header-line': Weight: light. I
don't see the reason for that, and, frankly, I can't tell that it has any
effect, at least with emacs -Q: see screenshot. I have no problem with it; I
just don't see the point of it.

How about inheriting `header-line' from `mode-line-inactive', instead of
`mode-line'?

If you disagree, no problem - just a suggestion.




[-- Attachment #2: throw-header-line-mode-line.png --]
[-- Type: image/png, Size: 4392 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: header-line and mode-line faces
  2008-06-14 20:44       ` Drew Adams
@ 2008-06-14 21:40         ` Stefan Monnier
  0 siblings, 0 replies; 14+ messages in thread
From: Stefan Monnier @ 2008-06-14 21:40 UTC (permalink / raw)
  To: Drew Adams; +Cc: 'Eli Zaretskii', emacs-devel

> How about inheriting `header-line' from `mode-line-inactive', instead of
> `mode-line'?

That'd be fine by me.  I don't have any preference either way in
this respect.


        Stefan




^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2008-06-14 21:40 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-13 20:10 header-line and mode-line faces Drew Adams
2008-06-13 21:58 ` Miles Bader
2008-06-13 22:08   ` Drew Adams
2008-06-13 22:15     ` Miles Bader
2008-06-14 10:07 ` Eli Zaretskii
2008-06-14 16:46   ` Drew Adams
2008-06-14 17:37     ` Stefan Monnier
2008-06-14 18:23       ` Drew Adams
2008-06-14 18:36         ` Miles Bader
2008-06-14 19:02         ` Stefan Monnier
2008-06-14 19:41     ` Eli Zaretskii
2008-06-14 20:44       ` Drew Adams
2008-06-14 21:40         ` Stefan Monnier
  -- strict thread matches above, loose matches on Subject: below --
2008-06-13 20:08 Drew Adams

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).