unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Easy way to make Emacs look more "modern"
@ 2022-04-09 21:13 Daniele Nicolodi
  2022-04-09 21:25 ` Dmitry Gutov
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Daniele Nicolodi @ 2022-04-09 21:13 UTC (permalink / raw)
  To: Emacs developers

Hello,

congratulations on the recent major release!

I know that the matter is very subjective (and maybe a similar 
suggestion has been discussed already, although I don't remember seeing 
anything like this) but I would like to suggest what I think is an easy 
way to refresh the look of Emacs and adapt it to the 2020ies taste :-)

I think the Emacs default theme is extremely well curated. However, the 
mode-line has an outdated feel to me. I recently reconfigured it just 
slightly and I thing the look of Emacs improves significantly.

The base of the modification is this:

(let ((bg (face-attribute 'mode-line :background)))
   (set-face-attribute 'mode-line nil
                       :box (list :line-width 4 :color bg :style nil)))

Namely I remove the 1990ies pseudo 3D box and I replace with a slightly 
wider flat box. The total extend of my customization is actually:

(set-face-attribute 'mode-line nil
                     :height 110
                     :background "grey88"
                     :box '(:line-width 4 :color "grey88" :style nil))
(set-face-attribute 'mode-line-inactive nil
                     :height 110
                     :background "grey95"
                     :box '(:line-width 4 :color "grey95" :style nil))

Where I also reduce the font size slightly compared to my main font 
sizer and I use lighter gray tones that better match the rest of my 
desktop, but I realize these are probably even more subjective preferences.

Maybe something to consider for the next major release.

I would also like to give some more air (padding) to the minibuffer, but 
I haven't found a way to do that in the 10 minutes that I looked at it.

Cheers,
Dan



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-09 21:13 Daniele Nicolodi
@ 2022-04-09 21:25 ` Dmitry Gutov
  2022-04-09 21:34   ` Daniele Nicolodi
  2022-04-09 23:20 ` Philip Kaludercic
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 15+ messages in thread
From: Dmitry Gutov @ 2022-04-09 21:25 UTC (permalink / raw)
  To: Daniele Nicolodi, Emacs developers

Hi!

