[FancyZones] Do not restore maximized windows (#5597)
* Do not restore maximized windows * Fix show command comparison * Move maximized check outside of RestoreWindowSize function
This commit is contained in:
parent
9b4574ad06
commit
6c4129d02a
3 changed files with 13 additions and 1 deletions
|
@ -337,7 +337,7 @@ void WindowMoveHandlerPrivate::MoveSizeEnd(HWND window, POINT const& ptScreen, c
|
|||
{
|
||||
::RemoveProp(window, RESTORE_SIZE_STAMP);
|
||||
}
|
||||
else
|
||||
else if (!IsWindowMaximized(window))
|
||||
{
|
||||
RestoreWindowSize(window);
|
||||
}
|
||||
|
|
|
@ -177,6 +177,17 @@ bool IsInterestingWindow(HWND window, const std::vector<std::wstring>& excludedA
|
|||
return true;
|
||||
}
|
||||
|
||||
bool IsWindowMaximized(HWND window) noexcept
|
||||
{
|
||||
WINDOWPLACEMENT placement{};
|
||||
if (GetWindowPlacement(window, &placement) &&
|
||||
placement.showCmd == SW_SHOWMAXIMIZED)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void SaveWindowSizeAndOrigin(HWND window) noexcept
|
||||
{
|
||||
HANDLE handle = GetPropW(window, RESTORE_SIZE_STAMP);
|
||||
|
|
|
@ -121,6 +121,7 @@ void OrderMonitors(std::vector<std::pair<HMONITOR, RECT>>& monitorInfo);
|
|||
void SizeWindowToRect(HWND window, RECT rect) noexcept;
|
||||
|
||||
bool IsInterestingWindow(HWND window, const std::vector<std::wstring>& excludedApps) noexcept;
|
||||
bool IsWindowMaximized(HWND window) noexcept;
|
||||
void SaveWindowSizeAndOrigin(HWND window) noexcept;
|
||||
void RestoreWindowSize(HWND window) noexcept;
|
||||
void RestoreWindowOrigin(HWND window) noexcept;
|
||||
|
|
Loading…
Reference in a new issue