-*gui_w32.txt* For Vim version 9.1. Last change: 2025 Sep 29
+*gui_w32.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
set VIM_KEYCODE_TRANS_STRATEGY=experimental
gvim.exe
<
-
-Title Bar's Behaviour *gui-w32-title-bar-behaviour*
-
-The color of the gVim title bar (sometimes also called the caption bar) is
-treated as part of the application's background. Starting with Windows 11,
-it follows the background color defined by |hl-Normal|, so it matches the
-background of the current colorscheme.
-
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
gui-w32-dialogs gui_w32.txt /*gui-w32-dialogs*
gui-w32-printing gui_w32.txt /*gui-w32-printing*
gui-w32-start gui_w32.txt /*gui-w32-start*
-gui-w32-title-bar-behaviour gui_w32.txt /*gui-w32-title-bar-behaviour*
gui-w32-various gui_w32.txt /*gui-w32-various*
gui-w32-windowid gui_w32.txt /*gui-w32-windowid*
gui-w32s os_win32.txt /*gui-w32s*
Platform specific ~
- MS-Winodws: Paths like "\Windows" and "/Windows" are now considered to be
absolute paths (to the current drive) and no longer relative.
-- MS-Windows: The title bar background follows the |hl-Normal| highlighting
- group background color.
- macOS: increase default scheduler priority to TASK_DEFAULT_APPLICATION.
Others: ~
# define SPI_SETWHEELSCROLLCHARS 0x006D
#endif
-#ifndef DWMWA_CAPTION_COLOR
-# define DWMWA_CAPTION_COLOR 35
-#endif
-
-#ifndef DWMWA_TEXT_COLOR
-# define DWMWA_TEXT_COLOR 36
-#endif
-
#ifdef PROTO
/*
* Define a few things for generating prototypes. This is just to avoid
static DPI_AWARENESS_CONTEXT (WINAPI *pSetThreadDpiAwarenessContext)(DPI_AWARENESS_CONTEXT dpiContext) = NULL;
static DPI_AWARENESS (WINAPI *pGetAwarenessFromDpiAwarenessContext)(DPI_AWARENESS_CONTEXT) = NULL;
-// Sets the value of Desktop Window Manager (DWM) non-client rendering attributes for a window.
-static HRESULT (WINAPI *pDwmSetWindowAttribute)(HWND, DWORD, LPCVOID, DWORD) = NULL;
-
static int WINAPI
stubGetSystemMetricsForDpi(int nIndex, UINT dpi UNUSED)
{
}
}
- static void
-load_dwm_func(void)
-{
- static HMODULE hLibDwm = NULL;
- hLibDwm = vimLoadLib("dwmapi.dll");
- if (hLibDwm == NULL)
- return;
-
- pDwmSetWindowAttribute = (HRESULT (WINAPI *)(HWND, DWORD, LPCVOID, DWORD))
- GetProcAddress(hLibDwm, "DwmSetWindowAttribute");
-}
-
-extern BOOL win11_or_later; // this is in os_win32.c
-
/*
* Called when the foreground or background color has been changed.
*/
s_hwnd, GCLP_HBRBACKGROUND, (LONG_PTR)s_brush);
InvalidateRect(s_hwnd, NULL, TRUE);
DeleteObject(prevBrush);
-
- // Set The Caption Bar
-
- if (pDwmSetWindowAttribute == NULL)
- return;
-
- if (win11_or_later)
- {
- const COLORREF captionColor = gui.back_pixel;
- pDwmSetWindowAttribute(s_hwnd, DWMWA_CAPTION_COLOR,
- &captionColor, sizeof(captionColor));
- const COLORREF textColor = gui.norm_pixel;
- pDwmSetWindowAttribute(s_hwnd, DWMWA_TEXT_COLOR,
- &textColor, sizeof(textColor));
- }
}
/*
load_dpi_func();
- load_dwm_func();
-
s_dpi = pGetDpiForSystem();
update_scrollbar_size();
static WCHAR *exe_pathw = NULL;
-BOOL win8_or_later = FALSE;
-BOOL win10_22H2_or_later = FALSE;
-BOOL win11_or_later = FALSE;
-
+static BOOL win8_or_later = FALSE;
+static BOOL win10_22H2_or_later = FALSE;
#if !defined(FEAT_GUI_MSWIN) || defined(VIMDLL)
static BOOL use_alternate_screen_buffer = FALSE;
#endif
|| ovi.dwMajorVersion > 10)
win10_22H2_or_later = TRUE;
- if ((ovi.dwMajorVersion == 10 && ovi.dwBuildNumber >= 22000)
- || ovi.dwMajorVersion > 10)
- win11_or_later = TRUE;
-
#ifdef HAVE_ACL
// Enable privilege for getting or setting SACLs.
if (!win32_enable_privilege(SE_SECURITY_NAME))
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1830,
/**/
1829,
/**/