3 This is a quick overview of screen's life story. But it is not up
4 to date. You'll find more details about the revision history in
5 patchlevel.h and newer changes are only documented there.
10 * writelock, number, paste with arg, at, zombie and wall commands added.
12 * Access Control Lists and more multi-user support added.
14 * select and setenv commands enhanced.
16 * socket.c: motorola bugfix.
18 * configure.in: --srcdir support.
20 * configure.in: recognize alpha and SUNOS3 correctly.
22 * doc/screen.texinfo: Documentation by Jason Merrill.
27 * defautonuke, silence commands added.
31 * hardcopydir, logdir commands added.
33 * Made a superb configure script.
35 * BROKEN_PIPE, SOCK_NOT_IN_FS added for braindamaged systems.
37 * multi display, multi user support.
39 * process command. CS, CE switch cursorkeycap in application mode.
41 * lockprg pow_detaches on SIGHUP
43 * ins_reg copy_reg commands.
45 * new screenrc syntax.
47 * split up screen.c and ansi.c
52 * ChangeLog: replaces CHANGES and is in GNUish format.
54 * Makefile (CFLAGS, M_CFLAGS, LIBS, OPTIONS): moved user config here,
55 merged all Makefiles, GNUified
57 * socket.c (FindSocket): ignoring bad files in $SCREENDIR
59 * config/config.linux: ported.
61 * utmp.c, exec.c, loadav.c: split apart from screen.c/fileio.c
66 * ansi.c (WriteString): automatic character set switching for 8bit support
71 * concept changes: Display structure, Multi attacher
78 * screen.c (main): -m option, "_M_ake always new session", ignore $STY
80 * screen.c (main): -Ssessionname
81 * fileio.c (RcLine): ^A:sessionname give your session a nicer name.
83 * screen.c (main): supporting detached startup via screen -d -m -Ssockname
85 * fileio.c (stripdev): moved, could not compile
87 * overlay.h: "stackable overlay concept"
89 * search.c: vi-like / and ? search AND emacs-like ^S and ^R incremental search
92 * mark.c: I meant BSDI not BSD
94 * concept change: struct display and struct newwin introduced.
96 * screen.c (main): -v option prints version.
98 * screen.c (MakeWindow): ^A:screen /dev/ttya opens a character device
99 instead of forking ShellProg with a pty pair.
108 shadow password suite supported
110 data loss on stdin overflow fixed
112 "refresh off" keyword added.
117 Screen is now under the GNU copyleft license. See file COPYING.
119 command line option -A. $LINES, $COLUMNS improved.
121 C-A : vbellwait <sec>
123 XENIX support (Ronald Khoo)
125 SYSV has uname() instead of gethostname().
129 ClearScreen now saves image to scrollback buffer.
135 3.1 finally released version.
136 =============================
138 3.0.99: last minute changes:
139 ----------------------------
141 MIPS support (J{rvinen Markku)
143 SVR4 support (Marc Boucher)
145 secopen() secfopen() calls replace stat/access/open.
149 Changes up to Screen 3.0 Patchlevel 7
150 =====================================
152 Better terminfo support: Screen now checks if a termcap/info
153 entry which the name "screen.$TERM" does exist. Look in the
154 "VIRTUAL TERMINAL" section of the manual for more details.
156 Many security improvements.
158 ScrollRegion() bug fixed which caused slow scrolling if AL
161 Pyramid and Ultrix support added. (Tim and Larry)
164 /local/etc/screenrc checks for $SYSSCREENRC
165 $HOME/.screenrc checks for $ISCREENRC and $SCREENRC
166 /local/screens checks for $ISCREENDIR and $SCREENDIR
167 .screenrc understands ${VAR} and $VAR .
169 screen 3.0 Patchlevel 6
170 =======================
173 screen now only opens the windows you explicitly ask for. if you
174 specify none, you still get one window, of course.
176 screen 3.0. Patchlevel 5
177 ========================
179 Ansi prototyping by Christos.
181 copy mode: CTRL-U / CTRL-D exchanged. code cleanup.
183 changes to screen 3.0 patchlevel 4
184 ==================================
187 allows to rebind the keys used in copy/history mode.
188 string is made up of pairs "<oldchar>=<newchar>" which are separated
189 by a colon. Oldchar and newchar are either single ascii characters,
190 or the two character sequence ^x, where x is an ascii character, or
191 a 3 digit octal value prepended with '\'. the string "\040=.:^M=q"
192 rebinds '.' to set marks, and the return rey will abort copy mode.
195 resizes the scrollback history buffer to 100 lines. a default of 50
198 A Howard Chu like scrollback history is installed. Many vi-like keys
199 are added to the copy mode. The '?' key reports on cursor position.
201 screen 3.0 Patchlevel 3
202 =======================
204 WriteString fixed, it did kill the display variable.
206 Yet another LP bugfix.
208 non vt100 semi-graphics character support.
212 screen 3.0 Patchlevel 2
213 =======================
215 wayne patches cursor motion outside scrollregions.
220 changes in Screen 3.0 Patchlevel 1
221 ==================================
225 ^A : set vbell_msg "Wuff Wuff"
227 Thousand enhancements: help resizible, copy'n'paste in main
228 socket loop, and no more '\0' hackin'. :WS=\E8;%d;%dt:
230 screen can now resize windows under sunview.
233 effects markroutine join.
235 screen learned about sized windows under X
238 quiet option. We count the number of detached (attached) sessions and set
239 a return value of 10+n. The -q option inhibits all startup
240 warnings/messages. i.e. screen -R -q may return with code 12 or higher
241 or start a new/old session.
243 pow_detach_msg "text string"
244 new command, allows messages, terminal reset, etc. on logout caused
247 ^A : learned a new keyword "set":
248 commands like "login on" , "vbell off", ... affect the default for
249 windows to be created. But commands like "set login off" affect
250 the actual setting of this window. and not the default.
251 such commands may be bound to keys. example:
252 bind 'O' set login off
253 is valid in your .screenrc as well as typed at the ':' prompt.
254 a bonus is ":set all" which is synonym to ":help".
255 At the Colon prompt also KeyNames can be entered, alothough that makes
258 ^A x uses a builtin lockprg, if
259 a) we don't find our lockprg, or
260 b) user supplies us with the environmet variable LOCKPRG set to "builtin"
261 the builtin locks until your login password is typed. on systems using
262 "shadow password files" you are prompted for a password.
264 markroutine can append joined.
266 screen removes the "controlling tty" from utmp while ptys are attached.
268 markroutine performs CR+NL when '\n' is pressed
270 screen may die quietly, when no TERMCAP entry for "screen" is
271 found, and screen is run under X-windows
273 _SEQUENT_ marks sequent386_ptx
275 screen runs now under SunOS4.1.1 (we need setsid()!).
277 bug in SetForeWindow fixed.
279 rare markroutine bug fixed.
281 we dont open every file the attacher tells us.
283 we have now our wonderful "Wuff, Wuff" visual_bell
285 we have now the interprocess-communication-buffer. secure version.
287 '^A =' removes the interprocess-communication-buffer.
289 markroutine as in 2.1
291 markroutine: 'a' toggles append mode,
292 '>' like ' ', but immediately WriteFile(DUMP_EXCHANGE) then.
293 'A' like ' ', but first switch to append mode.
295 .screenrc understands "screen 2:faui09 rlogin faui09 -l jnweiger"
299 '^A :' allows .screenrc commands "online".
301 screen now receives new $TERM from attacher, when it is reattached
303 MakeClientSocket() fifo version does now test for access.
305 .screenrc learns "hardstatus {on|off}"
307 termcap's VB is used for vbell if available.
309 Attach() code rewritten:
310 screen now lists socket directory, if it does not find a suitable socket
311 screen -d [host.tty] detaches a running screen.
314 list all sockets that we find in our sockdir
316 when the socket has been removed, send a SIGCHLD to the poor SCREEN
317 process and it will try to recover. then try a 'screen -r' again.
318 all the socket stuff lives now in an extra file.
320 Major changes in version 2.4:
321 =============================
323 * Test version that presents the erlangen extensions from 2.0 in a 2.3
326 * window resize support
328 * screen locking C-a x
332 * password protection
334 * copy & paste across screens
336 * remote detach and power detach
338 Major changes in version 2.3:
340 * Terminal emulation has been significantly enhanced and bugfixed.
342 * We now fully update the last character on the screen for true auto-
343 margin terminals, though there may be some delay before the character
344 can be safely added to the screen. If your terminal has character
345 insert it will be used to shorten the delay.
347 * Added the "termcap" .screenrc command to tweak your terminal's termcap
348 entry AND to customize the termcap generated for the virtual terminals.
349 See also the -L and -O command-line options, and the SCREENCAP environ-
352 * Fixed screen's character handling when detached or suspended to NOT block
353 the child processes in their windows -- output continues to be processed
356 * Added a.k.a.s (window-name aliases) that allow you to customize the
357 window-information line, including being able to change the name on-
358 the-fly to reflect what's currently running in the window (see the
359 -k option, shellaka command, and ALSO KNOWN AS discussion in the doc).
361 * Added the ability to log the output of a window to a file (see the
362 "C-a H" (log) command).
364 * Flow-control can now be set for each window and switched interactively
365 (see the "flow" command, -f option, and FLOW CONTROL discussion).
367 * Individual windows can be included or excluded from mention in the
368 /etc/utmp file (see the "login" command and -l option).
370 * Added an activity monitor, which allows you to have a window watched for
371 the start of any output and alert you when it occurs (see the "C-a M"
374 * Enhanced the information in the window-information line to keep track of
375 windows that have: logging turned on '(L)'; beeped in the background '!';
376 became active while being monitored '@' (see the "C-a w" (windows) command).
378 * Added an on-line help display that lists all the commands and their
379 key bindings (see the "C-a ?" (help) command).
381 * Extended handling of the beep message (and also the new activity message)
382 to allow '~' to specify a literal beep (see the "beep" and "activity"
385 * You can now set the default action on receipt of a hangup signal: detach
386 or terminate (see the "autodetach" .screenrc command).
388 * Routing of characters to their virtual terminals has been enhanced to
389 not drop characters nor (in rare circumstances) hang up screen.
391 * The NFS compatibility has been enhanced.
393 Major changes in version 2.0a:
395 * Screen allows you to `detach' the "screen" session from the physical
396 terminal and resume it at a later point in time (possibly on a
397 different terminal or in a different login session).
399 To get an impression of this functionality do the following:
401 - call "screen" and create a couple of windows
402 - type Control-A Control-D (screen terminates; you are back
404 - call "screen -r" to resume the detached screen
406 * Screen supports multiple character sets and the ISO 2022 control
407 functions to designate and switch between character sets.
408 This allows you, for instance, to make use of the VT100 graphics
409 character set or national character sets.