Until now, the cursor was moved from last column to the next column
outside the screen. Since screen array is linear, it partially worked
like it was on the beginning of a next line (as long as it was not the
last line).
Details
- Reviewers
hindenburg - Group Reviewers
Konsole - Commits
- R319:f65e5a5797bb: Fix cursor advancement in last column
- Run cat > /dev/null (shells do their own line wrapping, so will not work)
- Move cursor to terminal's last visible line using enter
- Move cursor to terminal's last visible column by typing something
- Type one more character
Expected result: new line should appear with the cursor on the beginning
Actual result: cursor disappears, no new line
- Turn on blinking cursor
- Run cat > /dev/null
- Move cursor to terminal's last visible column by typing something
- Type one more character
Expected result: the cursor should move to new line's first column
and blink
Actual result: the cursor "moves" but does not blink
Diff Detail
- Repository
- R319 Konsole
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
confirmed the issue and this fix it; however now I get an extra %<return> above my command line prompt now. It appears only to happen w/ zsh; with bash it works as expected.
example:
%
prompt here>
Ok, this is a bug in my code.
On xterm, linux (and vt100 apparently) when the cursor is in the last empty column and a character is typed, the character is inserted and the cursor does not move. Typing in next character inserts new line and the character.
After inserting a character into the last column (case when the cursor does not move), the backspace key removes the character in second to last column, leaving the last column without changes. A bit unintuitive behavior, but vt100 did it so we should too. From emulators which handle backspace in more expected way I know at least tmux.
Going to fix it.
- Algorithm change removed - it is actually consistent with xterm and linux console.
- Added cursor X position bounding in Screen external interface - again, to match xterm and linux console.
- Updated description.