diff options
-rwxr-xr-x | xtopen | 27 |
1 files changed, 26 insertions, 1 deletions
@@ -1,2 +1,27 @@ #!/bin/sh -exec xterm -title "$*" -e "$@" + +# 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 \ + error: missing argument + exit 1 +fi + +if ! which "$1" 2>/dev/null; then + xmessage -default okay -nearmouse \ + error: program "$1" not found + exit 1 +fi + +exec xterm -title "$* (`abbr "$PWD"`)" -e "$@" |