#!/bin/bash

vmPath=/btrfs/vms

if [ "x`which ssft.sh`" = "x" ]; then
	echo "Cannot access ssft library: quitting."
	exit 1
fi
source ssft.sh
[ -n "$SSFT_FRONTEND" ] || SSFT_FRONTEND="$(ssft_choose_frontend)"


if [ $EUID -ne 0 ]; then
	echo 'Must be run as root!'
	# Attempt to fire up authentication dialog
	# This should probably be done with polkit but that looks complicated
	if [ "x`which kdesu`" != "x" ]; then
		exec kdesu -- bash -x $0
	elif [ "x`which kdesudo`" != "x" ]; then
		exec kdesudo -- bash -x $0
	else
		exit 1
	fi
fi

ssft_select_single "Choose VM" "Which VM would you like to run?" \
    `cd $vmPath; ls`
ssftReturn=$?

if [ $ssftReturn -ne 0 ]; then
    echo "User chose not to start a VM"
    exit 1
else
    vmName="$SSFT_RESULT"
fi

# Is it running?
if [ "x`lxc-info -n "$vmName" | cut -d " " -f 3`" != "xRUNNING" ]; then
    # Run temp vm in background screen session
    screen -dmS "lxc-$vmName" lxc-start -n "$vmName"

    # Wait for VM to start
    lxc-wait -n "$vmName" -s RUNNING
fi

# konsole doesn't work because the PID returned isn't the 
# one that owns the resulting konsole session
#konsole --new-tab -e screen -r lxc-$vmName &

# Connect to VM screen session
# Nice big font for presentations
xterm -fg white -bg black -fa Monospace -fs 12 -e screen -r lxc-$vmName &

