#!/bin/sh ## use the windows on the desktop as screensavers by moving them randomly . /tmp/wms_var INPUT=$1 # input FW=$(pfw) # focused window SW=$(wattr w $(lsw -r)) # screen width SH=$(wattr h $(lsw -r)) # screen height WW=$((SW * 80 / 100)) # windows width = 80% of the screen WH=$((SH * 80 / 100)) # windows height = 80% of the screen MAXX=$((SW - WW)) # max X coordinate MAXY=$((SH - WH)) # max Y coordinate FREQ=20 # refresh frequency usage() { echo "usage: wms_screensaver.sh [ -a, -f ] -a) all windows -f) focused window" } # random movement for all windowsaver all_win() { while true; do for wid in $(lsw); do x=$(shuf -i 0-$MAXX -n 1) # random x coordinate y=$(shuf -i 0-$MAXY -n 1) # random y coordinate wtp $x $y $WW $WH $wid done sleep $FREQ done } # random movement for the focused window focused_win() { while true; do x=$(shuf -i 0-$MAXX -n 1) y=$(shuf -i 0-$MAXY -n 1) wtp $x $y $WW $WH $FW sleep $FREQ done } case $INPUT in -a) all_win ;; -f) focused_win ;; *) usage ;; esac