[heavily wip] hyprland/quickshell rice swappper cli tool.
its fully crossplatform as its just a bash script.
# not an install script, the full script that is moved to ~/.local/bin
curl -fsSL "https://raw.githubusercontent.com/im-vihar/riceswap/main/riceswap" -o ~/.local/bin/riceswap && chmod +x ~/.local/bin/riceswap && riceswapWarning
err there's a gray area where if you run this with files actually inside ~/.config/hypr and /quickshell you may loose them. just create a new profile with riceswap create <name> and move your hypr and quickshell folder into ~/.config/riceswap/profiles<name>
riceswap initcustom ui (using rofi/fuzzel)
if you're someone like me, you have multiple profiles, and so a simple switch-like keybind that just runs riceswap set scroll isnt enough. a simple rofi/fuzzel -dmenu script works well. and then just bind a key to run this script on press.
#!/usr/bin/env bash
# Force include standard binary folders just in case
export PATH="$HOME/.local/bin:$HOME/bin:/usr/local/bin:/usr/bin:/bin:$PATH"
# 1. Parse the available profiles clean into Rofi
CHOSEN=$(riceswap list | awk 'NR>2 {print $2}' | rofi -dmenu -i -p "π riceswap set" -theme-str 'entry { placeholder: "Search profiles..."; }')
# 2. If the user didn't hit Escape/cancel, apply the selected profile
if [ -n "$CHOSEN" ]; then
riceswap set "$CHOSEN"
fi#!/usr/bin/env bash
# Force include standard binary folders just in case
export PATH="$HOME/.local/bin:$HOME/bin:/usr/local/bin:/usr/bin:/bin:$PATH"
# 1. Parse the available profiles clean into Fuzzel (using absolute paths or explicit PATH)
CHOSEN=$(riceswap list | awk 'NR>2 {print $2}' | fuzzel --dmenu --prompt="π riceswap set: " --placeholder="Search profiles...")
# 2. If the user didn't hit Escape/cancel, apply the selected profile
if [ -n "$CHOSEN" ]; then
riceswap set "$CHOSEN"
fi