emacs-devel
[Top][All Lists]
Advanced

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

Re: "Themes" shipping configuration - an unusual convention


From: Stefan Monnier
Subject: Re: "Themes" shipping configuration - an unusual convention
Date: Thu, 30 Apr 2020 08:21:37 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

> So a theme can be used to change configuration, and indeed this is the
> recommended way to do it.  Interesting, and news to me.

A custom-theme is a set of custom settings, yes.

> AFAIK, all other applications I have used understand "theme" to mean a
> "package containing graphical appearance details".  This definition
> from Wikipedia: https://en.wikipedia.org/wiki/Theme_(computing)

Yes, but at the same time, it's hard to draw the line: if a theme
controls the shape of menus (e.g. chooses between scroll-down menus and
pie-menus), is it "graphical appareance"?
What about the structure of a menu?  What about the place where
completions are displayed (a popup child frame vs the *Completions*
buffer)?

In any case, I'm not sure we want to start adding an artificial barrier:
the underlying technique conflates the two and I don't think it's
a problem, even if it doesn't correspond to what some other applications
offer (FWIW, I believe some application's themes are also able to change
pretty much any aspect of the behavior.  IIRC that's the case for
Enlightenment, for example).

> I don't think users will expect a "theme" to modify the behavior
> of Emacs.

It wouldn't be the first time that Emacs goes beyond users expectations ;-)

> We could introduce a *separate* convention, called e.g. "custom
> profiles", which are understood to also change settings.  They could
> have their own directory in our tree called "etc/profiles", and
> separate commands to load them (say, M-x load-profile).

I'm fine with using a different naming convention for the actual
behavior-oriented themes, but I see no need to hide the fact that the
implementation is the same.


        Stefan




reply via email to

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