On 10.04.2022 00:13, Daniele Nicolodi wrote:
> (set-face-attribute 'mode-line nil
>                      :height 110
>                      :background "grey88"
>                      :box '(:line-width 4 :color "grey88" :style nil))
> (set-face-attribute 'mode-line-inactive nil
>                      :height 110
>                      :background "grey95"
>                      :box '(:line-width 4 :color "grey95" :style nil))

That actually does look better. Or more "modern", at least.

Another thing I would suggest -- is use lighter background for the 
currently selected window (compared to the unselected). That is, I'd 
swap the faces in the two statements above.

Emacs currently defaults to the light-background theme and uses a darker 
background in the mode-line of the current window. That makes is lower 
contrast than the non-selected ones. It feels counter-productive and 
seems to go against the contemporary practice in this area.



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-09 21:25 ` Dmitry Gutov
@ 2022-04-09 21:34   ` Daniele Nicolodi
  2022-04-09 21:51     ` Dmitry Gutov
  0 siblings, 1 reply; 15+ messages in thread
From: Daniele Nicolodi @ 2022-04-09 21:34 UTC (permalink / raw)
  To: Dmitry Gutov, Emacs developers

On 09/04/2022 23:25, Dmitry Gutov wrote:
> Hi!
> 
> On 10.04.2022 00:13, Daniele Nicolodi wrote:
>> (set-face-attribute 'mode-line nil
>>                       :height 110
>>                       :background "grey88"
>>                       :box '(:line-width 4 :color "grey88" :style nil))
>> (set-face-attribute 'mode-line-inactive nil
>>                       :height 110
>>                       :background "grey95"
>>                       :box '(:line-width 4 :color "grey95" :style nil))
> 
> That actually does look better. Or more "modern", at least.
> 
> Another thing I would suggest -- is use lighter background for the
> currently selected window (compared to the unselected). That is, I'd
> swap the faces in the two statements above.
> 
> Emacs currently defaults to the light-background theme and uses a darker
> background in the mode-line of the current window. That makes is lower
> contrast than the non-selected ones. It feels counter-productive and
> seems to go against the contemporary practice in this area.

I actually like the way it looks by default. This is why I classified 
the change of color as a very subjective preference.

Note that the inactive windows get a lower contrast modeline via a 
thinner font (if you use a font that support thin weights, many do not) 
and a lighter foreground.

Changing the box style minimally invasive but IMHO improves the look 
significantly. Of course others may disagree and this is why Emacs is 
maximally customizable :-)

Cheers,
Dan



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-09 21:34   ` Daniele Nicolodi
@ 2022-04-09 21:51     ` Dmitry Gutov
  0 siblings, 0 replies; 15+ messages in thread
From: Dmitry Gutov @ 2022-04-09 21:51 UTC (permalink / raw)
  To: Daniele Nicolodi, Emacs developers

On 10.04.2022 00:34, Daniele Nicolodi wrote:
> Note that the inactive windows get a lower contrast modeline via a 
> thinner font (if you use a font that support thin weights, many do not) 
> and a lighter foreground.

Have you tried the suggestion?

When the foreground is dark, lighter foreground creates higher contrast, 
not lower.

Thinner weight does create a lower contrast.

I guess the two tools are working against each other, but the color 
seems to have a stronger effect over here. And not the good one.



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-09 21:13 Daniele Nicolodi
  2022-04-09 21:25 ` Dmitry Gutov
@ 2022-04-09 23:20 ` Philip Kaludercic
  2022-04-10  1:12   ` Po Lu
  2022-04-10  1:10 ` Po Lu
  2022-04-10 12:24 ` Lars Ingebrigtsen
  3 siblings, 1 reply; 15+ messages in thread
From: Philip Kaludercic @ 2022-04-09 23:20 UTC (permalink / raw)
  To: Daniele Nicolodi; +Cc: Emacs developers

Daniele Nicolodi <daniele@grinta.net> writes:

> Namely I remove the 1990ies pseudo 3D box and I replace with a
> slightly wider flat box. The total extend of my customization is
> actually:

Do you think that the padding is necessary, or would just removing the
3D box suffice?

-- 
	Philip Kaludercic



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-09 21:13 Daniele Nicolodi
  2022-04-09 21:25 ` Dmitry Gutov
  2022-04-09 23:20 ` Philip Kaludercic
@ 2022-04-10  1:10 ` Po Lu
  2022-04-10  6:44   ` Daniele Nicolodi
  2022-04-10 12:24 ` Lars Ingebrigtsen
  3 siblings, 1 reply; 15+ messages in thread
From: Po Lu @ 2022-04-10  1:10 UTC (permalink / raw)
  To: Daniele Nicolodi; +Cc: Emacs developers

Daniele Nicolodi <daniele@grinta.net> writes:

> I know that the matter is very subjective (and maybe a similar
> suggestion has been discussed already, although I don't remember
> seeing anything like this) but I would like to suggest what I think is
> an easy way to refresh the look of Emacs and adapt it to the 2020ies
> taste :-)
>
> I think the Emacs default theme is extremely well curated. However,
> the mode-line has an outdated feel to me. I recently reconfigured it
> just slightly and I thing the look of Emacs improves significantly.

I tried the modifications you attached here, and it doesn't really
appeal to me as particularly modern.  It's not bad either, though.

What would actually be an improvement would be to make NS and W32 draw
boxes with a relief in the "pretty" way that X, PGTK and Haiku do.  Does
anyone want to work on this?  The relevant canonical code is in
`x_draw_relief_rect', but if you're porting it to another platform I
think `haiku_draw_relief_rect' would be easier to understand.

> I would also like to give some more air (padding) to the minibuffer,
> but I haven't found a way to do that in the 10 minutes that I looked
> at it.

That would waste precious screen space, wouldn't it?

Thanks.



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-09 23:20 ` Philip Kaludercic
@ 2022-04-10  1:12   ` Po Lu
  2022-04-10 13:46     ` Philip Kaludercic
  0 siblings, 1 reply; 15+ messages in thread
From: Po Lu @ 2022-04-10  1:12 UTC (permalink / raw)
  To: Philip Kaludercic; +Cc: Daniele Nicolodi, Emacs developers

Philip Kaludercic <philipk@posteo.net> writes:

> Do you think that the padding is necessary, or would just removing the
> 3D box suffice?

FWIW, we have themes like modus-vivendi built in for people who want
flat mode lines, I don't see why the default has to change.  I agree
with Drew on this one.



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-10  1:10 ` Po Lu
@ 2022-04-10  6:44   ` Daniele Nicolodi
  2022-04-10  6:50     ` Po Lu
  0 siblings, 1 reply; 15+ messages in thread
From: Daniele Nicolodi @ 2022-04-10  6:44 UTC (permalink / raw)
  To: emacs-devel

On 10/04/2022 03:10, Po Lu wrote:
> What would actually be an improvement would be to make NS and W32 draw
> boxes with a relief in the "pretty" way that X, PGTK and Haiku do.

Interesting. The platforms where I spend most on my time these days are 
macOS and Windows. This may be one of the reasons why I don't like the 
default mode-line that much.

>> I would also like to give some more air (padding) to the minibuffer,
>> but I haven't found a way to do that in the 10 minutes that I looked
>> at it.
> 
> That would waste precious screen space, wouldn't it?

On the screens I use wasting 6 to 10 pixels for the padding would not 
make a significant difference. However, the smallest screes I use are 
13" high DPI screens.

Does anyone know how to add some padding to the minibuffer?

Cheers,
Dan



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-10  6:44   ` Daniele Nicolodi
@ 2022-04-10  6:50     ` Po Lu
  2022-04-10  6:58       ` Daniele Nicolodi
  0 siblings, 1 reply; 15+ messages in thread
From: Po Lu @ 2022-04-10  6:50 UTC (permalink / raw)
  To: Daniele Nicolodi; +Cc: emacs-devel

Daniele Nicolodi <daniele@grinta.net> writes:

> On the screens I use wasting 6 to 10 pixels for the padding would not
> make a significant difference. However, the smallest screes I use are
> 13" high DPI screens.

I think the plan is to make device scaling work correctly in Emacs, so
those "6 to 10 pixels" will eventually become device independent and
turn into 12 to 20 pixels (or more) on a high resolution screen.  This
is already what happens on NS (macOS) and PGTK.

XEmacs lets you drag the modeline above the minibuffer to resize it.
Maybe we should have that as an option as well?



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-10  6:50     ` Po Lu
@ 2022-04-10  6:58       ` Daniele Nicolodi
  0 siblings, 0 replies; 15+ messages in thread
From: Daniele Nicolodi @ 2022-04-10  6:58 UTC (permalink / raw)
  To: Po Lu; +Cc: emacs-devel

On 10/04/2022 08:50, Po Lu wrote:
> Daniele Nicolodi <daniele@grinta.net> writes:
> 
>> On the screens I use wasting 6 to 10 pixels for the padding would not
>> make a significant difference. However, the smallest screes I use are
>> 13" high DPI screens.
> 
> I think the plan is to make device scaling work correctly in Emacs, so
> those "6 to 10 pixels" will eventually become device independent and
> turn into 12 to 20 pixels (or more) on a high resolution screen.  This
> is already what happens on NS (macOS) and PGTK.

Yup. I meant 6 to 8 pixels (but maybe I would like 4 better) in device 
scaled units.  Despite whether it is a good idea or not, how do I add 
the padding to my configuration?

Thank you.

Cheers,
Dan



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-09 21:13 Daniele Nicolodi
                   ` (2 preceding siblings ...)
  2022-04-10  1:10 ` Po Lu
@ 2022-04-10 12:24 ` Lars Ingebrigtsen
  2022-04-10 12:28   ` Po Lu
  3 siblings, 1 reply; 15+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-10 12:24 UTC (permalink / raw)
  To: Daniele Nicolodi; +Cc: Emacs developers

Daniele Nicolodi <daniele@grinta.net> writes:

> The base of the modification is this:
>
> (let ((bg (face-attribute 'mode-line :background)))
>   (set-face-attribute 'mode-line nil
>                       :box (list :line-width 4 :color bg :style nil)))
>
> Namely I remove the 1990ies pseudo 3D box and I replace with a
> slightly wider flat box.

Yes, looks much better.  Even just doing :style nil without making it
wider is also an improvement.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-10 12:24 ` Lars Ingebrigtsen
@ 2022-04-10 12:28   ` Po Lu
  0 siblings, 0 replies; 15+ messages in thread
From: Po Lu @ 2022-04-10 12:28 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Daniele Nicolodi, Emacs developers

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Yes, looks much better.  Even just doing :style nil without making it
> wider is also an improvement.

It's much harder to tell the mode line from the surroundings with that
setting applied.

That's not an important issue, so I don't have a strong opinion either
way, but I note that we already have many themes for people who want a
modeline without a raised box, such as modus-vivendi and modus-operandi.



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

* Re: Easy way to make Emacs look more "modern"
  2022-04-10  1:12   ` Po Lu
@ 2022-04-10 13:46     ` Philip Kaludercic
  0 siblings, 0 replies; 15+ messages in thread
From: Philip Kaludercic @ 2022-04-10 13:46 UTC (permalink / raw)
  To: Po Lu; +Cc: Daniele Nicolodi, Emacs developers

Po Lu <luangruo@yahoo.com> writes:

> Philip Kaludercic <philipk@posteo.net> writes:
>
>> Do you think that the padding is necessary, or would just removing the
>> 3D box suffice?
>
> FWIW, we have themes like modus-vivendi built in for people who want
> flat mode lines, I don't see why the default has to change.  I agree
> with Drew on this one.

Right, if anything considering to enable modus-vivendi or adapt the
customizable approach that the modus themes provide would be more
productive.

-- 
	Philip Kaludercic



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

* Re: Easy way to make Emacs look more "modern"
@ 2022-04-11  8:49 Pedro Andres Aranda Gutierrez
  2022-04-11  9:25 ` Daniele Nicolodi
  0 siblings, 1 reply; 15+ messages in thread
From: Pedro Andres Aranda Gutierrez @ 2022-04-11  8:49 UTC (permalink / raw)
  To: daniele; +Cc: emacs-devel

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

Daniele> (set-face-attribute 'mode-line nil
Daniele>                     :height 110
Daniele>                     :background "grey88"
Daniele>                     :box '(:line-width 4 :color "grey88" :style
nil))

I'm using
    (custom-set-faces
     '(mode-line           ((t (:inherit mode-line          :box
(:line-width 8 :style flat-button)))) t)
     '(mode-line-inactive  ((t (:inherit mode-line-inactive :box
(:line-width 8 :style flat-button)))) t))

To get a broader mode-line. flat-button is part of Emacs28

Best, /PA


-- 
Fragen sind nicht da um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler

Headaches with a Juju log:
unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should run
a leader-deposed hook here, but we can't yet

[-- Attachment #2: Type: text/html, Size: 1364 bytes --]

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

* Re: Easy way to make Emacs look more "modern"
  2022-04-11  8:49 Easy way to make Emacs look more "modern" Pedro Andres Aranda Gutierrez
@ 2022-04-11  9:25 ` Daniele Nicolodi
  0 siblings, 0 replies; 15+ messages in thread
From: Daniele Nicolodi @ 2022-04-11  9:25 UTC (permalink / raw)
  To: emacs-devel

On 11/04/2022 10:49, Pedro Andres Aranda Gutierrez wrote:
> Daniele> (set-face-attribute 'mode-line nil
> Daniele>                     :height 110
> Daniele>                     :background "grey88"
> Daniele>                     :box '(:line-width 4 :color "grey88" :style 
> nil))
> 
> I'm using
>      (custom-set-faces
>       '(mode-line           ((t (:inherit mode-line          :box 
> (:line-width 8 :style flat-button)))) t)
>       '(mode-line-inactive  ((t (:inherit mode-line-inactive :box 
> (:line-width 8 :style flat-button)))) t))
> 
> To get a broader mode-line. flat-button is part of Emacs28

According to the manual nil or flat-button mean the same thing.

Cheers,
Dan





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

end of thread, other threads:[~2022-04-11  9:25 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-11  8:49 Easy way to make Emacs look more "modern" Pedro Andres Aranda Gutierrez
2022-04-11  9:25 ` Daniele Nicolodi
  -- strict thread matches above, loose matches on Subject: below --
2022-04-09 21:13 Daniele Nicolodi
2022-04-09 21:25 ` Dmitry Gutov
2022-04-09 21:34   ` Daniele Nicolodi
2022-04-09 21:51     ` Dmitry Gutov
2022-04-09 23:20 ` Philip Kaludercic
2022-04-10  1:12   ` Po Lu
2022-04-10 13:46     ` Philip Kaludercic
2022-04-10  1:10 ` Po Lu
2022-04-10  6:44   ` Daniele Nicolodi
2022-04-10  6:50     ` Po Lu
2022-04-10  6:58       ` Daniele Nicolodi
2022-04-10 12:24 ` Lars Ingebrigtsen
2022-04-10 12:28   ` Po Lu

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).