1 Version 4.1.0 (??/??/20??):
3 * 'unbindall' to unbind all commands
4 * 'up', 'down', 'left', 'right' sub-commands for 'focus'
5 * 'rendition' to specify rendition to use in caption/hardstatus for
6 window-names that have bell/monitor/so turned on.
7 * 'layout', with the following sub-commands
10 - 'autosave' ('autosave on' or 'autosave off')
12 - 'save' ('save <name>')
19 * 'group' for moving window(s) into a group.
20 * 'defmousetrack' and 'mousetrack', to turn on/off mouse-tracking for
21 displays. It's turned off by default. With mouse-tracking turned on, it's
22 possible to switch to a region ('focus') using mouse clicks. Additional
23 features might be to allow clicking on window-titles in the caption to
24 switch to that window.
27 * '-v' parameter to 'split' command for vertical splits.
28 * 'sorendition' deprecated in favour of 'rendition so'.
29 * 'digraph' can take a second parameter to specify custom digraphs. For
31 'digraph >= ≥' or 'digraph >= U+2265'
32 Using '0' as the second parameter will remove the digraph.
33 * 'stuff' will prompt for input if there's nothing to stuff.
34 * The argument to ":number" can be prefixed with '+' or '-' to use it as a
36 * '-g' parameter to 'windowlist' to show nested list of windows.
37 * '//group' parameter to 'screen' to create a grouped window.
40 * $PID expands to the PID of the screen session.
41 * $STY expands to the session name.
42 * Tilde-expansion in pathnames (e.g. for the 'source' command)
43 * C-style escapes can be used (e.g. "\n" to get a newline with 'stuff')
44 * '%p' in caption/hardstatus string expands to the PID of the backend, and
45 '%+p' expands to the PID of the frontend (display).
46 * '%S' in caption/hardstatus string expands to the session name.
49 * Nested views when there are window groups (with 'windowlist -g').
50 * Press 'm' to toggle the most-recent view.
51 * Press 'g' to toggle nestedness.
52 * Press 'a' to view all windows in the list.
55 * Start using 'ChangeLog' for logging changes again.
56 * Terminfo update for 256-color support.
57 * Multiple input history (partially from Romain Francoise).
58 * vi-like fFtT;, searching in copy mode.
59 * In copy mode, search in reverse direction when 'N' is pressed.
60 * Tab-completion for command input.
61 * Some more readline-like bindings in input mode (e.g. ^W, ^D, ^P, ^N etc.)
64 * Scripting support (thanks to Google Summer of Code 2009 project by Rui Guo)
67 * Juergen Weigert <jw@suse.de>
68 * Michael Schroeder <mls@suse.de>
69 * Micah Cowan <micah@cowan.name>
70 * Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
74 * Gabriel <g2p.code@gmail.com>
75 * Benjamin Andresen <bandresen@gmail.com>
76 * Maarten Billemont <lhunath@gmail.com>
77 * Curtis Brown <mrbrown8@juno.com>
78 * Cyril Brulebois <kibi@debian.org>
79 * Trent W Buck <trentbuck@gmail.com>
80 * Stephane Chazelas <stephane_chazelas@yahoo.fr>
81 * Thomas Dickey <tom@invisible-island.net>
82 * Christian Ebert <blacktrash@gmx.net>
83 * Geraint Edwards <gedge-lists-screen@yadn.org>
84 * Romain Francoise <romain@orebokech.com>
85 * Emanuele Giaquinta <e.giaquinta@glauco.it>
86 * Steve Kemp <steve@steve.org.uk>
87 * William Pursell <bill.pursell@gmail.com>
88 * Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
89 * Peter Teichman <peter@teichman.org>
93 This is a quick overview of screen's life story. But it is not up
94 to date. You'll find more details about the revision history in
95 patchlevel.h and newer changes are only documented there.
100 * writelock, number, paste with arg, at, zombie and wall commands added.
102 * Access Control Lists and more multi-user support added.
104 * select and setenv commands enhanced.
106 * socket.c: motorola bugfix.
108 * configure.in: --srcdir support.
110 * configure.in: recognize alpha and SUNOS3 correctly.
112 * doc/screen.texinfo: Documentation by Jason Merrill.
117 * defautonuke, silence commands added.
119 * exec command added.
121 * hardcopydir, logdir commands added.
123 * Made a superb configure script.
125 * BROKEN_PIPE, SOCK_NOT_IN_FS added for braindamaged systems.
127 * multi display, multi user support.
129 * process command. CS, CE switch cursorkeycap in application mode.
131 * lockprg pow_detaches on SIGHUP
133 * ins_reg copy_reg commands.
135 * new screenrc syntax.
137 * split up screen.c and ansi.c
142 * ChangeLog: replaces CHANGES and is in GNUish format.
144 * Makefile (CFLAGS, M_CFLAGS, LIBS, OPTIONS): moved user config here,
145 merged all Makefiles, GNUified
147 * socket.c (FindSocket): ignoring bad files in $SCREENDIR
149 * config/config.linux: ported.
151 * utmp.c, exec.c, loadav.c: split apart from screen.c/fileio.c
156 * ansi.c (WriteString): automatic character set switching for 8bit support
161 * concept changes: Display structure, Multi attacher
168 * screen.c (main): -m option, "_M_ake always new session", ignore $STY
170 * screen.c (main): -Ssessionname
171 * fileio.c (RcLine): ^A:sessionname give your session a nicer name.
173 * screen.c (main): supporting detached startup via screen -d -m -Ssockname
175 * fileio.c (stripdev): moved, could not compile
177 * overlay.h: "stackable overlay concept"
179 * search.c: vi-like / and ? search AND emacs-like ^S and ^R incremental search
182 * mark.c: I meant BSDI not BSD
184 * concept change: struct display and struct newwin introduced.
186 * screen.c (main): -v option prints version.
188 * screen.c (MakeWindow): ^A:screen /dev/ttya opens a character device
189 instead of forking ShellProg with a pty pair.
198 shadow password suite supported
200 data loss on stdin overflow fixed
202 "refresh off" keyword added.
207 Screen is now under the GNU copyleft license. See file COPYING.
209 command line option -A. $LINES, $COLUMNS improved.
211 C-A : vbellwait <sec>
213 XENIX support (Ronald Khoo)
215 SYSV has uname() instead of gethostname().
219 ClearScreen now saves image to scrollback buffer.
225 3.1 finally released version.
226 =============================
228 3.0.99: last minute changes:
229 ----------------------------
231 MIPS support (J{rvinen Markku)
233 SVR4 support (Marc Boucher)
235 secopen() secfopen() calls replace stat/access/open.
239 Changes up to Screen 3.0 Patchlevel 7
240 =====================================
242 Better terminfo support: Screen now checks if a termcap/info
243 entry which the name "screen.$TERM" does exist. Look in the
244 "VIRTUAL TERMINAL" section of the manual for more details.
246 Many security improvements.
248 ScrollRegion() bug fixed which caused slow scrolling if AL
251 Pyramid and Ultrix support added. (Tim and Larry)
254 /local/etc/screenrc checks for $SYSSCREENRC
255 $HOME/.screenrc checks for $ISCREENRC and $SCREENRC
256 /local/screens checks for $ISCREENDIR and $SCREENDIR
257 .screenrc understands ${VAR} and $VAR .
259 screen 3.0 Patchlevel 6
260 =======================
263 screen now only opens the windows you explicitly ask for. if you
264 specify none, you still get one window, of course.
266 screen 3.0. Patchlevel 5
267 ========================
269 Ansi prototyping by Christos.
271 copy mode: CTRL-U / CTRL-D exchanged. code cleanup.
273 changes to screen 3.0 patchlevel 4
274 ==================================
277 allows to rebind the keys used in copy/history mode.
278 string is made up of pairs "<oldchar>=<newchar>" which are separated
279 by a colon. Oldchar and newchar are either single ascii characters,
280 or the two character sequence ^x, where x is an ascii character, or
281 a 3 digit octal value prepended with '\'. the string "\040=.:^M=q"
282 rebinds '.' to set marks, and the return rey will abort copy mode.
285 resizes the scrollback history buffer to 100 lines. a default of 50
288 A Howard Chu like scrollback history is installed. Many vi-like keys
289 are added to the copy mode. The '?' key reports on cursor position.
291 screen 3.0 Patchlevel 3
292 =======================
294 WriteString fixed, it did kill the display variable.
296 Yet another LP bugfix.
298 non vt100 semi-graphics character support.
302 screen 3.0 Patchlevel 2
303 =======================
305 wayne patches cursor motion outside scrollregions.
310 changes in Screen 3.0 Patchlevel 1
311 ==================================
315 ^A : set vbell_msg "Wuff Wuff"
317 Thousand enhancements: help resizible, copy'n'paste in main
318 socket loop, and no more '\0' hackin'. :WS=\E8;%d;%dt:
320 screen can now resize windows under sunview.
323 effects markroutine join.
325 screen learned about sized windows under X
328 quiet option. We count the number of detached (attached) sessions and set
329 a return value of 10+n. The -q option inhibits all startup
330 warnings/messages. i.e. screen -R -q may return with code 12 or higher
331 or start a new/old session.
333 pow_detach_msg "text string"
334 new command, allows messages, terminal reset, etc. on logout caused
337 ^A : learned a new keyword "set":
338 commands like "login on" , "vbell off", ... affect the default for
339 windows to be created. But commands like "set login off" affect
340 the actual setting of this window. and not the default.
341 such commands may be bound to keys. example:
342 bind 'O' set login off
343 is valid in your .screenrc as well as typed at the ':' prompt.
344 a bonus is ":set all" which is synonym to ":help".
345 At the Colon prompt also KeyNames can be entered, alothough that makes
348 ^A x uses a builtin lockprg, if
349 a) we don't find our lockprg, or
350 b) user supplies us with the environmet variable LOCKPRG set to "builtin"
351 the builtin locks until your login password is typed. on systems using
352 "shadow password files" you are prompted for a password.
354 markroutine can append joined.
356 screen removes the "controlling tty" from utmp while ptys are attached.
358 markroutine performs CR+NL when '\n' is pressed
360 screen may die quietly, when no TERMCAP entry for "screen" is
361 found, and screen is run under X-windows
363 _SEQUENT_ marks sequent386_ptx
365 screen runs now under SunOS4.1.1 (we need setsid()!).
367 bug in SetForeWindow fixed.
369 rare markroutine bug fixed.
371 we dont open every file the attacher tells us.
373 we have now our wonderful "Wuff, Wuff" visual_bell
375 we have now the interprocess-communication-buffer. secure version.
377 '^A =' removes the interprocess-communication-buffer.
379 markroutine as in 2.1
381 markroutine: 'a' toggles append mode,
382 '>' like ' ', but immediately WriteFile(DUMP_EXCHANGE) then.
383 'A' like ' ', but first switch to append mode.
385 .screenrc understands "screen 2:faui09 rlogin faui09 -l jnweiger"
389 '^A :' allows .screenrc commands "online".
391 screen now receives new $TERM from attacher, when it is reattached
393 MakeClientSocket() fifo version does now test for access.
395 .screenrc learns "hardstatus {on|off}"
397 termcap's VB is used for vbell if available.
399 Attach() code rewritten:
400 screen now lists socket directory, if it does not find a suitable socket
401 screen -d [host.tty] detaches a running screen.
404 list all sockets that we find in our sockdir
406 when the socket has been removed, send a SIGCHLD to the poor SCREEN
407 process and it will try to recover. then try a 'screen -r' again.
408 all the socket stuff lives now in an extra file.
410 Major changes in version 2.4:
411 =============================
413 * Test version that presents the erlangen extensions from 2.0 in a 2.3
416 * window resize support
418 * screen locking C-a x
422 * password protection
424 * copy & paste across screens
426 * remote detach and power detach
428 Major changes in version 2.3:
430 * Terminal emulation has been significantly enhanced and bugfixed.
432 * We now fully update the last character on the screen for true auto-
433 margin terminals, though there may be some delay before the character
434 can be safely added to the screen. If your terminal has character
435 insert it will be used to shorten the delay.
437 * Added the "termcap" .screenrc command to tweak your terminal's termcap
438 entry AND to customize the termcap generated for the virtual terminals.
439 See also the -L and -O command-line options, and the SCREENCAP environ-
442 * Fixed screen's character handling when detached or suspended to NOT block
443 the child processes in their windows -- output continues to be processed
446 * Added a.k.a.s (window-name aliases) that allow you to customize the
447 window-information line, including being able to change the name on-
448 the-fly to reflect what's currently running in the window (see the
449 -k option, shellaka command, and ALSO KNOWN AS discussion in the doc).
451 * Added the ability to log the output of a window to a file (see the
452 "C-a H" (log) command).
454 * Flow-control can now be set for each window and switched interactively
455 (see the "flow" command, -f option, and FLOW CONTROL discussion).
457 * Individual windows can be included or excluded from mention in the
458 /etc/utmp file (see the "login" command and -l option).
460 * Added an activity monitor, which allows you to have a window watched for
461 the start of any output and alert you when it occurs (see the "C-a M"
464 * Enhanced the information in the window-information line to keep track of
465 windows that have: logging turned on '(L)'; beeped in the background '!';
466 became active while being monitored '@' (see the "C-a w" (windows) command).
468 * Added an on-line help display that lists all the commands and their
469 key bindings (see the "C-a ?" (help) command).
471 * Extended handling of the beep message (and also the new activity message)
472 to allow '~' to specify a literal beep (see the "beep" and "activity"
475 * You can now set the default action on receipt of a hangup signal: detach
476 or terminate (see the "autodetach" .screenrc command).
478 * Routing of characters to their virtual terminals has been enhanced to
479 not drop characters nor (in rare circumstances) hang up screen.
481 * The NFS compatibility has been enhanced.
483 Major changes in version 2.0a:
485 * Screen allows you to `detach' the "screen" session from the physical
486 terminal and resume it at a later point in time (possibly on a
487 different terminal or in a different login session).
489 To get an impression of this functionality do the following:
491 - call "screen" and create a couple of windows
492 - type Control-A Control-D (screen terminates; you are back
494 - call "screen -r" to resume the detached screen
496 * Screen supports multiple character sets and the ISO 2022 control
497 functions to designate and switch between character sets.
498 This allows you, for instance, to make use of the VT100 graphics
499 character set or national character sets.