Terminal: handle cursor-color

Change-Id: I73071880c84c713ee3efec40f6ac824364157b83
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4685
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
This commit is contained in:
Jérôme Duval 2021-11-03 21:04:57 +01:00
parent 38eb9fb0eb
commit 91e93cb7c4
2 changed files with 9 additions and 0 deletions

View File

@ -1567,6 +1567,7 @@ TermParse::_ProcessOperatingSystemControls(uchar* params)
// set dynamic colors (10 - 19)
case 10: // text foreground
case 11: // text background
case 12: // cursor back
{
int32 offset = mode - 10;
int32 count = 0;
@ -1591,6 +1592,7 @@ TermParse::_ProcessOperatingSystemControls(uchar* params)
// reset dynamic colors (10 - 19)
case 110: // text foreground
case 111: // text background
case 112: // cursor back
{
indexes[0] = mode;
fBuffer->ResetColors(indexes, 1, true);

View File

@ -698,6 +698,9 @@ TermView::SetTermColor(uint index, rgb_color color, bool dynamic)
fTextBackColor = color;
SetLowColor(fTextBackColor);
break;
case 12:
fCursorBackColor = color;
break;
case 110:
fTextForeColor = PrefHandler::Default()->getRGB(
PREF_TEXT_FORE_COLOR);
@ -707,6 +710,10 @@ TermView::SetTermColor(uint index, rgb_color color, bool dynamic)
PREF_TEXT_BACK_COLOR);
SetLowColor(fTextBackColor);
break;
case 112:
fCursorBackColor = PrefHandler::Default()->getRGB(
PREF_CURSOR_BACK_COLOR);
break;
default:
break;
}