Introduce the i3-sensible-{pager,editor,terminal} scripts

The former two provide fallbacks in case $PAGER or $EDITOR is not set (which
might be more common than you think, because they have to be set in
~/.xsession, not in the shell configuration!) while the latter tries to launch
a terminal emulator. The scripts are most prominently used in i3-nagbar, which
alerts the user when the configuration is broken for some reason. Also,
i3-sensible-terminal is used in the default configuration.

This commit does not rely on the shell supporting ${PAGER:-less} anymore, which
is not the case for 'fish'.
This commit is contained in:
Michael Stapelberg
2011-09-25 18:45:51 +01:00
parent 1675499f15
commit 6420b2b102
9 changed files with 63 additions and 11 deletions

14
i3-sensible-editor Executable file
View File

@ -0,0 +1,14 @@
#!/bin/sh
# This script tries to exec an editor by trying some known editors if $EDITOR is
# not set.
#
# Distributions/packagers can enhance this script with a
# distribution-specific mechanism to find the preferred pager.
which $VISUAL >/dev/null && exec $VISUAL "$@"
which $EDITOR >/dev/null && exec $EDITOR "$@"
# Hopefully one of these is installed (no flamewars about preference please!):
which nano >/dev/null && exec nano "$@"
which vim >/dev/null && exec vim "$@"
which vi >/dev/null && exec vi "$@"
which emacs >/dev/null && exec emacs "$@"