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: Drew Adams
Subject: RE: "Themes" shipping configuration - an unusual convention
Date: Thu, 30 Apr 2020 07:48:16 -0700 (PDT)

> So a theme can be used to change configuration, and indeed this is the
> recommended way to do it.  Interesting, and news to me.  But is this a
> good convention?  I'm not so sure.
> 
> AFAIK, all other applications I have used understand "theme" to mean a
> "package containing graphical appearance details"...
> 
> I don't think users will expect a "theme" to modify the behavior of
> Emacs.  There are usually things called "profiles" where one would
> save or load settings from.  This means that if M-x load-theme changes
> the behavior of Emacs (significantly or otherwise), they are in for a
> surprise.
> 
> I would propose to change the convention such that a "theme" is only
> meant to modify "graphical appearance details".   Not behavior.  (From
> what I can tell, all themes currently shipped with Emacs follow this
> convention.[1])
> 
> 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).
> 
> Of course, a "custom profile" could technically do anything a "theme"
> does and vice versa.  Just as a 'require'd package can technically
> override any face, enable viper-mode or whatever.  But we should
> discourage that.
...
> Footnotes:
> 1. The exception is some variables related to
>    graphical display, which is not unusual or
>    surprising to my mind.

I believe this is a principal difference between
custom themes and color themes.

Custom themes are essentially part of Customize,
and from the outset they were about customizing
options.  Only later were they extended to do
some (most) of what color themes do: define a
color scheme by setting a bunch of faces, frame
parameters etc.

(That's my recollection anyway.  Chong Yidong
extended custom themes to implement some of
what color themes provide.)

Nowadays, the distinction has mostly been lost,
unfortunately, and many people speak of "color
themes" when they really mean vanilla Emacs
custom themes.

https://www.emacswiki.org/emacs/ColorThemes

https://www.emacswiki.org/emacs/CustomThemes

Your proposal seems to be to more or less limit
Emacs custom themes to defining color schemes,
or perhaps color schemes plus some other display
properties.



reply via email to

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