toprow
= 1 leftcolumn
= 1 bottomrow
= see description rightcolumn
= see description destinationtoprow
= 1 destinationleftcolumn
= 1 Copy a rectangular area to another position in the terminal.
If cursor origin mode is set the rectangle is interpreted relative to the top left of the current scroll region. Otherwise it's relative to the top left of the terminal.
bottomrow
and rightcolumn
default to their bottom-most/right-most valid values.
If cursor origin mode is set and the rectangle exceeds the current scroll region it's clipped to the current scroll region. Otherwise the rectangle is clipped to the full terminal.
ignored
is ignored.
If toprow
> bottomrow
or leftcolumn
> rightcolumn
this sequence does nothing.
If cursor origin mode is set destinationtoprow
and destinationleftcolumn
are interpreted relative to the top left of the current scroll region. Otherwise it's relative to the top left of the terminal.
If dummy
is not specified destinationleftcolumn
is forced to it's default. If destinationleftcolumn
is not specified, destinationtoprow
is forced to it's default.
The terminal copies the contents (characters and attributes) of all the cells in the rectangle from toprow
, leftcolumn
to bottomrow
, rightcolumn
(both inclusive) to a rectangle of the same size at the location destinationtoprow
and destinationleftcolumn
. Overlapping rectangles for source and destination are supported.
All multi column cells that intersect the destination rectangle will be cleared without changing their background color. If the source rectangle has multi column cells that are only partially inside the source rectangle the copy will have cleared cells with the same background color in their place.
When only some of the lines have set set double width line, the region this sequence acts upon might not look rectangular in to the user on display.
🛆 xterm as of 346 has glitches with multi column cells.