#!/bin/bash # # Terminal emulator wrapper # # Load geometry configuration source ~/.geometry || exit 1 # Set default dimensions if [ ! -z "$GEOMETRY" ]; then DIMENSIONS="-g $GEOMETRY" fi # Set title if [ -z "$TITLE" ]; then if [ ! -z "$1" ]; then TITLE="$1" else TITLE="terminal" fi fi # Set default font if [ ! -z "$FONT" ]; then F_FONT="-F $FONT" FN_FONT="-fn $FONT" f_FONT="-f $FONT" fi # Set shell # # Always use interactive mode (--login or -i) to avoid weird behavior like # one found with vim and NERDTree. # #SH="bash --login -i -rcfile $HOME/.terminal" SH="zsh -i" # Dispatch if [ "$TERM" == "stterm" ]; then if [ ! -z "$1" ]; then # Vanilla st #stterm $f_FONT -T $TITLE -e $SH -c "$*" # Patched st from https://github.com/LukeSmithxyz/st with .Xresources support stterm -T $TITLE -e $SH -c "$*" else # Vanilla st #stterm $f_FONT -T $TITLE -e $SH # Patched st from https://github.com/LukeSmithxyz/st with .Xresources support stterm -T $TITLE -e $SH fi elif [ "$TERM" == "rxvt" ]; then if [ ! -z "$1" ]; then # Background color should be set at ~/.Xresources #rxvt-unicode -bg black +sb -fg white $FN_FONT $DIMENSIONS -title $TITLE \ rxvt-unicode +sb -fg white $FN_FONT $DIMENSIONS -title $TITLE -e $SH -c "$*" else # Background color should be set at ~/.Xresources #rxvt-unicode -bg black +sb -fg white $FN_FONT $DIMENSIONS -title $TITLE \ rxvt-unicode +sb -fg white $FN_FONT $DIMENSIONS -title $TITLE -e $SH fi elif [ "$TERM" == "Eterm" ]; then if [ ! -z "$1" ]; then Eterm --background-pixmap 0 --scrollbar 0 +sb -b black -f white $F_FONT --borderless no \ --buttonbar 0 $DIMENSIONS -n$TITLE -e $SH -c "$*" else Eterm --background-pixmap 0 --scrollbar 0 +sb -b black -f white $F_FONT --borderless no \ --buttonbar 0 $DIMENSIONS -n$TITLE -e $SH fi elif [ "$TERM" == "xterm" ]; then if [ ! -z "$1" ]; then xterm -u8 $FN_FONT -geometry $GEOMETRY -title $TITLE -e $SH "$*" else xterm -u8 $FN_FONT -geometry $GEOMETRY -title $TITLE -e $SH fi fi