Hi Bram,
2017/10/15 Sun 6:24:51 UTC+9 Bram Moolenaar wrote:
> Patch 8.0.1194
> Problem: Actual fg and bg colors of terminal are unknown.
> Solution: Add t_RF. Store response to t_RB and t_RF, use for terminal.
> Files: src/term.c, src/term.h, src/proto/term.pro, src/terminal.c,
> src/vim.h, src/eval.c, runtime/doc/eval.txt
Win32 buills fail with this.
Please check the attached patch.
Regards,
Ken Takata
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
# HG changeset patch
# Parent 98154edd14719e8674ef72a11c11700e21a9c326
diff --git a/src/term.c b/src/term.c
--- a/src/term.c
+++ b/src/term.c
@@ -125,7 +125,7 @@ static int crv_status = STATUS_GET;
/* Request Cursor position report: */
static int u7_status = STATUS_GET;
-#ifdef FEAT_TERMINAL
+# ifdef FEAT_TERMINAL
/* Request foreground color report: */
static int rfg_status = STATUS_GET;
static int fg_r = 0;
@@ -134,7 +134,7 @@ static int fg_b = 0;
static int bg_r = 255;
static int bg_g = 255;
static int bg_b = 255;
-#endif
+# endif
/* Request background color report: */
static int rbg_status = STATUS_GET;
@@ -5828,7 +5828,7 @@ check_termcode(
return 0; /* no match found */
}
-#if defined(FEAT_TERMINAL) || defined(PROTO)
+#if (defined(FEAT_TERMINAL) && defined(FEAT_TERMRESPONSE)) || defined(PROTO)
/*
* Get the text foreground color, if known.
*/
diff --git a/src/terminal.c b/src/terminal.c
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -2627,26 +2627,30 @@ create_vterm(term_T *term, int rows, int
if (cterm_normal_fg_color > 0)
{
cterm_color2rgb(cterm_normal_fg_color - 1, fg);
-# if defined(WIN3264) && !defined(FEAT_GUI_W32)
+#if defined(WIN3264) && !defined(FEAT_GUI_W32)
tmp = fg->red;
fg->red = fg->blue;
fg->blue = tmp;
-# endif
+#endif
}
+#ifdef FEAT_TERMRESPONSE
else
term_get_fg_color(&fg->red, &fg->green, &fg->blue);
+#endif
if (cterm_normal_bg_color > 0)
{
cterm_color2rgb(cterm_normal_bg_color - 1, bg);
-# if defined(WIN3264) && !defined(FEAT_GUI_W32)
+#if defined(WIN3264) && !defined(FEAT_GUI_W32)
tmp = bg->red;
bg->red = bg->blue;
bg->blue = tmp;
-# endif
+#endif
}
+#ifdef FEAT_TERMRESPONSE
else
term_get_bg_color(&bg->red, &bg->green, &bg->blue);
+#endif
}
vterm_state_set_default_colors(vterm_obtain_state(vterm), fg, bg);