branch: externals/ef-themes commit 057ab6f29e18d65545cb72067f44c6b78955c7ae Author: Protesilaos Stavrou <i...@protesilaos.com> Commit: Protesilaos Stavrou <i...@protesilaos.com>
Update to version 0.3.0 --- CHANGELOG.org | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.org | 12 +--- ef-themes.el | 2 +- 3 files changed, 194 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org new file mode 100644 index 0000000000..e8bd99e77f --- /dev/null +++ b/CHANGELOG.org @@ -0,0 +1,190 @@ +#+title: Change log of the Ef Themes +#+author: Protesilaos Stavrou +#+email: i...@protesilaos.com +#+options: ':nil toc:nil num:nil author:nil email:nil + +This document contains the release notes for each tagged commit on the +project's main git repository: <https://git.sr.ht/~protesilaos/ef-themes>. + +The newest release is at the top. For further details, please consult +the manual: <https://protesilaos.com/emacs/ef-themes>. + +* Version 0.3.0 on 2022-08-20 +:PROPERTIES: +:CUSTOM_ID: h:f91c2c29-cc5b-4cf3-a322-f3a286a17e8c +:END: + +** User-facing changes +:PROPERTIES: +:CUSTOM_ID: h:691f108f-7a92-47a9-a3a3-89c31916d8c8 +:END: + ++ Revised the minimum Emacs version of the =ef-themes= package. It now + depends on Emacs 27.1 instead of Emacs 28.1. Relevant internal + adjustments were made, some of which are courtesy of Philip + Kaludercic: <https://lists.sr.ht/~protesilaos/ef-themes/patches/34787>. + + [ Philip has assigned copyright to the Free Software Foundation. This + is necessary for all non-trivial patches. ] + ++ Added two new themes to the collection which are designed for users + with red-green colour deficiency/blindness (deuteranopia). In simple + terms, their effective palette consists of blue, yellow, and the base + tones. The themes are named descriptively: ~ef-deuteranopia-dark~ and + ~ef-deuteranopia-light~. Announcement with screenshots: + <https://protesilaos.com/codelog/2022-08-19-ef-themes-deuteranopia/>. + ++ Reconsidered the principle of what kind of user options are + acceptable. Those which affect colours directly will never be a part + of the project. Others are subject to consideration with a preference + for simplicity. Detailed documentation to do-it-yourself will still + be preferred over user options. + ++ Implemented the ~ef-themes-headings~ user option which provides the + mechanism to change the weight and height of each heading level, as + well as set it to ~variable-pitch~ (i.e. a proportionately spaced + font). The doc string of that variable or the relevant entry in the + manual explain the particularities and provided code samples. + + To accommodate this variable, the default style of all headings has + been revised to remove the added height they once had. Users who + preferred the previous style must add the following to their + configuration BEFORE the code that actually loads the theme (e.g. a + ~load-theme~ call): + + #+begin_src emacs-lisp + ;; Restore height of each heading level to its previous value. + (setq ef-themes-headings + '((0 . (1.9)) + (1 . (1.8)) + (2 . (1.7)) + (3 . (1.6)) + (4 . (1.5)) + (5 . (1.4)) + (6 . (1.3)) + (7 . (1.2)) + (t . (1.1)))) + + ;; First set the above configuration, then load the theme (changes to + ;; user options require a theme re-load). + (load-theme 'ef-summer :no-confirm) + #+end_src + ++ Introduced the command ~ef-themes-toggle~ and the companion user + option ~ef-themes-to-toggle~. To use the command, one must first set + their two preferred Ef themes, such as with this: + + #+begin_src emacs-lisp + (setq ef-themes-to-toggle '(ef-summer ef-winter)) + #+end_src + + The names of all the themes are included in the ~ef-themes-collection~ + variable. Though recall that the commands ~ef-themes-select~ and + ~ef-themes-load-random~ still use the entire collection (read their + doc strings or consult the manual). + ++ Fixed how themes are made available at startup. Before, there was a + mistake to how items were registered as "known" and were thus not + recognised by our commands, even though the standard ~load-theme~ + worked as expected. Thanks to Iris Garcia for reporting the problem + in issue 2 on the GitHub mirror: + <https://github.com/protesilaos/ef-themes/issues/2>. It was + propagated to users as version 0.2.1 of the =ef-themes=. + ++ Added support for these packages: + + - chart + - doom-modeline (tentative) + - info + - org-habit + - rcirc + - smerge + + Thanks to Spike-Leung for reminding me about ~org-habit~ in issue 5 + over at the GitHub mirror: + <https://github.com/protesilaos/ef-themes/issues/5>. + + [ Remember that if a package looks awfully out of place, it is not + support (yet). ] + ++ Expanded and/or clarified the manual, including an answer to the + question of what "Ef" means: + + #+begin_quote + "Ef" is a Greek word (ευ), commonly used as a prefix to denote that + something is good, nice, and/or easy. For example, eftopia (ευτοπία) + is the opposite of dystopia (δυστοπία): a good place as opposed to a + bad place. + #+end_quote + ++ Helped Adam Sherwood figure out why zsh-autosuggestions did not look + right. In short: this has nothing to do with Emacs. Try to avoid + termcolor{0,7,8,15} as a default. Prefer the remaining nominal accent + colours, as every theme is more likely to work with those, whereas, + say, termcolor0 ("black") will not be legible with dark themes. This + was done in issue 3 on the GitHub mirror: + <https://github.com/protesilaos/ef-themes/issues/3>. + +** Internal refinements +:PROPERTIES: +:CUSTOM_ID: h:bf3fcbee-9057-497a-8258-2ef8029a3459 +:END: + ++ Recalibrated lots of colour values and mappings across several themes. + The changes are small and help with the internal consistency of each + theme. Consult the Git commit log for the minutiae. + ++ The internal faces for headings are now done with a ~dotimes~ call on + ~custom-declare-face~ instead of a bespoke macro. Thanks to Philip + Kaludercic for the patch: + <https://lists.sr.ht/~protesilaos/ef-themes/patches/34791>. + ++ Applied ~file-equal-p~ for the registration of the themes in the + relevant path. Doing so is generally more resilient than ~equal~ and + might avoid an unexpected edge case in the future. Thanks to Philip + Kaludercic for the patch: + <https://lists.sr.ht/~protesilaos/ef-themes/patches/34789>. + ++ Opted for ={if,when}-let*= over ={if,when}-let=. The former do not + support the obsolete single-binding syntax, and make clear that both + macros operate more like ~let*~ than ~let~ by evaluating and binding + variables sequentially. Thanks to Philip Kaludercic for the patch: + <https://lists.sr.ht/~protesilaos/ef-themes/patches/34787>. + +** Acknowledgement for the first version of the project +:PROPERTIES: +:CUSTOM_ID: h:f7b55da3-a848-463c-ab71-aa044ee7a8dd +:END: + +Thanks to user Summer Emacs whose feedback helped define the identity of +the ~ef-summer~ theme. Summer's comments pertained to the need to +increase the occurence of yellow as the theme used to be predominantly +magenta and purple. I thus implemented the revised colour mapping and +made the relevant adjustments. Without Summer's comments, ~ef-summer~ +wouldn't have been as pretty. + +* Version 0.2.0 on 2022-08-18 +:PROPERTIES: +:CUSTOM_ID: h:1e875631-853a-4bd1-9a33-ff4e51fe7614 +:END: + +[ Added after the fact on 2022-08-20 ] + +No release notes were produced at the time. This version included +various stylistic refinements and added commands for (i) loading a theme +and (ii) previewing a theme's colour palette. + +The commands which load a theme call the =ef-themes-post-load-hook=. +Advanced and/or do-it-yourself users may have a use for it. The manual +will eventually provide specific code samples. + +* Version 0.1.0 on 2022-08-17 +:PROPERTIES: +:CUSTOM_ID: h:fb284e98-ec9c-434d-9e9a-1773300d2fb6 +:END: + +[ Added after the fact on 2022-08-20 ] + +There were no release notes for it. It established the foundations of +the project: the main macros, the character of each theme, etc. Check +the Git commit log for more. diff --git a/README.org b/README.org index 7c48929f01..69dad83b06 100644 --- a/README.org +++ b/README.org @@ -4,9 +4,9 @@ #+language: en #+options: ':t toc:nil author:t email:t num:t #+startup: content -#+macro: stable-version 0.2.0 -#+macro: release-date 2022-08-18 -#+macro: development-version 0.3.0-dev +#+macro: stable-version 0.3.0 +#+macro: release-date 2022-08-20 +#+macro: development-version 0.4.0-dev #+export_file_name: ef-themes.texi #+texinfo_filename: ef-themes.info #+texinfo_dir_category: Emacs misc features @@ -172,8 +172,6 @@ Everything is in place to set up the package. :CUSTOM_ID: h:c8c3f312-692f-45d0-b490-78b501c99d41 :END: -[ Part of {{{development-version}}} ] - Most items in the =ef-themes= collection are designed to use colors from many sides of the spectrum. Those items generally are inappropriate for people with red-green color deficiency or deuteranopia. We do, @@ -198,8 +196,6 @@ change thus requires a theme re-load ([[#h:a6dd030c-6b6c-4992-83e8-3438b4607b51] :CUSTOM_ID: h:a58b8e21-0f8f-4763-9b47-185bf7e10043 :END: -[ Part of {{{development-version}}}. ] - #+vindex: ef-themes-to-toggle #+findex: ef-themes-toggle The user option ~ef-themes-to-toggle~ expects two symbols that name @@ -216,8 +212,6 @@ minibuffer completion or at random ([[#h:58345e8c-2bec-459c-872c-a85a29e9fe97][C :CUSTOM_ID: h:a7a02817-e324-43e9-a7d8-fde024530af6 :END: -[ Part of {{{development-version}}} ] - #+vindex: ef-themes-headings The user option ~ef-themes-headings~ provides support for individual heading styles for levels 0 through 8. diff --git a/ef-themes.el b/ef-themes.el index 42c0f384ca..f2e5e0be60 100644 --- a/ef-themes.el +++ b/ef-themes.el @@ -6,7 +6,7 @@ ;; Maintainer: Ef-Themes Development <~protesilaos/ef-the...@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/ef-themes ;; Mailing-List: https://lists.sr.ht/~protesilaos/ef-themes -;; Version: 0.2.1 +;; Version: 0.3.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility