#!/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 [-i] [-k] [-K] [-u] cmd ..." exit 1 fi i= k= K= u= while getopts ikKu o; do case $o in i) i=1 ;; K) K=1 ;; k) k=1 ;; u) u=1 ;; ?) xmessage -buttons sorry:0 -default sorry -nearmouse \ error: "unknown flag $1" exit 1 ;; esac done shift $((OPTIND-1)) if ! which "$1" >/dev/null; then xmessage -default okay -nearmouse \ error: "program $1 not found" exit 1 fi prefix= [ ! -z "$i" ] && prefix=$prefix\ iso8859-1 [ ! -z "$u" ] && prefix=$prefix\ utf8 case "$k,$K" in 1,*) prefix=$prefix\ with-shell ;; *,1) prefix=$prefix\ with-shell-on-error ;; esac exec xterm -title "$* (`abbr "$PWD"`)" -e $prefix "$@"