4.3BSD-UWisc/man/cat1/xshell.1
XSHELL(1) UNIX Programmer's Manual XSHELL(1)
NAME
xshell - X Window System, key/button command exec
SYNOPSIS
xshell [ _o_p_t_i_o_n_s ] [ _h_o_s_t:_d_i_s_p_l_a_y ] ...
DESCRIPTION
_X_s_h_e_l_l is a program for starting up X applications with a
single key or button stroke. It displays a scallop shell
icon in which button and key presses stand for different
commands. The user can bind a command string to any key or
button by inserting a line like the following in his or her
xshell.action.keyname: command to be exec'ed
Keynames are simply letters, numbers, and symbols as they
appear on the keyboard (e.g. a, $, 9), or one of the follow-
ing special names (taken from the X keyboard definitions):
KEYPAD0 FUNC1 E1
KEYPAD. FUNC2 E2
ENTER FUNC3 E3
KEYPAD1 FUNC4 E4
KEYPAD2 FUNC5 E5
KEYPAD3 FUNC6 E6
KEYPAD4 FUNC7 LEFTARROW
KEYPAD5 FUNC8 RIGHTARROW
KEYPAD6 FUNC9 DOWNARROW
KEYPAD, FUNC10 UPARROW
KEYPAD7 FUNC11 SHIFT
KEYPAD8 FUNC12 CONTROL
KEYPAD9 FUNC13 LOCK
KEYPAD- FUNC14 SYMBOL
PF1 FUNC15
PF2 FUNC16
PF3 FUNC17
PF4 FUNC18
LEFTBUTTON FUNC19
MIDDLEBUTTON FUNC29
RIGHTBUTTON
Thus, the following `.Xdefaults' definitions specify that
the Left Button will spawn a terminal window, the Middle
Button an editor, the Right Button a calculator, $ a Bourne
shell, and # a superuser shell:
xshell.action.LeftButton: xterm =80x65-0+0 -fn 6x10
xshell.action.MiddleButton: xted =80x65+0-0
xshell.action.RightButton: xterm =20x20-0-0 -fn 6x10 -e dc
xshell.action.$: xterm =80x65+0+0 -fn 6x10 -e sh
xshell.action.#: xterm =80x65+0+0 -fn 6x10 -e su
Printed 1/10/87 31 October 1985 1
XSHELL(1) UNIX Programmer's Manual XSHELL(1)
_X_s_h_e_l_l breaks the command string up into words by removing
all white space (i.e. tabs and spaces) and uses the vfork()
and execvp() system calls to spawn off the command. A more
complicated parsing algorithm could easily be added, but the
current method is adequate (and fast and memory efficient).
One thing to keep in mind is that _x_s_h_e_l_l is NOT a window
manager. It was written to make popping up frequently used
utilities as painless as possible (how many times have you
found that you need just 1 more window....). It might make
a nice addition to some of the more verbose window managers,
but it runs quite nicely as a separate program.
ARGUMENTS
_X_s_h_e_l_l is designed to be somewhat compatible with _x_c_l_o_c_k in
the arguments that it takes. However, _x_s_h_e_l_l will allow you
to abbreviate its longer flags to any length you chose.
Thus, the -reverse flag can be spelled out, given as -rev,
or even just -r:
-fg _c_o_l_o_r On color displays, determines the color of the
foreground.
-bg _c_o_l_o_r On color displays, determines the color of the
background.
-bd _c_o_l_o_r On color displays, determines the color of the
border.
-bw _p_i_x_e_l_s
Specify the width in pixels of the border around
the _x_s_h_e_l_l window.
-v[olume] _n
Volume for calls to _X_F_e_e_p, used when errors (such
as unbound key) are found.
-f[lash] _n
Number of times to flash the shell window to ack-
nowledge a button or key press.
-d[elay] _n
One-hundredths of a second to wait between flashs
(default is 5).
-r[everse]
Reverse video (swap foreground and background).
-q[uiet] Do not `feep' on errors (see volume).
Printed 1/10/87 31 October 1985 2
XSHELL(1) UNIX Programmer's Manual XSHELL(1)
-s[mall] Use a smaller (48x48) version of the shell icon.
The default icon is 96x96.
=_g_e_o_m_e_t_r_y By default _x_s_h_e_l_l will create a window the size of
whatever icon you select; the standard X window
geometry argument will override this. See _X(_1)
for details.
_h_o_s_t:_d_i_s_p_l_a_y
specifies the display on which to put the _x_s_h_e_l_l
window. This overrides the DISPLAY environment
variable.
X DEFAULTS
To make invoking _x_s_h_e_l_l easier, each of the flags listed
above may be specified in the user's
Foreground
gives the foreground color.
Background
gives the background color.
Border gives the border color.
BorderWidth
gives the border width.
ReverseVideo
if "on", the shell icon should be white on black
instead of black on white.
Volume gives the volume to use in calls to XFeep().
Flash gives the number of times to flash the shell win-
dow to acknowledge key or button presses.
Delay gives hundredths of a second to wait in between
flashes.
Quiet prevents _x_s_h_e_l_l from feeping at you when you mis-
type.
IconSize if "small", a halfsize (48x48) version of the
scallopshell is used.
WindowGeometry
gives the shell window size using standard X
=WxH+X+Y notation.
Printed 1/10/87 31 October 1985 3
XSHELL(1) UNIX Programmer's Manual XSHELL(1)
ENVIRONMENT
DISPLAY To get the default host and display number.
SEE ALSO
xwm(1), xnwm(1), X(1), execl(3), vfork(2)
DIAGNOSTICS
If -quiet is not given on the command line or
``xshell.Quiet: on'' does not appear in the user's ._X_d_e_-
_f_a_u_l_t_s, _x_s_h_e_l_l will `feep' if a key or button is pressed for
which there is no definition in the ._X_d_e_f_a_u_l_t_s file.
AUTHOR
Copyright 1985, Cognition Inc.
Jim Fulton (Cognition Inc.)
BUGS
_X_s_h_e_l_l uses the XGetDefault call to fetch the command string
for a given key. Thus, you cannot bind the colon (``:'')
character to a command.
A more `user-friendly' interface could include dialog boxes
that the user could pop up to type in a command directly so
that a full shell doesn't have to be started. Then again,
it is nice and compact now and if you really need to do that
more than once you should use a real shell.
This program along with _x_w_m(_1) and _x_n_w_m have been mostly
superceded by _u_w_m(_1).
Printed 1/10/87 31 October 1985 4