Ideally, splits and layouts should be allowed when there's no display. At this
moment, you can just create a few layouts and name them when detached.
BUG=28386
Layouts were being stored in a reversed list. This makes it
confusing for both users and developers with regards to what the
next layout is ('next', lay_next). So store the layouts in a
properly ordered list in order to avoid the confusion.
This closes savannah #29800.
With bce on, in some terminals, copying when applications use a
theme with a custom background color other than the default ends up
copying blank-spaces at the end of the lines as white-spces. This
fixes that.
When going to alternate screen buffer on smcup, the terminal is
supposed to store the cursor position, rendition etc. Screen used to
store only the position (and that was just a little buggy anyway).
So change this behaviour to store all information about the cursor,
and restore everything on rmcup.
Apparently, the terminal is supposed to store the cursor for smcup
(CSI ? 1049 h) and DECSC (ESC 7, CSI s, CSI ? 1048 h) separately. So
be it.
Screen wouldn't do anything with 'hardcopy' if there was no
foreground window, except overwriting the specified file (when
hardcopy_append is off, of course). But the NEED_FORE flag wasn't
set. I am not sure why this was the case. So I have added the
NEED_FORE flag so that 'hardcopy' command fails if there is no
foreground window.
Make -h save scrollback with or without a file name given. Also,
preserve the unlikely case in which someone actually does want to
save display to '-h'; with
:hardcopy -- -h
or, to save both history and display to '-h'
:hardcopy -h -h
Also,
:hardcopy --
:hardcopy -h --
will, as they always have, save display or history and display to
'--'.
Currently, '@' or'-' prefixed commands suppress both error messages
and normal messages. It will be possible to differentiate between
the two, though, if there was need for it. These flags can be useful
for, for example, remote commands to not interrupt displays etc.
Expanding $PWD to expand to the correct current working directory
can be useful to figure out, for example, where log files are
created, and other purposes.
Showing the capabilities somewhere is useful for users, especially
when diagnosing a bug. The 'license' page seems as good a place as
any to stuff this info in.
When a layer displayed within a canvas is smaller than the available
area, we show '-' at the bottom, and now '|' on the right to mark
the actual size of the layer in the canvas.
Instead of killing all overlays when resizing, just kill the ones
that cannot be resized, and the resized the rest. This fixes a bug
where the window-list (or a group-window) is aborted when
layer-size changes (because window-size changed, or
caption/hardstatus etc. was toggled). This also makes the code
robust. So if you are looking at a window/display list, and the
window-size is changed, the list won't go away.
Double cell characters that end a line are not properly displayed
when there are split regions. Takeshi Banse detected the problem and
a fix for it in Savannag bug #29106. A better fix for this was
applied in the unicode++ branch, but that won't work in 'master'.
This is approximately the same fix, in a slightly different way.