summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2022-09-01 11:31:45 +0100
committerBram Moolenaar <Bram@vim.org>2022-09-01 11:31:45 +0100
commite42c8dae32f3575557b83a371c4be66c09afbf7f (patch)
treeb11d487903d858d22baccbddab10a8c4c32be034
parent5d09a401ec393dc930e1104ceb38eab34681de64 (diff)
downloadvim-git-9.0.0344.tar.gz
patch 9.0.0344: MS-Windows: background color wrong in Consolev9.0.0344
Problem: MS-Windows: background color wrong in Console. Solution: Figure out the default console background color. (Yasuhiro Matsumoto, issue #10310)
-rw-r--r--src/os_win32.c25
-rw-r--r--src/version.c2
2 files changed, 23 insertions, 4 deletions
diff --git a/src/os_win32.c b/src/os_win32.c
index f06227f10..e6ffcbac9 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -213,6 +213,7 @@ static int g_color_index_bg = 0;
static int g_color_index_fg = 7;
# ifdef FEAT_TERMGUICOLORS
+static int default_console_color_bg = 0x000000; // black
static int default_console_color_fg = 0xc0c0c0; // white
# endif
@@ -7878,6 +7879,13 @@ vtp_init(void)
store_console_fg_rgb = save_console_fg_rgb;
# ifdef FEAT_TERMGUICOLORS
+ if (!USE_WT)
+ {
+ COLORREF bg;
+ bg = (COLORREF)csbi.ColorTable[g_color_index_bg];
+ bg = (GetRValue(bg) << 16) | (GetGValue(bg) << 8) | GetBValue(bg);
+ default_console_color_bg = bg;
+ }
fg = (COLORREF)csbi.ColorTable[g_color_index_fg];
fg = (GetRValue(fg) << 16) | (GetGValue(fg) << 8) | GetBValue(fg);
default_console_color_fg = fg;
@@ -8160,11 +8168,20 @@ get_default_console_color(
ctermbg = -1;
if (id > 0)
syn_id2cterm_bg(id, &ctermfg, &ctermbg);
- cterm_normal_bg_gui_color = guibg =
+ if (!USE_WT)
+ {
+ guibg = ctermbg != -1 ? ctermtoxterm(ctermbg)
+ : default_console_color_bg;
+ cterm_normal_bg_gui_color = guibg;
+ ctermbg = ctermbg < 0 ? 0 : ctermbg;
+ }
+ else
+ {
+ cterm_normal_bg_gui_color = guibg =
ctermbg != -1 ? ctermtoxterm(ctermbg) : INVALCOLOR;
-
- if (ctermbg < 0)
- ctermbg = 0;
+ if (ctermbg < 0)
+ ctermbg = 0;
+ }
}
*cterm_fg = ctermfg;
diff --git a/src/version.c b/src/version.c
index f2991b872..dc45669b3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -708,6 +708,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 344,
+/**/
343,
/**/
342,