Commit graph

185 commits

Author SHA1 Message Date
Protesilaos Stavrou 327bfe563e
modus-operandi: change warning mapping 2022-11-30 09:01:41 +02:00
Protesilaos Stavrou bcb1be6769
modus-operandi: disambiguate bg-completion, bg-prompt 2022-11-30 07:08:24 +02:00
Protesilaos Stavrou 8c1ec2f0ee
Tweak mail-4 mapping 2022-11-30 06:53:36 +02:00
Protesilaos Stavrou fbf6552840
Make minor tweaks to the palettes 2022-11-30 05:29:58 +02:00
Protesilaos Stavrou 0a2a7698b8
Reorder rainbow mappings 2022-11-29 22:32:38 +02:00
Protesilaos Stavrou d8027894f9
Refine accent-3 mapping 2022-11-29 22:18:26 +02:00
Protesilaos Stavrou 7c61950cca
Tweak prose-code mappings 2022-11-29 21:56:13 +02:00
Protesilaos Stavrou 5358ebfa2e
modus-operandi: refine diff added 2022-11-29 21:22:59 +02:00
Protesilaos Stavrou a4855ab106
Revise heading mappings 2022-11-29 21:20:21 +02:00
Protesilaos Stavrou 551f65507c
modus-operandi: tweak fg-alt 2022-11-29 21:18:05 +02:00
Protesilaos Stavrou ddc9113ff2
modus-operandi: tweak yellow hues 2022-11-29 21:17:52 +02:00
Protesilaos Stavrou 0366d4e0dd
modus-operandi: tweak accent-1 2022-11-29 19:50:41 +02:00
Protesilaos Stavrou 14c4bb6c45
modus-operandi: reorder accent mappings 2022-11-29 19:47:39 +02:00
Protesilaos Stavrou 97a4511d9d
Use correct values for fg-dim and comment mapping 2022-11-29 19:38:38 +02:00
Protesilaos Stavrou 9dc97b3978
Rewrite theme palettes
The intent is three-fold:

* Reduce the number of entries, which makes things easier to maintain,
  extend, configure.

* Introduce colour mappings, which allow us to optimise each theme
  when necessary.  For example, the mail-3 mapping is not shared
  between the two themes, simply because another hue is more
  appropriate.  There may be more such cases in the future.

* Make the palette easier to understand by using more meaningful names
  and colour associations.  This will eventually help us use the
  modus-themes.el as a basis for more themes.
2022-11-29 17:43:26 +02:00
Protesilaos Stavrou eb74f0460d
Add mappings for emails; tweak accordingly 2022-11-29 08:59:48 +02:00
Protesilaos Stavrou 5458f6da59
Remove intense and gray from modus-themes-prompts
The intent is to reduce the number of possible combinations and,
generally, make it easier to maintain the themes.  Furthermore, some
of those combinations were simply not good enough.
2022-11-29 08:38:45 +02:00
Protesilaos Stavrou 6696daed99
Abstract some colours and mappings; make adjustments (WIP) 2022-11-29 08:29:10 +02:00
Protesilaos Stavrou 975f087d1a
Define rainbow colour mappings 2022-11-29 08:08:51 +02:00
Protesilaos Stavrou 683a76686e
Remove optional background and overline from headings
The intent is to reduce all the possible colour combinations in the
interest of maintainability.
2022-11-29 08:06:07 +02:00
Protesilaos Stavrou c2b23efb9b
Redefine "intense" accents; remove odd names
Make necessary adjustments to affected faces.
2022-11-29 06:23:57 +02:00
Protesilaos Stavrou effce44cb8
Remove the tab foreground colours
The intent is to reduce the number of entries in the palette and to
make better use of fewer colour values.
2022-11-29 06:22:50 +02:00
Protesilaos Stavrou 5ed45c93a8
Use semantic names for entries in the colour palette 2022-11-29 06:06:04 +02:00
Protesilaos Stavrou 3acd53268c
Move colour palettes to individual theme files 2022-11-29 05:24:04 +02:00
Protesilaos Stavrou 502d619dcb
Revert "Expand deftheme with appropriate data"
This reverts commit f1cf9a1eb2.

The report in issue 50 on the GitHub mirror made me think that we
should not do this as it is backward incompatible:
<https://github.com/protesilaos/modus-themes/issues/50>.

Besides, the files already include theme properties in a different
way, per commit 5fee337.
2022-11-27 19:28:18 +02:00
Protesilaos Stavrou f1cf9a1eb2
Expand deftheme with appropriate data
This is for Emacs 29.  I tested it on Emacs 27 and there is no problem
with it.
2022-11-21 05:01:50 +02:00
Protesilaos Stavrou 66ff9ea64b
Update to modus-themes version 3.0.0 2022-10-28 06:48:46 +03:00
Philip Kaludercic 5fee33731e
Add theme property tags for modus-{operandi,vivendi}-theme
* modus-operandi-theme.el: Add autoloaded theme properties.
* modus-vivendi-theme.el: Add autoloaded theme properties.

As introduced in https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-10/msg00886.html.
2022-10-15 23:22:33 +03:00
Protesilaos Stavrou 0b42e595fb
Bump to 2.7.1 because I forgot all headers... 2022-10-01 10:42:07 +03:00
Protesilaos Stavrou 976f52b34a
Update to version 2.6.0 2022-08-19 12:26:20 +03:00
Protesilaos Stavrou 64f9378a51
Update to version 2.5.0 2022-08-03 14:04:14 +03:00
Protesilaos Stavrou 7241ea0a41
Restore link to mailing list archive 2022-06-29 08:46:58 +03:00
Protesilaos Stavrou 9eda0afacf
Name the mailing list address as the "Maintainer:"
This is to conform with work being done in package.el by Philip
Kaludercic.  I was informed about it here:
<https://lists.sr.ht/~protesilaos/general-issues/%3C875ykl84yi.fsf%40posteo.net%3E>.
2022-06-28 20:34:44 +03:00
Protesilaos Stavrou 467aab7137
Bump to 2.4.1 2022-06-01 13:45:45 +03:00
Protesilaos Stavrou b1f94b20a9
Revert "Disable byte compilation"
This reverts commit 3d6221e284.  Upon
further inspection, the issue is specific to Emacs 29.  I tried to build
the package with Emacs 27, 28, 29, and only the latter produces the
error.
2022-05-12 11:57:40 +03:00
Protesilaos Stavrou 3d6221e284
Disable byte compilation
Commit f067d2e explains at length the rationale for wrapping the
reification of the themes in 'eval-and-compile'.  While that appears to
solve the problem documented therein, it creates a new one: when we try
to byte compile a theme, we get:

    Error: Lisp nesting exceeds ‘max-lisp-eval-depth’

I think byte compilation is nice to have, but it keeps giving us
problems.  I am thus disabling it until further notice.

