26 lines
772 B
Bash
Executable File
26 lines
772 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# layout-selector.sh
|
|
# Cycles through layouts using Wofi for selection, commits on key choice
|
|
|
|
# Hyprland workspace info
|
|
CURRENT_WS=$(hyprctl activeworkspace -j | jq -r '.id')
|
|
CURRENT_LAYOUT=$(hyprctl workspaces -j | jq -r ".[] | select(.id==$CURRENT_WS) | .layout")
|
|
|
|
# Define your layouts (change as you like)
|
|
LAYOUTS=("master-stack" "monocle" "bsp" "grid" "floating")
|
|
|
|
# Show selection menu via Wofi
|
|
CHOICE=$(printf '%s\n' "${LAYOUTS[@]}" | wofi --dmenu --prompt "Select Layout")
|
|
|
|
# If user cancelled
|
|
[ -z "$CHOICE" ] && exit 0
|
|
|
|
# Skip if already current layout
|
|
[ "$CHOICE" == "$CURRENT_LAYOUT" ] && exit 0
|
|
|
|
# Apply the layout
|
|
hyprctl dispatch workspace "$CURRENT_WS" layout "$CHOICE"
|
|
|
|
# Show OSD feedback
|
|
hyprctl dispatch oSD "Layout: $CHOICE" 2000
|