patch 9.1.1834: MS-Windows: not possible to highlight the title bar

Problem:  MS-Windows: not possible to highlight the title bar
Solution: Make the title/caption bar configurable by introducing the
          'go-C' option value which allows to highlight it using the
          TitleBar and TitleBarNC highlighting groups (Mao-Yining).

Introduce titlebar color customization for Windows 11 GUI through
highlight groups and new 'guioptions' flag:

- Add 'C' flag to enable titlebar color customization (opt-in)
- New highlight groups: TitleBar (active) and TitleBarNC (inactive)
- Uses DWMWA_CAPTION_COLOR and DWMWA_TEXT_COLOR DWM attributes
- Dynamically loads dwmapi.dll for Windows 11 compatibility
- Defaults to system colors when set to NONE or feature disabled

closes: #18449

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Mao-Yining
2025-10-07 19:31:22 +00:00
committed by Christian Brabandt
parent f8b9251d8f
commit 2c09368273
16 changed files with 255 additions and 15 deletions

View File

@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 9.1. Last change: 2025 Aug 06
*gui_w32.txt* For Vim version 9.1. Last change: 2025 Oct 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -488,4 +488,20 @@ VIM_KEYCODE_TRANS_STRATEGY can be set to the desired value ("experimental" or
set VIM_KEYCODE_TRANS_STRATEGY=experimental
gvim.exe
<
Title Bar *gui-w32-title-bar*
Starting with Windows 11, you can customize the gVim title bar (also known as
the caption bar) by enabling the |'go-C'| option.
Once enabled, the appearance is controlled by two highlighting groups:
1. |hl-TitleBar| -- Sets the color of the title bar for the active window.
2. |hl-TitleBarNC| -- Sets the color of the title bar for inactive windows.
To use the system's default title bar colors, set highlighting groups to
`NONE`: >
hi TitleBar guibg=NONE guifg=NONE
hi TitleBarNC guibg=NONE guifg=NONE
vim:tw=78:sw=4:ts=8:noet:ft=help:norl: