trying to fix
This commit is contained in:
parent
fa407dfeb6
commit
e013d7569e
22945 changed files with 447936 additions and 0 deletions
127
var/elfeed/db/data/6b/6b624618674b18278eda9c4f0a45294707ca9d4e
Normal file
127
var/elfeed/db/data/6b/6b624618674b18278eda9c4f0a45294707ca9d4e
Normal file
|
@ -0,0 +1,127 @@
|
|||
|
||||
|
||||
<p>In my dotfiles I have a script for performing a live theme switch across
|
||||
my entire custom desktop session, built around BSPWM.</p>
|
||||
|
||||
<p>As of <a href="https://gitlab.com/protesilaos/dotfiles/commit/9ee6a04755a2b40e0ef6b65509a98e5b6671467c">commit
|
||||
9ee6a04</a>,
|
||||
the theme switch also affects Emacs, though it was originally designed
|
||||
for Vim, Tmux, and other tools. It uses the <code>emacsclient -e</code> facility
|
||||
to run an elisp function of mine that toggles between my two
|
||||
Emacs-specific themes (the “Modus themes”).</p>
|
||||
|
||||
<p>Here is the essential code part (with <code>_depcheck</code> just being a function
|
||||
that checks for the presence of the binary by leveraging <code>command -v</code>):</p>
|
||||
|
||||
<pre><code>_emacs() {
|
||||
_depcheck emacs
|
||||
|
||||
pgrep -x emacs > /dev/null || return 1
|
||||
|
||||
emacsclient -e "(prot/modus-themes-toggle)"
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>The commit message is rather comprehensive, so I am quoting it in its
|
||||
entirety:</p>
|
||||
|
||||
<pre><code>Add Emacs theme switch to the T.E.M.P.U.S. script
|
||||
|
||||
I just need to provide some background information on this, in order to
|
||||
avoid confusion.
|
||||
|
||||
Tempus themes (Vim, terminals, GTK editors)
|
||||
-------------------------------------------
|
||||
|
||||
The Tempus themes project covers Vim, terminal emulators, and some GTK
|
||||
text editors (including GNOME Builder). Its overarching objective is
|
||||
that of a minimum contrast ration of 4.5:1 (WCAG AA) between the
|
||||
background and foreground values. Other tools like Tmux and Dunst all
|
||||
make use of its colour values.
|
||||
|
||||
Because of their roots in terminal emulators, the Tempus themes use the
|
||||
16-colour palette you find on such tools. Refer to the portal page for
|
||||
more on the matter.[1] The project is in a stable state.
|
||||
|
||||
Modus themes ("just" GNU Emacs)
|
||||
-------------------------------
|
||||
|
||||
Whereas the Modus themes are designed specifically for Emacs. They are
|
||||
much more complex and consist of a wider colour palette that covers the
|
||||
extensive array of interfaces inside of Emacs. Their principal
|
||||
objective is similar to that of the afore-mentioned project: a minimum
|
||||
contrast ratio of 7:1 (WCAG AAA).
|
||||
|
||||
Some items in the Tempus themes collection also conform with this higher
|
||||
standard, but the project as a whole only guarantees the "AA" score.
|
||||
|
||||
Check the git source of the Modus themes.[2] They are under heavy
|
||||
development.
|
||||
|
||||
Project history
|
||||
---------------
|
||||
|
||||
The Tempus themes came first (2017) and are a core part of my custom
|
||||
desktop session since its early days. Every relevant interface was
|
||||
built around them.
|
||||
|
||||
As of commit ec885d1 I am in the process of gradually incorporating my
|
||||
new Emacs setup in my dotfiles.[3] This means lots and lots of breaking
|
||||
changes and necessary adjustments.
|
||||
|
||||
FEAR NOT: my free/libre book "Prot's Dots For Debian" (PDFD) still
|
||||
works,[4] because it uses a snapshot of my dotfiles that contains code
|
||||
before the commit I just referenced.[5] PDFD guides you through the
|
||||
process of reproducing my custom desktop session on Debian 10 'buster'.
|
||||
I recently updated it by adding an Annex on the topic of multi-monitor
|
||||
support in BSPWM (and there have been other minor updates since its
|
||||
official release in early July 2019).
|
||||
|
||||
The T.E.M.P.U.S. script (tempus)
|
||||
--------------------------------
|
||||
|
||||
Now the part that may cause confusion: the TEMPUS script performs a live
|
||||
theme switch across my entire custom desktop session. In the past, this
|
||||
meant using one of the items in the Tempus themes collection to apply
|
||||
the new colour values. I thus gave the script a funny and convenient
|
||||
backronym: Themes Every Meticulous Person Ultimately Seeks (TEMPUS).
|
||||
|
||||
Recall that the word "tempus" is Latin for "time" because the first
|
||||
items of the collection were named after the four seasons:
|
||||
|
||||
+ tempus autumn
|
||||
+ tempus spring
|
||||
+ tempus summer
|
||||
+ tempus winter
|
||||
|
||||
At any rate, and jokes notwithstanding, the backronym had the technical
|
||||
upside of offering a straightforward syntax for performing a theme
|
||||
change via a CLI prompt: you just had to type `tempus' followed by the
|
||||
unique identifier of an item from the Tempus themes collection. For
|
||||
example, to switch to Tempus winter, you would run `tempus winter'.
|
||||
|
||||
The other benefit was a more consistent naming convention for the
|
||||
`dmenu' front-end that offers an interactive medium for selecting an
|
||||
item from the collection: `tempusmenu'.
|
||||
|
||||
I think that the script's name is okay, because it still uses the themes
|
||||
it was originally designed for. Besides, I have no intention to remove
|
||||
support for the Tempus themes. The project is still relevant.
|
||||
|
||||
What I am doing with this commit, is just including a small function
|
||||
that performs a "theme switch" for yet another component of my custom
|
||||
desktop session: Emacs. The fact that Emacs internally uses another
|
||||
project of mine (the Modus themes) should not really matter. The
|
||||
end-user effect is exactly the same as before.
|
||||
|
||||
I am just writing all this to make things clear and to refer to the
|
||||
present commit in case someone asks.
|
||||
|
||||
[1]: https://gitlab.com/protesilaos/tempus-themes
|
||||
[2]: https://gitlab.com/protesilaos/modus-themes
|
||||
[3]: https://protesilaos.com/emacs/dotemacs
|
||||
[4]: https://protesilaos.com/pdfd
|
||||
[5]: https://gitlab.com/protesilaos/dotfiles
|
||||
</code></pre>
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue