mirror of
https://github.com/gryf/urxvt-wrapper.git
synced 2025-12-17 11:30:21 +01:00
142 lines
4.2 KiB
Bash
Executable File
142 lines
4.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# urxvt.sh - simplify urxvt commandline execution.
|
|
|
|
SIZE=14
|
|
FIXED_SIZE=16
|
|
ICON_PATH="${HOME}/GNUstep/Library/Icons"
|
|
ICON="tilda.png"
|
|
FONT_BOOK="style=Book"
|
|
FONT_REGULAR="style=Regular"
|
|
FONT_MEDIUM="style=Medium"
|
|
FONT_BOLD="style=Bold"
|
|
|
|
# FIXED_NORMAL="-Misc-Fixed-Medium-R-Normal-*-15-*-*-*-C-*-ISO10646-1"
|
|
# FIXED_ITALIC="-Misc-Fixed-Medium-O-Normal-*-15-*-*-*-C-*-ISO10646-1"
|
|
# FIXED_BOLD="-Misc-Fixed-Bold-R-Normal-*-15-*-*-*-C-*-ISO10646-1"
|
|
|
|
# Regular fonts.
|
|
DEJAVU="xft:DejaVuSansMono Nerd Font Mono:_FONT_STYLE_:pixelsize=_SIZE_"
|
|
FIXED="xft:Misc Fixed:_FONT_STYLE_:pixelsize=_FIXEDSIZE_:antialias=false"
|
|
# Fonts, that provides with symbols, icons, emoji (besides those in Nerd Font)
|
|
SYMBOLA="xft:Symbola:_FONT_STYLE_:pixelsize=_SIZE_"
|
|
UNIFONT="xft:Unifont Upper:_FONT_STYLE_:pixelsize=_SIZE_"
|
|
DEJAVUSANS="xft:DejaVu Sans:style=_FONT_STYLE_:pixelsize=_SIZE_"
|
|
|
|
XFT=true
|
|
EXEC=''
|
|
PERLEXT="url-select,keyboard-select,font-size,color-themes"
|
|
|
|
# TODO: do we need italic/bolditalic?
|
|
|
|
function rxvt {
|
|
urxvtc "$@"
|
|
if [ $? -eq 2 ]; then
|
|
urxvtd -q -o -f
|
|
urxvtc "$@"
|
|
fi
|
|
}
|
|
|
|
function join_by {
|
|
local IFS="$1"; shift; echo "$*";
|
|
}
|
|
|
|
function usage {
|
|
echo "Usage: $(basename "${0}") [options]"
|
|
echo
|
|
echo Options:
|
|
echo
|
|
echo " -i icon select icon file from ${ICON_PATH},"
|
|
echo " default tilda.png"
|
|
echo " -t activate tabbedalt extension"
|
|
echo " -s size set font size, default 14"
|
|
echo " -f use fixed misc font as a main font instead of"
|
|
echo " DejaVu"
|
|
echo " -e pass exec to the urxvt"
|
|
echo " -n no perl extensions"
|
|
echo " -h this help"
|
|
}
|
|
|
|
while getopts ":i:hfs:te:n" option; do
|
|
case $option in
|
|
h)
|
|
usage
|
|
exit 0
|
|
;;
|
|
t)
|
|
PERLEXT="tabbedalt,${PERLEXT}"
|
|
;;
|
|
i)
|
|
ICON=${OPTARG}
|
|
;;
|
|
s)
|
|
SIZE=${OPTARG}
|
|
FIXED_SIZE=${OPTARG}
|
|
;;
|
|
f)
|
|
XFT=false
|
|
;;
|
|
e)
|
|
EXEC="${OPTARG}"
|
|
;;
|
|
n)
|
|
PERLEXT=''
|
|
;;
|
|
*)
|
|
echo "Bad option"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if ${XFT}; then
|
|
FONTS="${DEJAVU/_FONT_STYLE_/style=Book}"
|
|
FONTS="${FONTS/_SIZE_/$SIZE}"
|
|
FONTS="${FONTS},${SYMBOLA/_FONT_STYLE_/style=Regular}"
|
|
FONTS="${FONTS/_SIZE_/$SIZE}"
|
|
FONTS="${FONTS},${UNIFONT/_FONT_STYLE_/style=Medium}"
|
|
FONTS="${FONTS/_SIZE_/$SIZE},${FIXED/_FONT_STYLE_/style=Regular}"
|
|
FONTS="${FONTS},${DEJAVUSANS/_FONT_STYLE_/style=Book}"
|
|
FONTS="${FONTS/_SIZE_/$SIZE}"
|
|
|
|
FONTSB="${DEJAVU/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB/_SIZE_/$SIZE}"
|
|
FONTSB="${FONTSB},${SYMBOLA/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB/_SIZE_/$SIZE}"
|
|
FONTSB="${FONTSB},${UNIFONT/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB/_SIZE_/$SIZE},${FIXED/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB},${DEJAVUSANS/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB/_SIZE_/$SIZE}"
|
|
else
|
|
FONTS="${FIXED/_FONT_STYLE_/style=Regular}"
|
|
FONTS="${FONTS/_FIXEDSIZE_/$FIXED_SIZE}"
|
|
FONTS="${FONTS},${DEJAVU/_FONT_STYLE_/style=Book}"
|
|
FONTS="${FONTS/_SIZE_/$SIZE}"
|
|
FONTS="${FONTS},${SYMBOLA/_FONT_STYLE_/style=Regular}"
|
|
FONTS="${FONTS/_SIZE_/$SIZE}"
|
|
FONTS="${FONTS},${UNIFONT/_FONT_STYLE_/style=Medium}"
|
|
FONTS="${FONTS/_SIZE_/$SIZE}"
|
|
FONTS="${FONTS},${DEJAVUSANS/_FONT_STYLE_/style=Book}"
|
|
FONTS="${FONTS/_SIZE_/$SIZE}"
|
|
|
|
FONTSB="${FIXED/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB/_FIXEDSIZE_/$FIXED_SIZE}"
|
|
FONTSB="${FONTSB},${DEJAVU/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB/_SIZE_/$SIZE}"
|
|
FONTSB="${FONTSB},${SYMBOLA/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB/_SIZE_/$SIZE}"
|
|
FONTSB="${FONTSB},${UNIFONT/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB/_SIZE_/$SIZE}"
|
|
FONTSB="${FONTSB},${DEJAVUSANS/_FONT_STYLE_/style=Bold}"
|
|
FONTSB="${FONTSB/_SIZE_/$SIZE}"
|
|
fi
|
|
|
|
args=("-pe" "${PERLEXT}" "-icon" "${ICON_PATH}/${ICON}")
|
|
args+=("-fn" "${FONTS}" "-fb" "${FONTSB}" )
|
|
|
|
if [ -n "${EXEC}" ]; then
|
|
args+=("-e" "${EXEC}")
|
|
fi
|
|
|
|
rxvt "${args[@]}"
|