arch-waybar/scripts/switch-layout.sh
Nicholai af8f372739 Fix wofi markup parsing for layout names with ampersands
Added --parse-search false to prevent wofi from trying to parse
special characters like '&' in layout names (e.g. '[BOT & Left]')
2025-11-23 23:12:23 -07:00

31 lines
841 B
Bash
Executable File

#!/bin/bash
# Quick waybar layout switcher
waybar_layouts="$HOME/.config/waybar/configs"
waybar_config="$HOME/.config/waybar/config"
# Get all available layouts
layouts=($(ls "$waybar_layouts" | sort))
# If wofi is available, use it for selection
if command -v wofi &> /dev/null; then
choice=$(printf '%s\n' "${layouts[@]}" | wofi --dmenu -i -p "Waybar Layout" --parse-search false)
else
# Otherwise use a simple CLI menu
echo "Available Waybar Layouts:"
for i in "${!layouts[@]}"; do
echo "$((i+1)). ${layouts[$i]}"
done
read -p "Select layout (1-${#layouts[@]}): " selection
choice="${layouts[$((selection-1))]}"
fi
if [[ -n "$choice" ]]; then
ln -sf "$waybar_layouts/$choice" "$waybar_config"
echo "Switched to: $choice"
killall waybar
waybar &
else
echo "No selection made"
fi