Excluding the PID from the expansion of $STY makes it possible to
do, e.g. 'source screenrc-$STY' to load session-specific commands.
If the PID is desired, for some reason, then '$PID.$STY' should be
used instead.
This is another bug introduced when the max number of windows was
made configurable. Bug reported by Christian Ebert in
<20100218160955.GC21624@krille.blacktrash.org>.
And fix a typo.
The man-page is updated to show that if the window selected using
'-p' cannot be determined with -X or -Q flags, then the command
specified will not be executed.
Fixes#28783 in savannah.
Some commands now can be queried from a remote session using the
'-Q' flag, e.g. 'screen -Q windows'. The commands will send the
response to the stdout of the querying process. If there was an
error in the command, then the querying process will exit with
a non-zero status.
The commands that can be queried now are:
echo
info
lastmsg
time
title
windows
A command name can be prefixed by '@' to suppress the error
messages, and by '-' to suppress the normal messages. The flags are
currently parsed, but not acted upon.
In only the top line and the bottom line had to be updated, we were
updating the entire region in between as well! This clearly is bad.
So instead of doing that, just update the lines that need changing.
Thanks to Chris Jones for reporting the bug.
Included here are three changes, two of which I wish I had when I was
beginning to learn screen. The third is that it just seemed like to me
the TOC belongs at the /beginning/ of the manual.
Also, a typo from a previous change.
For window-context, 'at' commands can work without any existing
display. So allow for that. If the command specified for 'at'
requires a display, then that will still fail, as it should. But for
some commands, just an existing window is enough. Fixes savannah
bug #26996.
I don't know why screen should not allow a symlinked SockDir;
so now it does. (Note: this is one of TWO calls to lstat()
the whole program has - and this one isn't even wrapped
in #ifdef HAVE_LSTAT as it should.)
The builtin 'screen' command can directly reference window IDs
up to MAXWIN, not only {0-9}. Additionally mention Debian's
MAXWIN default in the man and info pages.
This will make it easier to determine which row is selected in case
the rendition for standout mode is the same as the normal mode (i.e.
'= dd'). Fixes debian bug #446082.
Wait a few seconds (10) before killing a window when wait() returns
the pid for the child process in the window. This is so the output
of the window doesn't get truncated in zombie mode. Micah pointed
out the bug and Juergen pointed out the fix at #27061.
The problem would show up with splits (both vertical and
horizontal), because the layer wouldn't remember the position the
cursor was moved to, and when screen refreshes the regions (if
there's more than one), it takes the cursor to the old position. The
fix is to simply remember the cursor position in the layer.
'%P' in caption string will set '%?' to true if the current region is
in copy/paste mode. So, if you want to simply change the color etc. of
your caption, prepend '%?%P%{XXX}%?' to your caption and you're set ('XXX'
stands for the usual attribute/color modifier). If, on the other hand,
you want to change the caption string in copy mode, change your caption
string to '%?%PCaption for copy mode%:Your usual caption%?'.
This command will write a series of screen commands that can later be used to
recreate the current layout. I think this will be pretty useful. Users like to
create a layout interactively, and use it again for the next session etc.