Add more logging that helped identify the source of the issue here
This commit is contained in:
parent
8ab3422b57
commit
93c2ccbf4d
|
@ -201,6 +201,12 @@ namespace winrt::Microsoft::Terminal::Remoting::implementation
|
|||
_clearOldMruEntries(id);
|
||||
}
|
||||
|
||||
TraceLoggingWrite(g_hRemotingProvider,
|
||||
"Monarch_lookupPeasantIdForName",
|
||||
TraceLoggingWideString(winrt::hstring{ name }.c_str(), "name", "the name we're looking for"),
|
||||
TraceLoggingUInt64(result, "peasantID", "the ID of the peasant with that name"),
|
||||
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE),
|
||||
TraceLoggingKeyword(TIL_KEYWORD_TRACE));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -750,6 +756,27 @@ namespace winrt::Microsoft::Terminal::Remoting::implementation
|
|||
{
|
||||
targetPeasant.Summon(args.SummonBehavior());
|
||||
args.FoundMatch(true);
|
||||
|
||||
TraceLoggingWrite(g_hRemotingProvider,
|
||||
"Monarch_SummonWindow_Success",
|
||||
TraceLoggingWideString(searchedForName.c_str(), "searchedForName", "The name of the window we tried to summon"),
|
||||
TraceLoggingUInt64(windowId, "peasantID", "The id of the window we tried to summon"),
|
||||
TraceLoggingBoolean(args.OnCurrentDesktop(), "OnCurrentDesktop", "true iff the window needs to be on the current virtual desktop"),
|
||||
TraceLoggingBoolean(args.SummonBehavior().MoveToCurrentDesktop(), "MoveToCurrentDesktop", "if true, move the window to the current virtual desktop"),
|
||||
TraceLoggingBoolean(args.SummonBehavior().ToggleVisibility(), "ToggleVisibility", "true if we should toggle the visibity of the window"),
|
||||
TraceLoggingUInt32(args.SummonBehavior().DropdownDuration(), "DropdownDuration", "the duration to dropdown the window"),
|
||||
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE),
|
||||
TraceLoggingKeyword(TIL_KEYWORD_TRACE));
|
||||
}
|
||||
else
|
||||
{
|
||||
TraceLoggingWrite(g_hRemotingProvider,
|
||||
"Monarch_SummonWindow_NoPeasant",
|
||||
TraceLoggingWideString(searchedForName.c_str(), "searchedForName", "The name of the window we tried to summon"),
|
||||
TraceLoggingUInt64(windowId, "peasantID", "The id of the window we tried to summon"),
|
||||
TraceLoggingBoolean(args.OnCurrentDesktop(), "OnCurrentDesktop", "true iff the window needs to be on the current virtual desktop"),
|
||||
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE),
|
||||
TraceLoggingKeyword(TIL_KEYWORD_TRACE));
|
||||
}
|
||||
}
|
||||
catch (...)
|
||||
|
|
|
@ -689,7 +689,17 @@ winrt::fire_and_forget AppHost::_setupGlobalHotkeys()
|
|||
{
|
||||
if (auto summonArgs = cmd.ActionAndArgs().Args().try_as<Settings::Model::GlobalSummonArgs>())
|
||||
{
|
||||
_window->RegisterHotKey(gsl::narrow_cast<int>(_hotkeys.size()), keyChord);
|
||||
int index = gsl::narrow_cast<int>(_hotkeys.size());
|
||||
const bool succeeded = _window->RegisterHotKey(index, keyChord);
|
||||
|
||||
TraceLoggingWrite(g_hWindowsTerminalProvider,
|
||||
"AppHost_setupGlobalHotkey",
|
||||
TraceLoggingDescription("Emitted when setting a single hotkey"),
|
||||
TraceLoggingInt64(index, "index", "the index of the hotkey to add"),
|
||||
TraceLoggingWideString(cmd.Name().c_str(), "name", "the name of the command"),
|
||||
TraceLoggingBoolean(succeeded, "succeeded", "true if we succeeded"),
|
||||
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE),
|
||||
TraceLoggingKeyword(TIL_KEYWORD_TRACE));
|
||||
_hotkeys.emplace_back(summonArgs);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1046,8 +1046,9 @@ void IslandWindow::UnregisterHotKey(const int index) noexcept
|
|||
{
|
||||
TraceLoggingWrite(
|
||||
g_hWindowsTerminalProvider,
|
||||
"UnregisterAllHotKeys",
|
||||
"UnregisterHotKey",
|
||||
TraceLoggingDescription("Emitted when clearing previously set hotkeys"),
|
||||
TraceLoggingInt64(index, "index", "the index of the hotkey to remove"),
|
||||
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE),
|
||||
TraceLoggingKeyword(TIL_KEYWORD_TRACE));
|
||||
|
||||
|
@ -1064,15 +1065,8 @@ void IslandWindow::UnregisterHotKey(const int index) noexcept
|
|||
// - hotkey: The key-combination to register.
|
||||
// Return Value:
|
||||
// - <none>
|
||||
void IslandWindow::RegisterHotKey(const int index, const winrt::Microsoft::Terminal::Control::KeyChord& hotkey) noexcept
|
||||
bool IslandWindow::RegisterHotKey(const int index, const winrt::Microsoft::Terminal::Control::KeyChord& hotkey) noexcept
|
||||
{
|
||||
TraceLoggingWrite(
|
||||
g_hWindowsTerminalProvider,
|
||||
"RegisterHotKey",
|
||||
TraceLoggingDescription("Emitted when setting hotkeys"),
|
||||
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE),
|
||||
TraceLoggingKeyword(TIL_KEYWORD_TRACE));
|
||||
|
||||
auto vkey = hotkey.Vkey();
|
||||
if (!vkey)
|
||||
{
|
||||
|
@ -1080,7 +1074,7 @@ void IslandWindow::RegisterHotKey(const int index, const winrt::Microsoft::Termi
|
|||
}
|
||||
if (!vkey)
|
||||
{
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
auto hotkeyFlags = MOD_NOREPEAT;
|
||||
|
@ -1094,7 +1088,23 @@ void IslandWindow::RegisterHotKey(const int index, const winrt::Microsoft::Termi
|
|||
|
||||
// TODO GH#8888: We should display a warning of some kind if this fails.
|
||||
// This can fail if something else already bound this hotkey.
|
||||
LOG_IF_WIN32_BOOL_FALSE(::RegisterHotKey(_window.get(), index, hotkeyFlags, vkey));
|
||||
const auto result = ::RegisterHotKey(_window.get(), index, hotkeyFlags, vkey);
|
||||
LOG_IF_WIN32_BOOL_FALSE(result);
|
||||
|
||||
TraceLoggingWrite(g_hWindowsTerminalProvider,
|
||||
"RegisterHotKey",
|
||||
TraceLoggingDescription("Emitted when setting hotkeys"),
|
||||
TraceLoggingInt64(index, "index", "the index of the hotkey to add"),
|
||||
TraceLoggingUInt64(vkey, "vkey", "the key"),
|
||||
TraceLoggingUInt64(WI_IsFlagSet(hotkeyFlags, MOD_WIN), "win", "is WIN in the modifiers"),
|
||||
TraceLoggingUInt64(WI_IsFlagSet(hotkeyFlags, MOD_ALT), "alt", "is ALT in the modifiers"),
|
||||
TraceLoggingUInt64(WI_IsFlagSet(hotkeyFlags, MOD_CONTROL), "control", "is CONTROL in the modifiers"),
|
||||
TraceLoggingUInt64(WI_IsFlagSet(hotkeyFlags, MOD_SHIFT), "shift", "is SHIFT in the modifiers"),
|
||||
TraceLoggingBool(result, "succeeded", "true if we succeeded"),
|
||||
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE),
|
||||
TraceLoggingKeyword(TIL_KEYWORD_TRACE));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// Method Description:
|
||||
|
|
|
@ -39,7 +39,7 @@ public:
|
|||
void SetTaskbarProgress(const size_t state, const size_t progress);
|
||||
|
||||
void UnregisterHotKey(const int index) noexcept;
|
||||
void RegisterHotKey(const int index, const winrt::Microsoft::Terminal::Control::KeyChord& hotkey) noexcept;
|
||||
bool RegisterHotKey(const int index, const winrt::Microsoft::Terminal::Control::KeyChord& hotkey) noexcept;
|
||||
|
||||
winrt::fire_and_forget SummonWindow(winrt::Microsoft::Terminal::Remoting::SummonWindowBehavior args);
|
||||
|
||||
|
|
Loading…
Reference in a new issue