Skippy-xd tiling

Skippy-xd and tiling function.

This simple script uses skippy-xd to select windows and tile them.

Alternative to (W-A-t). Has more tiling position options.

skippy-xd-tiling.sh. Only works on Mabox systems.

  • Limitation:

    Max up to 4 windows.

    Positions of the windows are set using Mabox hotkey’s.

LEFT_KEY="Super+Left"
RIGHT_KEY="Super+Right"
TOP_LEFT_KEY="Super+KP_7"
TOP_RIGHT_KEY="Super+KP_9"
BOTTOM_LEFT_KEY="Super+KP_1"
BOTTOM_RIGHT_KEY="Super+KP_3"
2 windows → left/right split  
3 windows → 2 stacked on one side, 1 full height on the other  
4 windows → quarter tiling

skippy-xd-tiling.sh

#!/bin/bash
# Arrange selected windows in Mabox using built-in tiling shortcuts

LEFT_KEY="Super+Left"
RIGHT_KEY="Super+Right"
TOP_LEFT_KEY="Super+KP_7"
TOP_RIGHT_KEY="Super+KP_9"
BOTTOM_LEFT_KEY="Super+KP_1"
BOTTOM_RIGHT_KEY="Super+KP_3"

wids=($(skippy-xd --expose --multi-select))
count=${#wids[@]}

case $count in
    2)
        # Left / Right split
        xdotool windowactivate "${wids[0]}" key --clearmodifiers $LEFT_KEY
        xdotool windowactivate "${wids[1]}" key --clearmodifiers $RIGHT_KEY
        ;;
    3)
        # Two stacked on left, one full height right
        xdotool windowactivate "${wids[0]}" key --clearmodifiers $TOP_LEFT_KEY
        xdotool windowactivate "${wids[1]}" key --clearmodifiers $BOTTOM_LEFT_KEY
        xdotool windowactivate "${wids[2]}" key --clearmodifiers $RIGHT_KEY
        ;;
    4)
        # Quarter tiling
        xdotool windowactivate "${wids[0]}" key --clearmodifiers $TOP_LEFT_KEY
        xdotool windowactivate "${wids[1]}" key --clearmodifiers $TOP_RIGHT_KEY
        xdotool windowactivate "${wids[2]}" key --clearmodifiers $BOTTOM_LEFT_KEY
        xdotool windowactivate "${wids[3]}" key --clearmodifiers $BOTTOM_RIGHT_KEY
        ;;
    *)
        echo "No layout defined for $count windows — using quarter tiling pattern."
        # Fallback: cycle through quarter-tiling
        shortcuts=($TOP_LEFT_KEY $TOP_RIGHT_KEY $BOTTOM_LEFT_KEY $BOTTOM_RIGHT_KEY)
        idx=0
        for wid in "${wids[@]}"; do
            xdotool windowactivate "$wid" key --clearmodifiers "${shortcuts[$idx]}"
            idx=$(( (idx+1) % 4 ))
        done
        ;;
esac


skippy-tiling

For more skippy-xd scripts look at.

Future?

Maybe jgtile and skippy-xd will be joint in the future :wink:

:bird:

2 Likes