#!/bin/bash if [ "x$1" != "x" ] then pgrep -l -u "$USER" -f "$1" | egrep -v "/bin/bash|/bin/sh" | grep -vq "$$" if [ $? == "0" ] then WID=`xdotool search --class $1 | head -1` CWID=`xdotool getactivewindow` if [ "x$WID" != "x$CWID" ]; then xdotool windowactivate $WID #wmctrl -i -R $WID else xdotool windowminimize $WID fi else if [ "x$3" == "x" ] then /usr/bin/$1 else eval "$3" fi fi else echo "Usage: one-instance program-name [extra action]" fi