Skip to content

Commit

Permalink
Make sure Terminal Stable shows up as default on 22544+ (#12320)
Browse files Browse the repository at this point in the history
Since we turned this feature on in windows, and it relies on _lying
about the contents of the registry_, Terminal needs to be in on the
joke.

This will need to be reverted and serviced if we choose not to ship like
this.

Fixes #12308
  • Loading branch information
DHowett committed Feb 1, 2022
1 parent 70d8b2a commit 457738e
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/internal/stubs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,16 @@ void EdpPolicy::AuditClipboard(const std::wstring_view /*destinationName*/) noex

[[nodiscard]] HRESULT DefaultApp::CheckShouldTerminalBeDefault(bool& isEnabled) noexcept
{
// False since setting Terminal as the default app is an OS feature and probably
// should not be done in the open source conhost. We can always decide to turn it
// on in the future though.
isEnabled = false;
// Since we toggled this feature on in Windows, Terminal (and Terminal Preview) need to
// agree -- otherwise, they will present UI that suggests Terminal is NOT the default,
// like the info bar.
OSVERSIONINFOEXW osver{};
osver.dwOSVersionInfoSize = sizeof(osver);
osver.dwBuildNumber = 22544;

DWORDLONG dwlConditionMask = 0;
VER_SET_CONDITION(dwlConditionMask, VER_BUILDNUMBER, VER_GREATER_EQUAL);

isEnabled = VerifyVersionInfoW(&osver, VER_BUILDNUMBER, dwlConditionMask) != FALSE;
return S_OK;
}

0 comments on commit 457738e

Please sign in to comment.