-
Notifications
You must be signed in to change notification settings - Fork 0
/
splitvt.man
264 lines (154 loc) · 7.76 KB
/
splitvt.man
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
SPLITVT(1) NONESSENTIAL UTILITIES SPLITVT(1)
NAME
splitvt - run two shells in a split window
SYNOPSIS
splitvt [options] [shell]
OPTIONS
-upper command
Runs 'command' in the upper window
-lower command
Runs 'command' in the lower window
-s numlines
Sets 'numlines' to the number of lines in the top
window. This number will be modified if the screen
isn't big enough to handle the full size.
-t title
Sets an xterm title bar to 'title'
-login Runs the programs under each window as though they
were login shells. This is useful to have csh
source it's .login file, bash source .profile, etc.
-nologin
Ovverrides any "set login on" statement in the
startup file.
-rcfile file
Loads 'file' as the startup file instead of
~/.splitvtrc. If %s is present in the filename, it
will be replaced by your home directory. (E.g.
%s/.splitvtrc is equivalent to the default startup
file)
-norc Suppresses loading your ~/.splitvtrc
-v Print out the version number of splitvt
DESCRIPTION
This program splits the screen into two windows, one above
the other, and runs a shell in each one. The default
shell is taken from the SHELL environment variable, or
/bin/csh if SHELL isn't in the environment, but another
shell can be specified on the command line.
The top window is the default current window, but you can
change to the other by pressing ^W. Pressing ^V will
quote the next character to the current shell. Pressing
^O will put splitvt into command mode.
SPLITVT 1/5/95 1
SPLITVT(1) NONESSENTIAL UTILITIES SPLITVT(1)
These special characters (command mode, switch window, and
quote next character) can be modified from within the
.splitvtrc file.
When in command mode, splitvt will read one non-numeric
character, perform the requested command, and then revert
to normal operations. Numeric characters are interpreted
as a parameter for the specified command. The currently
supported commands are:
'h' Print a help window for the escape commands
'-' Shrink the current window
'+' Expand the current window
'c' Select a block of text in the current window
'p' Paste the selected text to the current window
'k' Kill the current window (hangup signal)
'x' Lock the screen, after prompting for password
'r' Repaint the screen (clearing screen garbage)
'q' Quickly quit splitvt, killing the running shells
More functions may be added in the future.
If the -s command line option is used, the upper window
will be bound to the user defined number of lines even if
the screen is resized. Otherwise, the screen will be
split into two equal parts based on the new size of the
screen.
The environment variable SPLITVT is set in the shells
forked by splitvt. In the shell running in the upper win-
dow, this variable is set to the value "upper", while the
shell running in the lower window has this variable set to
the value "lower". This is useful in shell scripts to
provide different behavior depending on which window the
script is running in. An example of this is shown in the
file "menu" in the examples directory in the splitvt dis-
tribution.
SPLITVT 1/5/95 2
SPLITVT(1) NONESSENTIAL UTILITIES SPLITVT(1)
When splitvt starts up, it looks in your home directory
for a file named .splitvtrc You can set a number of param-
eters from within this file, including all of the special
characters, the default number of lines in the upper win-
dow, whether or not to run the commands as login shells,
and even default commands to run in each window.
Here is an example of a .splitvtrc file:
# This is an example .splitvtrc file.
set command_char ^O
set quote_char ^V
set switch_char ^W
set upper_lines 12
run -upper /bin/sh
run -lower top
set login on
# This next line would override the above run statements
#run /bin/tcsh
If programs like vi are doing strange things to the window
while in splitvt, you probably need to set the LINES envi-
ronment variable to a correct value, or set the terminal's
window sizing correctly. This should be done automati-
cally, but may need to be corrected.
If you are running under an xterm window, the title bar
will probably be updated to show the version of splitvt
that you are running. Under a true xterm window, you can
also switch which half of the window you are typing into
by clicking the mouse in the half of the window in which
you want to type. You can also drag and drop the separa-
tor bar by pressing down on the mouse button over the sep-
arator bar, holding it down, moving the mouse to where you
want the bar to end up, and then releasing the button.
splitvt will attempt to erase the current utmp entry, and
replace it with entries for the two windows. This allows
you to use programs such as 'talk' within the splitvt win-
dows. If you do not have write permission to the
/etc/utmp file, you will not be able to modify the utmp
entries.
splitvt can be made set-uid root. splitvt will reset its
user id to that of the person running it, just before it
exec()'s the shell under the window. The splitvt process
remains with root permissions, and will change ownership
of the pseudo terminals to that of the person running
splitvt, and then reset it to root when the window is
closed.
SPLITVT IS NOT GUARANTEED TO BE A SAFE SET-UID PROGRAM!
I have done all I know to keep splitvt a safely usable
SPLITVT 1/5/95 3
SPLITVT(1) NONESSENTIAL UTILITIES SPLITVT(1)
set-uid program, but I do not know everything, and am not
responsible for any security weaknesses splitvt might
posess.
BUGS
When used with a certain public domain version of ksh, you
have to manually kill -9 on the shell processes after you
quit splitvt. This has to do with a bug in that version
of ksh (Version 06/03/86a and possibly others).
If splitvt is compiled with xterm support, when run under
an xterm, the cut and paste feature is semi-disabled. The
title bar may also be reset to the string "xterm" after
splitvt quits. See the comments at the top of splitvt.c
for how to disable xterm support.
Ansi colors are not repainted on screen refresh.
CAVEATS
There may be conflicts between splitvt's characters and
other programs. You can either change splitvt's default
characters with command line options, or you can type
Ctrl-V (the quote character) within splitvt, and the next
character typed will be sent to the current window, no
matter what it is.
splitvt can only be used by terminals using vt100 emula-
tion, due to the use of specific vt100 escape codes.
(vt300, xterm, Linux console, etc, emulation also works)
When running in an xterm, if you press the escape key, you
will have to type another character in order for the
escape to be seen by the running program.
AUTHOR
Sam Lantinga [email protected]
SPLITVT 1/5/95 4