Alacritty time/sun based theme switch daemon
Project description
Alacritty Circadian
A cross-platform time based alacritty theme switcher inspired by the excellent circadian.el Emacs package by guidoschmidt, written in Python.
Installation
The package can be installed from multiple sources (other than Git releases):
Pip
$ pip install alacritty-circadian
AUR
Using the yay AUR wrapper:
$ yay alacritty-circadian
This will also install the required system services, which have to be added manually when installing from pip. Read below for more info.
Git
Either download the release, or just clone the head. Then, cd into the directory and install the package locally.
$ python -m build
$ pip install .
You'll find some example config files in docs/
Note: the package has been made with setuptools
and build
Configuration
The program parses a YAML file named circadian.yaml
in
~/.config/alacritty/circadian.yaml
.
It has the following fields:
#
# Choose whatever folder you like to store the themes
#
# If you are a *NIX user:
theme-folder: ~/.config/alacritty/themes
#
# If you are a WINDOWS user:
# Remember to escape special chars for Windows paths and surround them
# with double quotes if you are using environment variables, e.g.:
theme-folder: "%APPDATA%\\alacritty\\themes"
#
# If you want to use sun phases instead of time, put your coordinates in the
# config file:
coordinates:
latitude: 40.684485
longitude: -74.401383
# Themes are an associative array of the following format.
# Theme names MUST NOT use file extensions.
#
# 'time' values can either be:
# - an HH:MM time format
# - one of the following sun phases:
# * dawn
# * sunrise
# * noon
# * sunset
# * dusk
themes:
- time: sunset
name: tokyo-night
- time: 7:00
name: pencil-light
Theme format
All themes should use the format commonly used for alacritty themes:
# Colors
colors:
# Default Colors
primary:
background: '0xf1f1f1'
foreground: '0x424242'
# Normal colors
normal:
black: '0x212121'
...
# Other alacritty compatible fields
You can find a comprehensive list of them at alacritty-theme.
Usage
To start the service just run the CLI script:
$ alacritty-circadian
System Services
The intended way to use the utility is via a system service.
Linux (Systemd)
On a systemd init Linux this is attainable by adding the following service file
to ~/.config/systemd/user/alacritty-circadian.service
:
[Unit]
Description=Alacritty automatic theme switch
[Service]
ExecStart=alacritty-circadian
[Install]
WantedBy=default.target
Installing via the AUR will automate this process for you, leaving you to just enable the system services.
$ systemctl --user enable alacritty-circadian.service
$ systecmtl --user start alacritty-circadian.service
Windows (shell:startup)
Included in the releases are .exe
binaries to use as a startup
application, just download one and add a shortcut to it in the Startup
Windows
folder (Win + R 'shell:startup'
to open it). After that you'll be able to see
it in your task manager.
MacOS (launchd)
It should be quite easy to add a launchd
service in ~/Library/LaunchAgents
although you'll have to provide your own service file (i don't own a Mac).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file alacritty-circadian-0.9.8.tar.gz
.
File metadata
- Download URL: alacritty-circadian-0.9.8.tar.gz
- Upload date:
- Size: 16.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2366a11c149f0190dcf620ce82944252eb425e27185e47aa69e905ffae1c69ed |
|
MD5 | ada88e3c263ad883d64db1640dedafe3 |
|
BLAKE2b-256 | cadbb550515d96bf5f2cdc3f43d0dc24885fd5b46b8925d9b63e9738cf813434 |
File details
Details for the file alacritty_circadian-0.9.8-py3-none-any.whl
.
File metadata
- Download URL: alacritty_circadian-0.9.8-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7da4b1151e9b6acf24a949b40af4fb929b136351f4606303f84a6f8aca7d25a |
|
MD5 | fc17da8fc16315c0b219a0a37e6672bb |
|
BLAKE2b-256 | 2733686de17dffff838aea0b795742b7751338ba8c9d174213c8c562562a40bc |