#!/bin/sh -e
#
#    byobu-launcher
#    Copyright (C) 2008 Canonical Ltd.
#
#    Authors: Nick Barcet <nick.barcet@ubuntu.com>
#             Dustin Kirkland <kirkland@canonical.com>
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, version 3 of the License.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

PKG="byobu"
RUN="/var/run/screen/S-$USER"

# Make sure that we're not already in a screen session
[ -z "$STY" ] || exit 0
[ "$TERM" = "screen-bce" ] && exit 0

out=`screen -ls 2>/dev/null` || true
if echo "$out" | grep -qsi "^No Sockets found in "; then
	# Start new session
	exec $PKG
else
	# Set window title
	printf "\033]0;${USER}@$(hostname) - ${PKG}\007"
	# Update ssh-agent socket
	if [ -S "$SSH_AUTH_SOCK" ] && [ -w "$RUN" ]; then 
		rm -f "$RUN/$PKG.ssh-agent"
		ln -sf "$SSH_AUTH_SOCK" "$RUN/$PKG.ssh-agent"
	fi
	# Re-attach to existing session
	exec screen -xRR
fi
