From 9270e0fce3ecd03b124445ac8b7a37991b28f719 Mon Sep 17 00:00:00 2001 From: Mike Griese Date: Mon, 1 Mar 2021 12:06:23 -0600 Subject: [PATCH] bind the name, id down to the actual page --- src/cascadia/TerminalApp/AppLogic.cpp | 22 ++++++++++++++++++++++ src/cascadia/TerminalApp/AppLogic.h | 5 +++++ src/cascadia/TerminalApp/AppLogic.idl | 3 +++ src/cascadia/TerminalApp/TerminalPage.h | 3 --- src/cascadia/WindowsTerminal/AppHost.cpp | 3 +++ 5 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/cascadia/TerminalApp/AppLogic.cpp b/src/cascadia/TerminalApp/AppLogic.cpp index 0675d28d91c..2d4f0259eca 100644 --- a/src/cascadia/TerminalApp/AppLogic.cpp +++ b/src/cascadia/TerminalApp/AppLogic.cpp @@ -1376,6 +1376,28 @@ namespace winrt::TerminalApp::implementation } } + winrt::hstring AppLogic::WindowName() + { + return _root ? _root->WindowName() : L""; + } + void AppLogic::WindowName(const winrt::hstring& name) + { + if (_root) + { + _root->WindowName(name); + } + } + uint64_t AppLogic::WindowId() + { + return _root ? _root->WindowId() : 0; + } + void AppLogic::WindowId(const uint64_t& id) + { + if (_root) + { + _root->WindowId(id); + } + } // -------------------------------- WinRT Events --------------------------------- // Winrt events need a method for adding a callback to the event and removing the callback. // These macros will define them both for you. diff --git a/src/cascadia/TerminalApp/AppLogic.h b/src/cascadia/TerminalApp/AppLogic.h index 21e41690a82..135de8bed72 100644 --- a/src/cascadia/TerminalApp/AppLogic.h +++ b/src/cascadia/TerminalApp/AppLogic.h @@ -56,7 +56,12 @@ namespace winrt::TerminalApp::implementation bool FocusMode() const; bool Fullscreen() const; bool AlwaysOnTop() const; + void IdentifyWindow(); + winrt::hstring WindowName(); + void WindowName(const winrt::hstring& name); + uint64_t WindowId(); + void WindowId(const uint64_t& id); Windows::Foundation::Size GetLaunchDimensions(uint32_t dpi); bool CenterOnLaunch(); diff --git a/src/cascadia/TerminalApp/AppLogic.idl b/src/cascadia/TerminalApp/AppLogic.idl index 2c0f56f3890..35fa8f713ea 100644 --- a/src/cascadia/TerminalApp/AppLogic.idl +++ b/src/cascadia/TerminalApp/AppLogic.idl @@ -47,7 +47,10 @@ namespace TerminalApp Boolean FocusMode { get; }; Boolean Fullscreen { get; }; Boolean AlwaysOnTop { get; }; + void IdentifyWindow(); + String WindowName; + UInt64 WindowId; Windows.Foundation.Size GetLaunchDimensions(UInt32 dpi); Boolean CenterOnLaunch { get; }; diff --git a/src/cascadia/TerminalApp/TerminalPage.h b/src/cascadia/TerminalApp/TerminalPage.h index 84c0293c5ff..d147609b5fe 100644 --- a/src/cascadia/TerminalApp/TerminalPage.h +++ b/src/cascadia/TerminalApp/TerminalPage.h @@ -85,9 +85,6 @@ namespace winrt::TerminalApp::implementation winrt::fire_and_forget IdentifyWindow(); - // winrt::hstring WindowName(); - // uint64_t WindowId(); - winrt::fire_and_forget ProcessStartupActions(Windows::Foundation::Collections::IVector actions, const bool initial, const winrt::hstring cwd = L""); diff --git a/src/cascadia/WindowsTerminal/AppHost.cpp b/src/cascadia/WindowsTerminal/AppHost.cpp index 7c133cd68be..a0fb590c01c 100644 --- a/src/cascadia/WindowsTerminal/AppHost.cpp +++ b/src/cascadia/WindowsTerminal/AppHost.cpp @@ -196,6 +196,9 @@ void AppHost::_HandleCommandlineArgs() peasant.ExecuteCommandlineRequested({ this, &AppHost::_DispatchCommandline }); peasant.DisplayWindowIdRequested({ this, &AppHost::_DisplayWindowId }); + + _logic.WindowName(peasant.WindowName()); + _logic.WindowId(peasant.GetID()); } }