This commit is contained in:
2025-11-21 18:42:22 -05:00
parent a4fe814b0a
commit 88b375e335

258
riceman Executable file
View 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