#!/bin/bash

function usage() {
  echo "sudo $0 RESUME_UID /path/to/program"
  echo "ex: sudo $0 banking /bin/bash"
  exit 1
}

if [ -z "$1" ] || [ -z "$SUDO_USER" ]; then usage || exit 1; fi

RESUME_UID="$1"; shift

if [ -z "$DISPLAY" ]; then
  DISPLAY=`python <<EOF
import os
from os.path import join

ppid = os.getppid()
env = open(join('/proc', str(ppid),'environ')).read().split('\0')
for kv in env:
  if kv.startswith("DISPLAY="):
    print kv[len("DISPLAY="):]
EOF`
fi

exec rainbow-run -s /var/spool/rainbow/2 -u "$SUDO_USER" -c "`pwd`" -f 0 -f 1 -f 2 -E "DISPLAY=$DISPLAY" -E "XAUTHORITY=$XAUTHORITY" -a /usr/bin/rainbow-xify -o audio -o network -r "$RESUME_UID" -- $@
