[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Why is emacs so square?"

From: Eli Zaretskii
Subject: Re: "Why is emacs so square?"
Date: Thu, 16 Apr 2020 17:26:18 +0300

> Date: Thu, 16 Apr 2020 06:00:33 +0000
> From: ndame <address@hidden>
> Cc: "address@hidden" <address@hidden>, "address@hidden" <address@hidden>, 
> "address@hidden" <address@hidden>, "address@hidden" <address@hidden>
> >
> > We don't use the native buttons on MS-Windows. The only native
> > widgets used on MS-Windows (AFAIR) are the menu bar and the scroll
> > bars.
> Interesting. I sort of assumed Emacs looks the same everywhere and
> thought all emacs users saw these old fashioned buttons if they
> open up Customize which I see on Windows.

Emacs's look-and-feel varies depending on the toolkit used to build
it.  So it cannot look the same everywhere, not in every aspect of the
GUI decorations and widgets.

> But if emacs uses native buttons elsewhere then it means Emacs
> can look much better on other platforms, at least as far as
> we consider GUI widgets.

I think you are generalizing too much here.  We don't use toolkit
widgets for every element of our GUI.  So some "buttons" are native
(for example, the tool bar of the GTK+ build), while others are not.
Which toolkit build uses what widgets where depends on what the people
who wrote the related code did, not some policy decision.  And
sometimes we even have options to let users choose between native and
Emacs-implemented GUI elements, like the x-gtk-use-system-tooltips in
the GTK builds.

> Wouldn't it make sense to use native controls on every graphical
> platform?

That has advantages, of course, but also some disadvantages.
Complexity of code is one of the disadvantages, because some widgets
of some toolkits require special code (like separate input loops) to
be able to use them, or because they have some limitations (e.g., GTK
tooltips cannot display images, at least the way we invoke those

reply via email to

[Prev in Thread] Current Thread [Next in Thread]