#!/bin/sh termprog="st" movebind="super+v" delete() { wmctrl -c :SELECT: } new() { geom=$(slop -t 0 -f %x,%y,%w,%h) x=$(echo $geom | awk -F , '{print $1}') y=$(echo $geom | awk -F , '{print $2}') wmctrl -l > ~/.wl $termprog -g 80x24+${x}+${y}& while true; do lastCreatedID=$(wmctrl -l | tail -n 1 | awk '{print $1}') if [ "$lastCreatedID" != "$(tail -n 1 ~/.wl | awk '{print $1}')" ]; then break fi done wmctrl -i -r $lastCreatedID -e 0,$geom rm ~/.wl } resize() { wid=$(slop -t 9999999 -f %i) geom=$(slop -t 0 -f %x,%y,%w,%h) wmctrl -i -r $wid -b remove,maximized_vert,maximized_horz wmctrl -i -r $wid -e 0,$geom } move() { wid=$(slop -t 9999999 -f %i) wmctrl -a $wid xdotool key $movebind } hide() { wid=$(slop -t 9999999 -f %i) wmctrl -i -r $wid -b add,hidden } # swap mouse buttons so we can use right button like in rio xmodmap -e 'pointer = 3 2 1' case $1 in delete) delete;; new) new;; resize) resize;; move) move;; hide) hide;; esac # restore original mouse config xmodmap -e 'pointer = 1 2 3'