Skip to content

Commit

Permalink
Clear Status: use clr_eol if terminal does not support clr_eos, fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
mattirn committed Dec 5, 2019
1 parent d949fb2 commit abb6bb8
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
8 changes: 8 additions & 0 deletions terminal/src/main/java/org/jline/utils/InfoCmp.java
Expand Up @@ -624,4 +624,12 @@ static String loadDefaultInfoCmp(String name) {
}
}

static boolean support(String terminal, Capability capability) {
if ((terminal.equals("windows") || terminal.equals("windows-256color"))
&& (capability == Capability.clr_eos)) {
return false;
}
return true;
}

}
11 changes: 9 additions & 2 deletions terminal/src/main/java/org/jline/utils/Status.java
Expand Up @@ -139,8 +139,15 @@ public void update(List<AttributedString> lines) {
}
}
terminal.puts(Capability.save_cursor);
terminal.puts(Capability.cursor_address, rows - statusSize, 0);
terminal.puts(Capability.clr_eos);
if (InfoCmp.support(terminal.getType(), Capability.clr_eos)) {
terminal.puts(Capability.cursor_address, rows - statusSize, 0);
terminal.puts(Capability.clr_eos);
} else {
for (int i = rows - statusSize; i < rows; i++) {
terminal.puts(Capability.cursor_address, i, 0);
terminal.puts(Capability.clr_eol);
}
}
if (border == 1 && lines.size() > 0) {
terminal.puts(Capability.cursor_address, rows - statusSize, 0);
borderString.columnSubSequence(0, columns).print(terminal);
Expand Down

0 comments on commit abb6bb8

Please sign in to comment.