stuff
This commit is contained in:
53
.local/share/darkman/alacritty-theme.py
Executable file
53
.local/share/darkman/alacritty-theme.py
Executable file
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import subprocess
|
||||
from argparse import ArgumentParser
|
||||
from pathlib import Path
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = ArgumentParser(description="Alacritty theme switcher")
|
||||
parser.add_argument(
|
||||
"mode",
|
||||
help="The mode to switch the Alacritty theme to (e.g., 'dark' or 'light')",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.mode not in ["dark", "light"]:
|
||||
print("Invalid mode. Please choose 'dark' or 'light'.")
|
||||
exit(1)
|
||||
|
||||
"""
|
||||
The Alacritty config directory should contain the following files:
|
||||
└── themes
|
||||
├── current.toml -> dark/default.toml
|
||||
├── dark
|
||||
│ └── default.toml
|
||||
└── light
|
||||
└── default.toml
|
||||
|
||||
The default.toml files can be symlinks to the actual theme files, so you can easily switch between
|
||||
different themes by changing the symlink target.
|
||||
|
||||
To change the light/dark theme, we can simply change the current.toml symlink to point to the
|
||||
appropriate theme file.
|
||||
"""
|
||||
|
||||
alacritty_config = Path.home() / ".config/alacritty"
|
||||
themes_dir = alacritty_config / "themes"
|
||||
current_theme = themes_dir / "current.toml"
|
||||
target_theme = themes_dir / args.mode / "default.toml"
|
||||
|
||||
if not target_theme.exists():
|
||||
print(f"Target theme file not found at {target_theme}")
|
||||
exit(1)
|
||||
|
||||
if current_theme.exists() and not current_theme.is_symlink():
|
||||
print(f"Current theme file {current_theme} is not a symlink. Please fix this manually.")
|
||||
exit(1)
|
||||
|
||||
if current_theme.exists():
|
||||
current_theme.unlink()
|
||||
|
||||
current_theme.symlink_to(target_theme)
|
||||
|
||||
print("Done!")
|
||||
Reference in New Issue
Block a user