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

15
i3-sensible-terminal Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
# This script tries to exec a terminal emulator by trying some known terminal
# emulators.
#
# Distributions/packagers should enhance this script with a
# distribution-specific mechanism to find the preferred terminal emulator. On
# Debian, there is the x-terminal-emulator symlink for example.
# Please don't touch the first line, though:
which $TERMINAL >/dev/null && exec $TERMINAL "$@"
# Hopefully one of these is installed:
which xterm >/dev/null && exec xterm "$@"
which urxvt >/dev/null && exec urxvt "$@"
which rxvt >/dev/null && exec rxvt "$@"
which roxterm >/dev/null && exec roxterm "$@"