#!/bin/bash # List normal windows # wmctrl -l | awk '{if ($4 != "Desktop") print $1}' # # Change the number of desktops # xprop -root -f _NET_NUMBER_OF_DESKTOPS 32c -set _NET_NUMBER_OF_DESKTOPS 2 # # Move window to desktop # xprop -id 0x03600007 -f _NET_WM_DESKTOP 32c -set _NET_WM_DESKTOP 0 # # Move window to all desktops # xprop -id 0x03600007 -f _NET_WM_DESKTOP 32c -set _NET_WM_DESKTOP 4294967295 while true do # change the number of desktops to a random value num_desktops=$(( $RANDOM % 8 + 1 )) xprop -root -f _NET_NUMBER_OF_DESKTOPS 32c -set _NET_NUMBER_OF_DESKTOPS $num_desktops max_desktop=$(( $num_desktops - 1 )) desktops=$(echo 4294967295; seq 0 $max_desktop) for run in 1 2 3 do # start and stop calculators if (( $RANDOM % 5 == 0 )) then killall gnome-calculator 1>/dev/null 2>/dev/null sleep 0.1 else (gnome-calculator 1>/dev/null 2>/dev/null &) fi # change the current desktop to a random value for change in 1 2 3 do desktop=$(shuf -n 1 -e $(seq 0 $max_desktop)) xprop -root -f _NET_CURRENT_DESKTOP 32c -set _NET_CURRENT_DESKTOP $desktop sleep 0.1 done # move windows around for win in $(wmctrl -l | awk '!/Terminal/ {if ($4 != "Desktop") print $1}') do desktop=$(shuf -n 1 -e $desktops) xprop -id $win -f _NET_WM_DESKTOP 32c -set _NET_WM_DESKTOP $desktop done sleep 0.1 done sleep 0.1 done