fix: accentColor set distinguishes the frame (#48449)

* fix: accentColor set distinguishes the frame

Co-authored-by: zoy <zoy-l@outlook.com>

* chore: invalid change

Co-authored-by: zoy <zoy-l@outlook.com>

* fix: lint

Co-authored-by: zoy <zoy-l@outlook.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: zoy <zoy-l@outlook.com>
This commit is contained in:
trop[bot]
2025-10-04 04:12:01 +02:00
committed by GitHub
parent 7059e38293
commit d3d2877b65

View File

@@ -31,15 +31,15 @@ namespace electron {
namespace {
void SetWindowBorderAndCaptionColor(HWND hwnd, COLORREF color) {
if (base::win::GetVersion() < base::win::Version::WIN11)
return;
void SetWindowBorderAndCaptionColor(HWND hwnd, COLORREF color, bool has_frame) {
HRESULT result;
if (has_frame) {
result =
DwmSetWindowAttribute(hwnd, DWMWA_CAPTION_COLOR, &color, sizeof(color));
HRESULT result =
DwmSetWindowAttribute(hwnd, DWMWA_CAPTION_COLOR, &color, sizeof(color));
if (FAILED(result))
LOG(WARNING) << "Failed to set caption color";
if (FAILED(result))
LOG(WARNING) << "Failed to set caption color";
}
result =
DwmSetWindowAttribute(hwnd, DWMWA_BORDER_COLOR, &color, sizeof(color));
@@ -591,7 +591,8 @@ void NativeWindowViews::UpdateWindowAccentColor(bool active) {
}
COLORREF final_color = border_color.value_or(DWMWA_COLOR_DEFAULT);
SetWindowBorderAndCaptionColor(GetAcceleratedWidget(), final_color);
SetWindowBorderAndCaptionColor(GetAcceleratedWidget(), final_color,
has_frame());
}
void NativeWindowViews::SetAccentColor(