unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Arthur Miller <arthur.miller@live.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Gerry Agbobada <emacs-devel@gagbo.net>,
	"Gregory Heytings via Emacs development discussions."
	<emacs-devel@gnu.org>
Subject: Re: Theme generator
Date: Tue, 15 Sep 2020 18:26:17 +0200	[thread overview]
Message-ID: <VI1PR06MB4526984C82F9E8B53C17A9FC96200@VI1PR06MB4526.eurprd06.prod.outlook.com> (raw)
In-Reply-To: <jwvwo0vw1h8.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Tue, 15 Sep 2020 10:40:55 -0400")

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Henrik tried to do it with emacs-doom-themes
>> ( https://github.com/hlissner/emacs-doom-themes ) but apparently the theme
>> generation part is not really good and he has been trying to find time to
>> rewrite that part. But using that API to define a theme seems really easy :
>> https://github.com/hlissner/emacs-doom-themes/blob/master/themes/doom-one-theme.el
>>
>> I think this is the kind of helpers that would warrant upstream integration :
>
> Indeed, it seems that if we extended the `defface` machinery to allow
> evaluation of Elisp code, we could make this "standard".
>
>
>         Stefan

Part of  my suggestion was to turn Solarized into more general
framework. One reason beeing that it offers "conceptual framework" of
thinking about basic colors, and accented colors of which accented
colors are probably those of interest for most 3rd party package
writers. Other reason being because of author invested a great deal of
work to style existing 3rd party packages, to extent I personally have
not seen in any other theme. It makes for much more coherent experience,
then most other themes, something I would like to see with whichever
color scheme is used.

Individual colors should not be the main focus; one can use any colors
once there is a framework to easily change scemes.

I would like to see something as simple like this:



(require 'color-scheme)

(deftheme solarized-light
  "The light variant of the Solarized color theme.")

(color-scheme-create-theme 'light 'solarized-light)

(defvar solarized-base-colors nil
  "Color in use for monobase colors.")

(defvar solarized-accented-colors nil
  "Current color in use for accented colors.")


(setq solarized-base-colors ["#002b36"
                             "#073642"
                             "#586e75"
                             "#657b83"
                             "#839496"
                             "#93a1a1"
                             "#eee8d5"
                             "#fdf6e3"])

(setq solarized-accented-colors ["#b58900" ;yellow
                                 "#cb4b16" ;orange
                                 "#dc322f" ;red
                                 "#d33682" ;magenta
                                 "#6c71c4" ;violet
                                 "#268bd2" ;blue
                                 "#2aa198" ;cyan
                                 "#859900" ;green
                                 ])

(color-scheme-set-colors
     solarized-base-colors
     solarized-accented-colors)

(provide-theme 'solarized-light)

Yes, that is what theme-generators do. What I would like to see extra in
Emacs is a manual entry docs on how to use color scheme in theme
creation as well as in 3rd party pacakges that output data into gui
elements, so that themes don't have to individually look in
3rd party code and set faces afterword to make them visually consistent
with rest of Emacs world (as done in Bozhidar's Solarized or base16 and
other themes and generators).



  reply	other threads:[~2020-09-15 16:26 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-14  3:48 solarized Richard Stallman
2020-09-15  8:29 ` solarized Protesilaos Stavrou
2020-09-15  9:14   ` solarized Yuri Khan
2020-09-15 10:16     ` solarized Protesilaos Stavrou
2020-09-15 13:39       ` solarized Theodor Thornhill
2020-09-15 14:05         ` solarized Gerry Agbobada
2020-09-15 14:40           ` Theme generator (was: solarized) Stefan Monnier
2020-09-15 16:26             ` Arthur Miller [this message]
2020-09-15 20:14               ` Theme generator Stefan Monnier
2020-09-15 20:35                 ` Stefan Monnier
2020-09-15 20:44                   ` Arthur Miller
2020-09-16  1:49             ` Theme generator (was: solarized) Tim Cross
2020-09-17  0:25               ` chad
2020-09-17 14:25                 ` Theme generator Arthur Miller
2020-09-16  5:03             ` Theme generator (was: solarized) Richard Stallman
2020-09-15 20:28         ` solarized Protesilaos Stavrou
2020-09-15 20:50           ` solarized Praharsh Suryadevara
2020-09-16  5:05       ` solarized Richard Stallman
2020-09-16  8:27         ` solarized Protesilaos Stavrou
2020-09-16 13:38           ` solarized Arthur Miller
2020-09-17  3:57           ` solarized Richard Stallman
2020-09-17  7:53             ` solarized Gian Uberto Lauri
2020-09-17 15:56               ` solarized Drew Adams
2020-09-18  4:08               ` solarized Richard Stallman
2020-09-18  4:08               ` solarized Richard Stallman
2020-09-18 16:44                 ` solarized Drew Adams
2020-09-17 14:11             ` solarized Arthur Miller
2020-09-17 23:39               ` solarized Tim Cross
2020-09-18  4:13                 ` solarized Richard Stallman
2020-09-18  5:49                   ` solarized Tim Cross
2020-09-18  6:43                   ` solarized Arthur Miller
2020-09-16 13:06         ` solarized Arthur Miller
2020-09-17  3:53           ` solarized Richard Stallman
2020-09-15 11:26   ` solarized Göktuğ Kayaalp
2020-09-15 12:15     ` solarized Elias Mårtenson
2020-09-15 12:56       ` solarized Göktuğ Kayaalp
2020-09-16  1:30         ` solarized Tim Cross
2020-09-16 10:21           ` solarized Göktuğ Kayaalp
2020-09-16 12:53             ` solarized Arthur Miller
2020-09-16 22:09             ` solarized Tim Cross
2020-09-17 14:29               ` solarized Arthur Miller
2020-09-18 13:32               ` solarized Stefan Kangas
2020-09-18 15:53                 ` solarized Arthur Miller
2020-09-18 16:03                 ` solarized Arthur Miller
2020-09-19  4:00                 ` solarized Richard Stallman
2020-09-20 20:18                   ` solarized Bozhidar Batsov
2020-09-15 12:05   ` WCAG AAA and Emacs themes Dmitry Gutov
2020-09-15 20:22     ` Protesilaos Stavrou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=VI1PR06MB4526984C82F9E8B53C17A9FC96200@VI1PR06MB4526.eurprd06.prod.outlook.com \
    --to=arthur.miller@live.com \
    --cc=emacs-devel@gagbo.net \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).