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}"; }