#!/bin/sh # xtopen -- run command in xterm abbr() { case "$1" in /home/$USER/*) a='~'${1#/home/$USER} ;; /home/$USER) a='~' ;; /home/*) a='~'${1#/home/} ;; *) a=$1 ;; esac printf '%s\n' "$a" } if [ $# -eq 0 ]; then xmessage -buttons sorry:0 -default sorry -nearmouse \ "usage: $0 [-K] cmd ..." exit 1 fi flagK= case "$1" in -K) flagK=-K shift ;; -*) xmessage -buttons sorry:0 -default sorry -nearmouse \ error: "unknown flag $1" exit 1 ;; esac if ! which "$1" 2>/dev/null; then xmessage -default okay -nearmouse \ error: "program $1 not found" exit 1 fi [ -z "$flagK" ] && exec xterm -title "$* (`abbr "$PWD"`)" -e "$@" || exec xterm -title "$* (`abbr "$PWD"`)" -e with-shell-on-error "$@"