# zshrc/80_termfonts
#
# provide helper methods to increase/decrease fonts from the command line
#
# Copyright © 1994–2008 martin f. krafft <madduck@madduck.net>
# Released under the terms of the Artistic Licence 2.0
#
# Source repository: http://git.madduck.net/v/etc/zsh.git
#

typeset -ga _XTERM_FONTS
_XTERM_FONTS+='-misc-fixed-medium-r-semicondensed-*-13-*-*-*-*-*-iso10646-1'
_XTERM_FONTS+='-misc-fixed-medium-r-normal-*-13-120-75-75-c-80-iso10646-1'
_XTERM_FONTS+='-misc-fixed-medium-*-*-*-15-*-*-*-*-*-iso10646-1'
_XTERM_FONTS+='-misc-fixed-medium-r-normal-*-18-*-*-*-*-*-iso10646-1'
_XTERM_FONTS+='-misc-fixed-medium-r-normal-*-20-200-75-75-c-100-iso10646-1'
_XTERM_FONT=${_XTERM_FONT:=1}

_set_xterm_font() {
  if [ $1 -lt 1 ]; then
    warn "no smaller font available"
    _XTERM_FONT=1
    return 1
  elif [ $1 -gt $#_XTERM_FONTS ]; then
    warn "no larger font available"
    _XTERM_FONT=$#_XTERM_FONTS
    return 1
  fi
  _XTERM_FONT=$1
  info "selecting font: $_XTERM_FONTS[$_XTERM_FONT]"
  echo -en "\033]50;$_XTERM_FONTS[$1]\007"
}
#_set_xterm_font $_XTERM_FONT 2>/dev/null

f++() { _set_xterm_font $((_XTERM_FONT + 1)) }
f--() { _set_xterm_font $((_XTERM_FONT - 1)) }
f0() { _set_xterm_font 1 }
fx() { _set_xterm_font $#_XTERM_FONTS }

# vim:ft=zsh