mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-26 11:14:08 +00:00
72 lines
1.2 KiB
Bash
Executable File
72 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Adapted from https://gist.github.com/xqm32/17777d035930d622d0ff7530bfab61fd
|
|
#
|
|
|
|
set -euo pipefail
|
|
|
|
# Enable verbosity with VERBOSE=1
|
|
VERBOSE="${VERBOSE:-0}"
|
|
|
|
A_DIR="$HOME/.config/alacritty"
|
|
|
|
# Function to print usage information
|
|
usage()
|
|
{
|
|
echo "Usage: $0 <theme>"
|
|
echo "Available themes: (dark|night) to turn dark mode on, (day|light) to turn off"
|
|
exit 1
|
|
}
|
|
|
|
# Function to print messages if VERBOSE is enabled
|
|
# $1 - message (string)
|
|
msg()
|
|
{
|
|
[[ "$VERBOSE" -eq 1 ]] && echo "$1"
|
|
return 0
|
|
}
|
|
|
|
# Function to set the alacritty theme
|
|
# $1 - theme (string)
|
|
set_alacritty_theme()
|
|
{
|
|
local theme=$1
|
|
local theme_file="$A_DIR/theme-$theme.toml"
|
|
msg "Setting alacritty theme to $theme ($theme_file)"
|
|
cp -f "$theme_file" "$A_DIR/theme-active.toml"
|
|
return 0
|
|
}
|
|
|
|
# Function to notify alacritty about the changes
|
|
notify_alacritty()
|
|
{
|
|
msg "Notifying alacritty about the changes"
|
|
touch "$A_DIR/alacritty.toml"
|
|
return 0
|
|
}
|
|
|
|
# Main function
|
|
main()
|
|
{
|
|
if [ "$#" -ne 1 ]; then
|
|
usage
|
|
fi
|
|
|
|
local alacritty_theme=$1
|
|
|
|
case "$alacritty_theme" in
|
|
day | light)
|
|
set_alacritty_theme "day"
|
|
;;
|
|
*)
|
|
set_alacritty_theme "night"
|
|
;;
|
|
esac
|
|
|
|
notify_alacritty
|
|
msg "Theme set successfully!"
|
|
exit 0
|
|
}
|
|
|
|
main "$@"
|