I am batman

This commit is contained in:
2026-07-10 20:07:29 -04:00
commit 4aac54bff6
175 changed files with 18136 additions and 0 deletions

84
scripts/animations.sh Executable file
View File

@@ -0,0 +1,84 @@
#!/usr/bin/env bash
# Define paths
scrDir=$(dirname "$(realpath "$0")")
source "$scrDir/globalcontrol.sh"
config_dir="$HOME/.config"
animations_dir="$config_dir/hypr/animations"
animations_conf="$config_dir/hypr/animations.conf"
rofi_theme="$config_dir/rofi/clipboard.rasi"
# Set rofi scaling
[[ "${rofiScale}" =~ ^[0-9]+$ ]] || rofiScale=10
r_scale="configuration {font: \"JetBrainsMono Nerd Font ${rofiScale}\";}"
wind_border=$((hypr_border * 3 / 2))
elem_border=$([ $hypr_border -eq 0 ] && echo "5" || echo $hypr_border)
# Evaluate spawn position
readarray -t curPos < <(hyprctl cursorpos -j | jq -r '.x,.y')
readarray -t monRes < <(hyprctl -j monitors | jq '.[] | select(.focused==true) | .width,.height,.scale,.x,.y')
readarray -t offRes < <(hyprctl -j monitors | jq -r '.[] | select(.focused==true).reserved | map(tostring) | join("\n")')
monRes[2]="$(echo "${monRes[2]}" | sed "s/\.//")"
monRes[0]="$(( ${monRes[0]} * 100 / ${monRes[2]} ))"
monRes[1]="$(( ${monRes[1]} * 100 / ${monRes[2]} ))"
curPos[0]="$(( ${curPos[0]} - ${monRes[3]} ))"
curPos[1]="$(( ${curPos[1]} - ${monRes[4]} ))"
if [ "${curPos[0]}" -ge "$((${monRes[0]} / 2))" ] ; then
x_pos="east"
x_off="-$(( ${monRes[0]} - ${curPos[0]} - ${offRes[2]} ))"
else
x_pos="west"
x_off="$(( ${curPos[0]} - ${offRes[0]} ))"
fi
if [ "${curPos[1]}" -ge "$((${monRes[1]} / 2))" ] ; then
y_pos="south"
y_off="-$(( ${monRes[1]} - ${curPos[1]} - ${offRes[3]} ))"
else
y_pos="north"
y_off="$(( ${curPos[1]} - ${offRes[1]} ))"
fi
r_override="window{location:${x_pos} ${y_pos};anchor:${x_pos} ${y_pos};x-offset:${x_off}px;y-offset:${y_off}px;border:${hypr_width}px;border-radius:${wind_border}px;} wallbox{border-radius:${elem_border}px;} element{border-radius:${elem_border}px;}"
# Ensure the animations directory exists
if [ ! -d "$animations_dir" ]; then
notify-send "Error" "Animations directory does not exist at $animations_dir"
exit 1
fi
# List available .conf files in animations directory
animation_files=$(ls "$animations_dir"/*.conf 2>/dev/null)
if [ -z "$animation_files" ]; then
notify-send "Error" "No .conf files found in $animations_dir"
exit 1
fi
# Display options using Rofi with custom scaling, positioning, and placeholder
selected_animation=$(echo "$animation_files" | awk -F/ '{print $NF}' | \
rofi -dmenu \
-p "Select animation" \
-theme-str "entry { placeholder: \"Select animation...\"; }" \
-theme-str "${r_scale}" \
-theme-str "${r_override}" \
-theme "$rofi_theme")
# Exit if no selection was made
if [ -z "$selected_animation" ]; then
exit 0
fi
# Generate the new source line
selected_path="$animations_dir/$selected_animation"
new_source_line="source = $selected_path"
# Update the animations.conf file
if grep -q "^source = " "$animations_conf"; then
sed -i "s|^source = .*|$new_source_line|" "$animations_conf"
else
echo "$new_source_line" >> "$animations_conf"
fi
# Notify the user
notify-send "Animation Updated" "Sourced $selected_animation"