Adding a Workspace in Omarchy
This setup automatically detects the current number of linked workspaces in Omarchy/Hyprland and adds one additional linked workspace pair.
For example:
- Workspace 1 →
1 + 11 - Workspace 2 →
2 + 12 - Workspace 3 →
3 + 13 - Workspace 4 →
4 + 14 - Workspace 5 →
5 + 15 - Workspace 6 →
6 + 16
Running the script again will automatically add the next pair.
Add the Next Workspace
Paste the following entire block into the terminal:
HYPR="$HOME/.config/hypr"
LINKED="$HYPR/linked-workspaces.lua"
MONITORS="$HYPR/monitors.lua"
STAMP="$(date +%Y%m%d-%H%M%S)"
echo "===== CURRENT LINKED WORKSPACES ====="
CURRENT=$(grep -oP 'local PAIRS = \K[0-9]+' "$LINKED")
if [ -z "$CURRENT" ]; then
echo "ERROR: Could not determine current PAIRS value."
exit 1
fi
NEXT=$((CURRENT + 1))
echo "Current workspace pairs: $CURRENT"
echo "Adding workspace pair: $NEXT"
echo "New pair will be: $NEXT + $((NEXT + 10))"
echo
echo "===== BACKUP CONFIGURATION ====="
cp "$LINKED" "$LINKED.backup-$STAMP"
cp "$MONITORS" "$MONITORS.backup-$STAMP"
echo "Backups created."
echo
echo "===== UPDATE LINKED WORKSPACES ====="
sed -i \
"s/local PAIRS = $CURRENT/local PAIRS = $NEXT/" \
"$LINKED"
sed -i \
"s/for pair = 1, $CURRENT do/for pair = 1, $NEXT do/" \
"$MONITORS"
echo
echo "===== VERIFY CHANGES ====="
grep -n 'PAIRS' "$LINKED"
grep -n 'for pair' "$MONITORS"
echo
echo "===== RELOAD HYPRLAND ====="
hyprctl reload
echo
echo "===== CONFIGURATION ERRORS ====="
hyprctl configerrors
echo
echo "===== DONE ====="
echo "Added logical workspace $NEXT"
echo "Left monitor: workspace $NEXT"
echo "Right monitor: workspace $((NEXT + 10))"
echo
echo "Switch to it with:"
echo "
