mirror of
https://github.com/aljazceru/omakub.git
synced 2025-12-18 21:14:21 +01:00
Download additional fonts on demand instead of upfront
Co-authored-by: @iljo-dp
This commit is contained in:
@@ -1,18 +1,44 @@
|
||||
# Pick a preconfigured theme
|
||||
FONT=$(gum choose "Cascadia Mono" "Fira Mono" "JetBrains Mono" "Meslo" --header "Choose your programming font:" --height 6 | tr '[:upper:]' '[:lower:]' | sed 's/ /-/g')
|
||||
set_font() {
|
||||
local font_name=$1
|
||||
local url=$2
|
||||
local file_type=$3
|
||||
local file_name="${font_name/ Nerd Font/}"
|
||||
|
||||
[ ! -n "$FONT" ] && exit 0
|
||||
if ! $(fc-list | grep -i "$font_name" > /dev/null); then
|
||||
cd /tmp
|
||||
wget -O "$file_name.zip" "$url"
|
||||
unzip "$file_name.zip" -d "$file_name"
|
||||
cp "$file_name"/*."$file_type" ~/.local/share/fonts
|
||||
rm -rf "$file_name.zip" "$file_name"
|
||||
fc-cache
|
||||
cd -
|
||||
fi
|
||||
|
||||
if [ "$FONT" == "cascadia-mono" ]; then
|
||||
NERD_FONT="CaskaydiaMono Nerd Font"
|
||||
elif [ "$FONT" == "fira-mono" ]; then
|
||||
NERD_FONT="FiraMono Nerd Font"
|
||||
elif [ "$FONT" == "jetbrains-mono" ]; then
|
||||
NERD_FONT="JetBrainsMono NFM"
|
||||
elif [ "$FONT" == "meslo" ]; then
|
||||
NERD_FONT="MesloLGLDZ Nerd Font"
|
||||
gsettings set org.gnome.desktop.interface monospace-font-name "$font_name 10"
|
||||
cp "$OMAKUB_PATH/fonts/alacritty/$file_name.toml" ~/.config/alacritty/font.toml
|
||||
sed -i "s/\"editor.fontFamily\": \".*\"/\"editor.fontFamily\": \"$font_name\"/g" ~/.config/Code/User/settings.json
|
||||
}
|
||||
|
||||
if [ "$#" -gt 0 ]; then
|
||||
choice=${!#}
|
||||
else
|
||||
choice=$(gum choose "Cascadia Mono" "Fira Mono" "JetBrains Mono" "Meslo" --height 6)
|
||||
fi
|
||||
|
||||
gsettings set org.gnome.desktop.interface monospace-font-name "$NERD_FONT 10"
|
||||
cp $OMAKUB_PATH/fonts/alacritty/$FONT.toml ~/.config/alacritty/font.toml
|
||||
sed -i "s/\"editor.fontFamily\": \".*\"/\"editor.fontFamily\": \"$NERD_FONT\"/g" ~/.config/Code/User/settings.json
|
||||
case $choice in
|
||||
"Cascadia Mono")
|
||||
set_font "CaskaydiaMono Nerd Font" "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/CascadiaMono.zip" "ttf"
|
||||
;;
|
||||
"Fira Mono")
|
||||
set_font "FiraMono Nerd Font" "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FiraMono.zip" "otf"
|
||||
;;
|
||||
"JetBrains Mono")
|
||||
set_font "JetBrainsMono Nerd Font" "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip" "ttf"
|
||||
;;
|
||||
"Meslo")
|
||||
set_font "MesloLGS Nerd Font" "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/Meslo.zip" "Meslo" "ttf"
|
||||
;;
|
||||
* )
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -6,25 +6,10 @@ unzip CascadiaMono.zip -d CascadiaFont
|
||||
cp CascadiaFont/*.ttf ~/.local/share/fonts
|
||||
rm -rf CascadiaMono.zip CascadiaFont
|
||||
|
||||
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FiraMono.zip
|
||||
unzip FiraMono.zip -d FiraMono
|
||||
cp FiraMono/*.otf ~/.local/share/fonts
|
||||
rm -rf FiraMono.zip FiraMono
|
||||
|
||||
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
|
||||
unzip JetBrainsMono.zip -d JetBrainsMono
|
||||
cp JetBrainsMono/*.ttf ~/.local/share/fonts
|
||||
rm -rf JetBrainsMono.zip JetBrainsMono
|
||||
|
||||
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/Meslo.zip
|
||||
unzip Meslo.zip -d Meslo
|
||||
cp Meslo/*.ttf ~/.local/share/fonts
|
||||
rm -rf Meslo.zip Meslo
|
||||
|
||||
wget https://github.com/iaolo/iA-Fonts/archive/refs/heads/master.zip
|
||||
unzip master.zip -d iaFonts
|
||||
wget -O iafonts.zip https://github.com/iaolo/iA-Fonts/archive/refs/heads/master.zip
|
||||
unzip iafonts.zip -d iaFonts
|
||||
cp iaFonts/iA-Fonts-master/iA\ Writer\ Mono/Static/iAWriterMonoS-*.ttf ~/.local/share/fonts
|
||||
rm -rf master.zip iaFonts
|
||||
rm -rf iafonts.zip iaFonts
|
||||
|
||||
fc-cache
|
||||
cd -
|
||||
|
||||
Reference in New Issue
Block a user