// Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import "Peasant.idl"; namespace Microsoft.Terminal.Remoting { [default_interface] runtimeclass FindTargetWindowArgs { CommandlineArgs Args { get; }; Int32 ResultTargetWindow; String ResultTargetWindowName; } [default_interface] runtimeclass ProposeCommandlineResult { Windows.Foundation.IReference Id { get; }; String WindowName { get; }; Boolean ShouldCreateWindow { get; }; // If you name this `CreateWindow`, the compiler will explode } [default_interface] runtimeclass SummonWindowSelectionArgs { SummonWindowSelectionArgs(); SummonWindowSelectionArgs(String windowName); String WindowName; Boolean OnCurrentDesktop; // TODO GH#8888 Other options: // * CurrentMonitor Boolean FoundMatch; SummonWindowBehavior SummonBehavior; Windows.Foundation.IReference WindowID; } [default_interface] runtimeclass Monarch { Monarch(); UInt64 GetPID(); UInt64 AddPeasant(IPeasant peasant); ProposeCommandlineResult ProposeCommandline(CommandlineArgs args); void HandleActivatePeasant(WindowActivatedArgs args); void SummonWindow(SummonWindowSelectionArgs args); void SummonAllWindows(); Windows.Foundation.Collections.IMapView GetPeasantNames { get; }; event Windows.Foundation.TypedEventHandler FindTargetWindowRequested; event Windows.Foundation.TypedEventHandler ShowTrayIconRequested; event Windows.Foundation.TypedEventHandler HideTrayIconRequested; }; }