namespace ytLive.Models;
/// One user-visible open window offered by the "Capture Window…"
/// submenu. Carries its owning process name for disambiguation and the raw
/// HWND that becomes the "window:<hwnd>" capture key.
public sealed class WindowInfo
{
public WindowInfo(string title, string processName, long hwnd, int processId)
{
Title = title;
ProcessName = processName;
Hwnd = hwnd;
ProcessId = processId;
}
public string Title { get; }
public string ProcessName { get; }
public long Hwnd { get; }
public int ProcessId { get; }
/// Menu label: "Title — ProcessName" (e.g. "bash — WindowsTerminal").
public string Label => $"{Title} — {ProcessName}";
/// The capture key fed to the screen-capture factory
/// ("window:<hwnd>").
public string CaptureKey => $"window:0x{Hwnd:X}";
}