11/21
This commit is contained in:
258
riceman
Executable file
258
riceman
Executable file
@@ -0,0 +1,258 @@
|
||||
#!/bin/bash
|
||||
|
||||
D_CONF="${HOME}/.config"
|
||||
|
||||
D_HYPRLAND_CONF="${D_CONF}/hypr"
|
||||
D_WAYBAR_CONF="${D_CONF}/waybar"
|
||||
D_NWGBAR_CONF="${D_CONF}/nwg-bar"
|
||||
D_KITTY_CONF="${D_CONF}/kitty"
|
||||
D_FUZZEL_CONF="${D_CONF}/fuzzel"
|
||||
|
||||
initial_checks() {
|
||||
case ${1} in
|
||||
0) echo "Valid index";;
|
||||
1) echo "Valid index";;
|
||||
2) echo "Valid index";;
|
||||
3) echo "Valid index";;
|
||||
4) echo "Valid index";;
|
||||
*) echo "Invalid index, quitting now. Goodbye." && exit 1;;
|
||||
esac
|
||||
}
|
||||
|
||||
reload_all() {
|
||||
hyprctl reload
|
||||
for sock in /tmp/kitty-*; do
|
||||
[ -S "$sock" ] || continue
|
||||
echo "Reloading config for $sock"
|
||||
kitty @ --to "unix:$sock" load-config
|
||||
done
|
||||
|
||||
if pgrep -x "waybar" > /dev/null; then
|
||||
killall waybar
|
||||
sleep 0.5
|
||||
nohup waybar >/dev/null 2>&1 &
|
||||
else
|
||||
nohup waybar >/dev/null 2>&1 &
|
||||
fi
|
||||
}
|
||||
|
||||
update_symlinks() {
|
||||
echo "Updating symlinks for hyprland..."
|
||||
readlink ${D_HYPRLAND_CONF}/theme.conf
|
||||
F_THEMEFILE="${D_HYPRLAND_CONF}/theme.conf"
|
||||
case ${1} in
|
||||
0)
|
||||
F_THEME="${D_HYPRLAND_CONF}/t_base16.conf"
|
||||
;;
|
||||
1)
|
||||
F_THEME="${D_HYPRLAND_CONF}/t_everforest.conf"
|
||||
;;
|
||||
2)
|
||||
F_THEME="${D_HYPRLAND_CONF}/t_gruvbox.conf"
|
||||
;;
|
||||
3)
|
||||
F_THEME="${D_HYPRLAND_CONF}/t_monokai-pro.conf"
|
||||
;;
|
||||
4)
|
||||
F_THEME="${D_HYPRLAND_CONF}/t_nord.conf"
|
||||
;;
|
||||
esac
|
||||
ln -snvf ${F_THEME} ${F_THEMEFILE}
|
||||
|
||||
echo "Updating symlinks for waybar..."
|
||||
readlink ${D_WAYBAR_CONF}/style.css
|
||||
F_THEMEFILE="${D_WAYBAR_CONF}/style.css"
|
||||
case ${1} in
|
||||
0)
|
||||
F_THEME="${D_WAYBAR_CONF}/t_base16.css"
|
||||
;;
|
||||
1)
|
||||
F_THEME="${D_WAYBAR_CONF}/t_everforest.css"
|
||||
;;
|
||||
2)
|
||||
F_THEME="${D_WAYBAR_CONF}/t_gruvbox.css"
|
||||
;;
|
||||
3)
|
||||
F_THEME="${D_WAYBAR_CONF}/t_monokai-pro.css"
|
||||
;;
|
||||
4)
|
||||
F_THEME="${D_WAYBAR_CONF}/t_nord.css"
|
||||
;;
|
||||
esac
|
||||
ln -snvf ${F_THEME} ${F_THEMEFILE}
|
||||
|
||||
echo "Updating symlinks for nwg-bar..."
|
||||
readlink ${D_NWGBAR_CONF}/style.css
|
||||
F_THEMEFILE="${D_NWGBAR_CONF}/style.css"
|
||||
case ${1} in
|
||||
0)
|
||||
F_THEME="${D_NWGBAR_CONF}/t_base16.css"
|
||||
;;
|
||||
1)
|
||||
F_THEME="${D_NWGBAR_CONF}/t_everforest.css"
|
||||
;;
|
||||
2)
|
||||
F_THEME="${D_NWGBAR_CONF}/t_gruvbox.css"
|
||||
;;
|
||||
3)
|
||||
F_THEME="${D_NWGBAR_CONF}/t_monokai-pro.css"
|
||||
;;
|
||||
4)
|
||||
F_THEME="${D_NWGBAR_CONF}/t_nord.css"
|
||||
;;
|
||||
esac
|
||||
ln -snvf ${F_THEME} ${F_THEMEFILE}
|
||||
|
||||
echo "Updating symlinks for kitty..."
|
||||
readlink ${D_KITTY_CONF}/current_theme.conf
|
||||
F_THEMEFILE="${D_KITTY_CONF}/current_theme.conf"
|
||||
case ${1} in
|
||||
0)
|
||||
F_THEME="${D_KITTY_CONF}/t_base16.conf"
|
||||
;;
|
||||
1)
|
||||
F_THEME="${D_KITTY_CONF}/t_everforest.conf"
|
||||
;;
|
||||
2)
|
||||
F_THEME="${D_KITTY_CONF}/t_gruvbox.conf"
|
||||
;;
|
||||
3)
|
||||
F_THEME="${D_KITTY_CONF}/t_monokai-pro.conf"
|
||||
;;
|
||||
4)
|
||||
F_THEME="${D_KITTY_CONF}/t_nord.conf"
|
||||
;;
|
||||
esac
|
||||
ln -snvf ${F_THEME} ${F_THEMEFILE}
|
||||
|
||||
echo "Updating symlinks for fuzzel..."
|
||||
readlink ${D_FUZZEL_CONF}/fuzzel.ini
|
||||
F_THEMEFILE="${D_FUZZEL_CONF}/fuzzel.ini"
|
||||
case ${1} in
|
||||
0)
|
||||
F_THEME="${D_FUZZEL_CONF}/t_base16.ini"
|
||||
;;
|
||||
1)
|
||||
F_THEME="${D_FUZZEL_CONF}/t_everforest.ini"
|
||||
;;
|
||||
2)
|
||||
F_THEME="${D_FUZZEL_CONF}/t_gruvbox.ini"
|
||||
;;
|
||||
3)
|
||||
F_THEME="${D_FUZZEL_CONF}/t_monokai-pro.ini"
|
||||
;;
|
||||
4)
|
||||
F_THEME="${D_FUZZEL_CONF}/t_nord.ini"
|
||||
;;
|
||||
esac
|
||||
ln -snvf ${F_THEME} ${F_THEMEFILE}
|
||||
|
||||
echo "Symlinks updated successfully!"
|
||||
}
|
||||
|
||||
update_nvim() {
|
||||
case ${1} in
|
||||
0)
|
||||
export NVIM_THEME=base16
|
||||
;;
|
||||
1)
|
||||
export NVIM_THEME="everforest"
|
||||
;;
|
||||
2)
|
||||
export NVIM_THEME="gruvbox"
|
||||
;;
|
||||
3)
|
||||
export NVIM_THEME="monokai-pro"
|
||||
;;
|
||||
4)
|
||||
export NVIM_THEME="nord"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "neovim theme updated"
|
||||
echo "These changes may not apply until neovim is restarted"
|
||||
}
|
||||
|
||||
update_gtk() {
|
||||
case ${1} in
|
||||
0)
|
||||
GTK_THEME="BlackAndWhite"
|
||||
ICO_THEME="Slot-Blue-Dark-Icons"
|
||||
;;
|
||||
1)
|
||||
GTK_THEME="Everforest-Dark"
|
||||
ICO_THEME="Everforest-Dark"
|
||||
;;
|
||||
2)
|
||||
GTK_THEME="Gruvbox-Dark-Medium"
|
||||
ICO_THEME="Gruvbox-Plus-Dark"
|
||||
;;
|
||||
3)
|
||||
GTK_THEME="Monokai-GTK"
|
||||
ICO_THEME="Everforest-Dark"
|
||||
;;
|
||||
4)
|
||||
GTK_THEME="Nordic"
|
||||
ICO_THEME="Nordzy-dark"
|
||||
;;
|
||||
*)
|
||||
echo "Invalid theme index"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Applying GTK theme: ${GTK_THEME}"
|
||||
gsettings set org.gnome.desktop.interface gtk-theme "${GTK_THEME}"
|
||||
gsettings set org.gnome.desktop.wm.preferences theme "${GTK_THEME}"
|
||||
gsettings set org.gnome.desktop.interface icon-theme "${ICO_THEME}"
|
||||
|
||||
echo "GTK theme applied successfully"
|
||||
}
|
||||
|
||||
update_wallpaper() {
|
||||
WALL_DIR="${HOME}/Wallpapers"
|
||||
case ${1} in
|
||||
0)
|
||||
FOLDER="${WALL_DIR}/base16"
|
||||
;;
|
||||
1)
|
||||
FOLDER="${WALL_DIR}/everforest"
|
||||
;;
|
||||
2)
|
||||
FOLDER="${WALL_DIR}/gruvbox"
|
||||
;;
|
||||
3)
|
||||
FOLDER="${WALL_DIR}/monokai-pro"
|
||||
;;
|
||||
4)
|
||||
FOLDER="${WALL_DIR}/nord"
|
||||
;;
|
||||
*)
|
||||
echo "Invalid theme index"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -d "$FOLDER" ]; then
|
||||
echo "Setting random wallpaper from: $FOLDER"
|
||||
RANDOM_WALLPAPER=$(find "$FOLDER" -type f \( -iname "*.jpg" -o -iname "*.png" -o -iname "*.jpeg" -o -iname "*.webp" \) | shuf -n 1)
|
||||
if [ -n "$RANDOM_WALLPAPER" ]; then
|
||||
hyprctl hyprpaper unload all
|
||||
hyprctl hyprpaper preload "$RANDOM_WALLPAPER"
|
||||
hyprctl hyprpaper wallpaper ",$RANDOM_WALLPAPER"
|
||||
echo "Wallpaper set to: $RANDOM_WALLPAPER"
|
||||
else
|
||||
echo "No wallpaper files found in: $FOLDER"
|
||||
fi
|
||||
else
|
||||
echo "Wallpaper folder not found: $FOLDER"
|
||||
fi
|
||||
}
|
||||
|
||||
initial_checks "$@"
|
||||
update_symlinks "$@"
|
||||
update_nvim "$@"
|
||||
update_gtk "$@"
|
||||
update_wallpaper "$@"
|
||||
reload_all
|
||||
|
||||
Reference in New Issue
Block a user