mirror of
https://github.com/dchakro/alacritty_colors.git
synced 2026-05-17 10:12:17 -07:00
add shell script to apply alacritty themes
This commit is contained in:
parent
cb6c74e21d
commit
6960c64055
1 changed files with 169 additions and 0 deletions
169
apply_theme.sh
Normal file
169
apply_theme.sh
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# #<---------------------------->
|
||||
# # You must include this section when:
|
||||
# # Distributing, Using and/or Modifying this code.
|
||||
# # Please read and abide by the terms of the included LICENSE.
|
||||
# # Copyright 2020, Deepankar Chakroborty, All rights reserved.
|
||||
# #
|
||||
# # Version : 0.0.1
|
||||
# # Author : Deepankar Chakroborty (https://github.com/dchakro)
|
||||
# # Report issues: https://github.com/dchakro/alacritty_colors/issues
|
||||
# # License: https://github.com/dchakro/alacritty_colors/blob/master/LICENSE
|
||||
# #<---------------------------->
|
||||
|
||||
# Make a theme list
|
||||
|
||||
declare -a arrFiles
|
||||
cd themes
|
||||
for file in *.yml
|
||||
do
|
||||
arrFiles=("${arrFiles[@]}" "$file")
|
||||
done
|
||||
cd ..
|
||||
|
||||
|
||||
RESET()
|
||||
{
|
||||
# Copies ./base.yml -> ~/.alacritty.yml
|
||||
echo ""
|
||||
echo 'This will overwrite your ~/.alacritty.yml with ./base.yml'
|
||||
while true; do
|
||||
read -p "Restore base config (y/N): " backup_choice1
|
||||
case $backup_choice1 in
|
||||
[Yy]* )
|
||||
cp ./base.yml ~/.alacritty.yml && echo "Config reset to base!"
|
||||
break
|
||||
;;
|
||||
[Nn]* )
|
||||
echo "Reset aborted."
|
||||
break
|
||||
;;
|
||||
* )
|
||||
echo "Please answer with either Y/y or N/n."
|
||||
esac
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
BACKUP()
|
||||
{
|
||||
# Backs up ~/.alacritty.yml as ~/.alacritty.bak.yml
|
||||
if [ ! -f ~/.alacritty.yml ] ; then
|
||||
echo '~/.alacritty.yml does not exist!'
|
||||
RESET
|
||||
fi
|
||||
|
||||
if [ ! -f ~/.alacritty.bak.yml ] ; then
|
||||
cp ~/.alacritty.yml ~/.alacritty.bak.yml && echo "Config backup successful!"
|
||||
else
|
||||
while true; do
|
||||
read -p "Backup exists. Overwrite? (y/N): " backup_choice2
|
||||
case $backup_choice2 in
|
||||
[Yy]* )
|
||||
cp ~/.alacritty.yml ~/.alacritty.bak.yml && echo "Backup overwrite successful!"
|
||||
break
|
||||
;;
|
||||
[Nn]* )
|
||||
echo "Backup aborted."
|
||||
break
|
||||
;;
|
||||
* )
|
||||
echo "Please answer with either Y/y or N/n."
|
||||
esac
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
RESTORE()
|
||||
{
|
||||
if [ -f ~/.alacritty.bak.yml ] ; then
|
||||
cp -f ~/.alacritty.bak.yml ~/.alacritty.yml && echo "Config restored!"
|
||||
else
|
||||
echo "Backup config for alacritty does not exist!!"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
LIST_THEMES()
|
||||
{
|
||||
echo 'Availabe themes:'
|
||||
declare -i counter
|
||||
counter=1
|
||||
for item in "${arrFiles[@]}"
|
||||
do
|
||||
echo "# ${counter} :${item}"
|
||||
counter=($counter+1)
|
||||
done
|
||||
}
|
||||
|
||||
APPLY_THEMES()
|
||||
{
|
||||
LIST_THEMES
|
||||
read -p "Choose (default=1): " inp
|
||||
if [ -z "${inp}" ]; then
|
||||
inp=1
|
||||
fi
|
||||
inp=$((inp-1)) # as array indices start from 0
|
||||
echo ""
|
||||
echo "Applying the theme: ${arrFiles[inp]}"
|
||||
|
||||
cat ./base.yml ./themes/${arrFiles[inp]} >| ~/.alacritty.yml
|
||||
bash ./show_colors.sh
|
||||
|
||||
while true; do
|
||||
read -p "Keep changes (Y/n): " choice
|
||||
case $choice in
|
||||
[Yy]* )
|
||||
echo "Theme set to: ${arrFiles[inp]}"
|
||||
exit 0
|
||||
;;
|
||||
[Nn]* )
|
||||
RESTORE
|
||||
break
|
||||
;;
|
||||
* )
|
||||
echo "Please answer with either Y/y or N/n."
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
while true
|
||||
do
|
||||
reset_choice=""
|
||||
choice=""
|
||||
backup_choice1=""
|
||||
backup_choice2=""
|
||||
inp=""
|
||||
|
||||
|
||||
printf ' -- Apply alacritty themes --
|
||||
1) Apply Themes
|
||||
2) Backup .alacritty.yml
|
||||
3) Restore the backup
|
||||
4) Reset config (no defined color scheme)
|
||||
5) Exit
|
||||
|
||||
Enter: ';
|
||||
read var;
|
||||
|
||||
if [ "$var" -eq "1" ]; then
|
||||
APPLY_THEMES
|
||||
fi
|
||||
if [ "$var" -eq "2" ]; then
|
||||
BACKUP
|
||||
exit 0
|
||||
fi
|
||||
if [ "$var" -eq "3" ]; then
|
||||
RESTORE
|
||||
exit 0
|
||||
fi
|
||||
if [ "$var" -eq "4" ]; then
|
||||
RESET
|
||||
exit 0
|
||||
fi
|
||||
if [ "$var" -eq "5" ]; then
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue