#!/bin/bash
delim=,
: ${screen:=$0}; screen=${screen##*/}
nt() { echo -n $'\x1b]0;'"$*"$'\x07'; }
nt "$screen"
apps() {
  unset IFS
  [ -n "$STY" ] && { for A; do eval screen $A; done; exit; }
  screen -r -D "$screen" && exit
  tmp=".apps.tmp.$$.$RANDOM$RANDOM$RANDOM"
  ( umask 077; mkdir /tmp/"$tmp" ) ||
    { echo >&2 "`basename $0`: can't create temp"; exit 1; }
  file="/tmp/$tmp/tmp"
  {
  if [ "${LINES:-10}" -le 20 ]
    then grep -v hardstatus
    else cat; fi < $HOME/.screenrc
  for A; do echo "screen $A"; done
  } >"$file"
  (sleep 2 ; rm -rf "$tmp") &
  exec screen -c "$file" -D -RR "$screen"
}
if [ $# = 0 ]; then
  [ "$apps" = "${apps#*$delim}" ] || IFS=$delim
  apps $apps
else
  apps "$@"
fi