[ Themes shipped with Emacs are not byte compiled (includes
  modus-operandi and modus-vivendi).  I have seen third-party themes do
  the same, such as Bozhidar Batsov's zenburn. ]

Thanks to Omar Antolín Camarena (@oantolin) for reporting the
aforementioned error.
2022-05-11 19:18:18 +03:00
Protesilaos Stavrou 6bdc035ea1
Move official Git repository to SourceHut
The new source is <https://git.sr.ht/~protesilaos/modus-themes>.

The GitLab URL which once was the main source of this project will
function as a mirror from now on.  This is in addition to the GitHub
equivalent:

* <https://gitlab.com/protesilaos/modus-themes/>
* <https://github.com/protesilaos/modus-themes/>

The canonical mailing list for user feedback and/or patches is
<https://lists.sr.ht/~protesilaos/modus-themes>.  Everyone is encouraged
to use it: it is ordinary email and one can attach files (e.g. pictures)
if needed.
2022-04-07 12:59:23 +03:00
Protesilaos Stavrou f9b2c8b677
Upgrade to version 2.3.0 2022-04-01 12:33:47 +03:00
Protesilaos Stavrou efda2006c1
Improve the one-line description of the themes
Thanks to Jorge Morais for the feedback!
2022-03-21 08:35:11 +02:00
Protesilaos Stavrou f067d2ef39
Reify themes with eval-and-compile
This is an attempt to fix a bug that has existed since version 1.2.0 of
the themes or even earlier.

The bug is about a mismatch between compiled code and runtime
dependencies.  The runtime expects the current version while the
compiled code only furnishes an outdated one, thus resulting in an
error.  This only happens when:

1. Private functions change to accept more/fewer arguments.
2. Variables change their acceptable value (e.g. from symbol to list).
3. The user is installing the package via the package.el mechanism which
   takes care of byte compilation (though anything that mimics
   package.el should exhibit the same behaviour).

My understanding is that the cause was the limited scope of the
'eval-and-compile' we had before: it would run the 'require' also at
compile time, whereas the 'modus-themes-theme' macro, which reifies the
actual theme, would only be evaluated at runtime.  Hence the mismatch as
'require' would read the already installed byte code while the macro
would expect newer forms.

Wrapping everything in the 'eval-and-compile' should address this
problem.  Hopefully it will not engender new ones...

* * *

The latest reports about this bug:

* GitLab issue 287 with Mark Bestley and Daniel Mendler:
  <https://gitlab.com/protesilaos/modus-themes/-/issues/287>.

* GitHub issue 22 with Rytis Paškauskas:
  <https://github.com/protesilaos/modus-themes/issues/22>.
2022-03-03 07:06:49 +02:00
Protesilaos Stavrou 7b203db9e4
Update to version 2.2.0 2022-02-23 08:58:37 +02:00
Protesilaos Stavrou 1c77764976
Update to version 2.1.0 2022-02-17 10:39:36 +02:00
Protesilaos Stavrou 3bc041ef8c
Reword single line description 2022-02-10 17:40:00 +02:00
Protesilaos Stavrou 128e604602
Update copyright years 2022-01-05 09:37:02 +02:00
Protesilaos Stavrou c435114b97
Update copyright statement to match emacs.git 2021-12-25 07:54:28 +02:00
Protesilaos Stavrou 8485dba0b1
Update to version 2.0.0 2021-12-24 12:39:51 +02:00
Protesilaos Stavrou 6f69627703
Update to version 1.7.0 2021-11-18 12:30:30 +02:00
Protesilaos Stavrou a19a829dcc
Make all theme files require same Emacs version
The main file, modus-themes.el, has had this minimum requirement on
Emacs 27.1 for a while now.

Thanks to Togan Muftuoglu for reporting the inconsistency in issue 246:
<https://gitlab.com/protesilaos/modus-themes/-/issues/246>.
2021-10-15 07:22:03 +03:00
Protesilaos Stavrou 8dbfe43fe5
Update to version 1.6.0 2021-09-29 11:04:20 +03:00
Protesilaos Stavrou b6fb7cda01
Update to version 1.5.0 2021-07-15 14:12:49 +03:00
Protesilaos Stavrou 15c973f716
Update to version 1.4.0 2021-05-25 12:27:07 +03:00
Protesilaos Stavrou a3ff6dc946
Update to version 1.3.2 2021-04-18 06:27:07 +03:00
Protesilaos Stavrou 1903cf6530
Bump file versions to 1.3.1 2021-04-17 19:04:11 +03:00
Protesilaos Stavrou 69248a97c9
Update modus-themes to version 1.3.0 2021-04-17 18:34:51 +03:00
Protesilaos Stavrou ccca6b3369
Refine code of commit 6f26cc8 ('require-theme')
Thanks to Mauro Aranda for providing this version:
<https://gitlab.com/protesilaos/modus-themes/-/issues/164#note_528435230>.
2021-03-12 22:29:59 +02:00
Protesilaos Stavrou 6f26cc8fb1
Implement workaround for using 'require-theme'
This is related to issue 164, which pertains to a problem in byte
compilation that is experienced while using 'straight.el' on Emacs 28:
<https://gitlab.com/protesilaos/modus-themes/-/issues/164>.

Thanks, in no particular order, to everyone who has participated thus
far in that thread: John Haman, Trey, Nicolas De Jaeghere, Mauro Aranda.
2021-03-12 21:48:42 +02:00
Protesilaos Stavrou 0a36239baf
Update to version 1.2.3 2021-03-05 19:43:30 +02:00
Basil L. Contovounesios 5b1b28022c
Remove redundant calls to 'provide'
* modus-operandi-theme.el:
* modus-vivendi-theme.el: Remove (provide 'foo-theme), which is
already done by (provide-theme 'foo).
2021-03-05 16:16:52 +00:00
Protesilaos Stavrou ece5f3b92e
Update to version 1.2.2 2021-03-05 14:03:04 +02:00
Protesilaos Stavrou c61b4b6fc8
Fix conditional use of 'require-theme'
This snippet is courtesy of Basil L. Contovounesios.  It is meant to
make the themes load their main library regardless of version or setup,
as discussed in issue 162:
<https://gitlab.com/protesilaos/modus-themes/-/issues/162>.
2021-03-05 13:48:45 +02:00
Protesilaos Stavrou 68dff175de
Update to version 1.2.0 2021-03-04 15:08:06 +02:00
Protesilaos Stavrou bdf9e4f2e8
Revert commit 0a5ec7d
This is because it breaks things with existing installs, as reported by
several users in issue 162:
<https://gitlab.com/protesilaos/modus-themes/-/issues/162>.
2021-03-04 13:57:33 +02:00
Protesilaos Stavrou 6eb515e589
Test for 'require-theme' before trying (Emacs28)
This is because the feature/native-comp branch on emacs.git does not
have that function yet.  Thanks to Mark Barton for reporting the problem
in issue 162: <https://gitlab.com/protesilaos/modus-themes/-/issues/162>.
2021-03-04 06:38:43 +02:00
Protesilaos Stavrou 0a5ec7dbe0
Update theme files for Emacs 28 inclusion+upgrade
The themes are already in Emacs, but we have to use a new function for
things to work as intended with the new version of the files (check the
Emacs source code for the technicalities of 'require-theme').

This is in preparation of the imminent release of version 1.2.0.
2021-03-03 19:21:57 +02:00
Protesilaos Stavrou 7701224ca9
Update doc of deftheme modus-operandi 2021-02-27 04:52:19 +02:00
Protesilaos Stavrou 46bd9afbdf
Restore mistakenly removed section from the manual 2021-01-25 07:52:16 +02:00
Protesilaos Stavrou 97fa6679b3
Update to version 1.1.0 2021-01-24 13:55:23 +02:00
Protesilaos Stavrou ea475c8828
Update copyright notices to cover new year 2021-01-02 20:01:03 +02:00
Nicolas De Jaeghere 11bf20bab3
Absorb theme macro into modus-themes.el 2020-12-31 11:42:33 +01:00
Nicolas De Jaeghere 2f2b55b2d8
Simplify theme macro 2020-12-30 15:40:40 +01:00
Protesilaos Stavrou e86cf90e9b
Remove theme-specific path registration
This appears to be causing the problem reported in issue 130:
<https://gitlab.com/protesilaos/modus-themes/-/issues/130>.
2020-12-09 16:07:26 +02:00
Protesilaos Stavrou ab0f558397
Update to version 1.0.2
Minor tweaks to the manual to ensure that the right instructions are
provided for those who install the themes manually or will be using the
version that is shipped with Emacs.
2020-12-06 13:08:37 +02:00
Protesilaos Stavrou 6af3c19704
Update files to version 1.0.1 2020-12-06 10:32:13 +02:00
Protesilaos Stavrou ebfa08c4ca
Move deftheme declarations outside the main file
Reported by Daniel Mendler in issue 130:
<https://gitlab.com/protesilaos/modus-themes/-/issues/130>.
2020-12-05 21:10:42 +02:00
Protesilaos Stavrou 240630e5ac
Move function aliased to the main file 2020-11-22 09:13:26 +02:00
Protesilaos Stavrou 556fe3c047
Add aliases for theme loading 2020-11-22 07:31:48 +02:00
Protesilaos Stavrou 3f53316f7b
Tweak call to load path
* modus-operandi-theme.el (load-file-name): Make sure
custom-theme-load-path is bound.

* modus-vivendi-theme.el (load-file-name): Same.
2020-11-19 22:42:53 +02:00
Protesilaos Stavrou 83a216a6d6
Remove needless 'eval-and-compile'
* modus-operandi-theme.el (modus-themes, require): Just require
'modus-themes is enough.  No need for eval-and-compile.

* modus-vivendi-theme.el (modus-themes, require): Same.
2020-11-19 22:41:09 +02:00
Protesilaos Stavrou cfef0a61fd
Reformat GPL notice in each file's header 2020-11-17 17:57:58 +02:00
Protesilaos Stavrou 20b011e25d
Avoid duplication of commentary 2020-11-17 17:55:26 +02:00
Protesilaos Stavrou 50bb3f5adf
Use correct comment header for the themes
Discussion: https://gitlab.com/protesilaos/modus-themes/-/issues/119
2020-11-17 16:58:40 +02:00
Protesilaos Stavrou db56a5ecb2
Fix compilation and remove superfluous items 2020-11-14 15:48:46 +02:00
Protesilaos Stavrou 32d8f57cbe
Make theme files 'provide-theme' 2020-11-11 18:29:48 +02:00
Protesilaos Stavrou 7bc6a6e620
Avoid loading macros when users run the code
Evaluate this:

         (info "(elisp) Compiling Macros")

    Byte-compiling a file also executes any ‘require’ calls at top-level
    in the file, so you can ensure that necessary macro definitions are
    available during compilation by requiring the files that define
    them (*note Named Features::).  To avoid loading the macro
    definition files when someone _runs_ the compiled program, write
    ‘eval-when-compile’ around the ‘require’ calls (*note Eval During
    Compile::).
2020-11-11 17:40:26 +02:00
Protesilaos Stavrou 06b9d14ab2
Early prototype 2020-11-11 11:58:35 +02:00