Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.

Commit

Permalink
win: allow square corner on win11
Browse files Browse the repository at this point in the history
  • Loading branch information
wangwenx190 committed Aug 31, 2023
1 parent 64a4362 commit 97112f8
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 3 deletions.
3 changes: 2 additions & 1 deletion include/FramelessHelper/Core/framelesshelpercore_global.h
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,8 @@ enum class Option : quint8
ForceNonNativeBackgroundBlur,
DisableLazyInitializationForMicaMaterial,
ForceNativeBackgroundBlur,
Last = ForceNativeBackgroundBlur
WindowUseSquareCorners,
Last = WindowUseSquareCorners
};
Q_ENUM_NS(Option)

Expand Down
3 changes: 2 additions & 1 deletion src/core/framelessconfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ static constexpr const std::array<FramelessConfigEntry, static_cast<int>(Option:
FramelessConfigEntry{ "FRAMELESSHELPER_ENABLE_BLUR_BEHIND_WINDOW", "Options/EnableBlurBehindWindow" },
FramelessConfigEntry{ "FRAMELESSHELPER_FORCE_NON_NATIVE_BACKGROUND_BLUR", "Options/ForceNonNativeBackgroundBlur" },
FramelessConfigEntry{ "FRAMELESSHELPER_DISABLE_LAZY_INITIALIZATION_FOR_MICA_MATERIAL", "Options/DisableLazyInitializationForMicaMaterial" },
FramelessConfigEntry{ "FRAMELESSHELPER_FORCE_NATIVE_BACKGROUND_BLUR", "Options/ForceNativeBackgroundBlur" }
FramelessConfigEntry{ "FRAMELESSHELPER_FORCE_NATIVE_BACKGROUND_BLUR", "Options/ForceNativeBackgroundBlur" },
FramelessConfigEntry{ "FRAMELESSHELPER_WINDOW_USE_SQUARE_CORNERS", "Options/WindowUseSquareCorners" }
};

static constexpr const auto OptionCount = std::size(FramelessOptionsTable);
Expand Down
7 changes: 6 additions & 1 deletion src/core/framelesshelper_win.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ void FramelessHelperWin::addWindow(FramelessParamsConst params)
if (WindowsVersionHelper::isWin10RS5OrGreater()) {
const bool dark = (FramelessManager::instance()->systemTheme() == SystemTheme::Dark);
const auto isWidget = [params]() -> bool {
const auto widget = params->getWidgetHandle();
const QObject *widget = params->getWidgetHandle();
return (widget && widget->isWidgetType());
}();
if (!isWidget) {
Expand All @@ -270,6 +270,11 @@ void FramelessHelperWin::addWindow(FramelessParamsConst params)
std::ignore = Utils::updateGlobalWin32ControlsTheme(windowId, dark);
}
std::ignore = Utils::refreshWin32ThemeResources(windowId, dark);
if (WindowsVersionHelper::isWin11OrGreater()) {
if (FramelessConfig::instance()->isSet(Option::WindowUseSquareCorners)) {
std::ignore = Utils::setCornerStyleForWindow(windowId, WindowCornerStyle::Square);
}
}
}
}
}
Expand Down

0 comments on commit 97112f8

Please sign in to comment.