static void InitializeUI() { Clear(); SetWorkArea("shell.input", 0, 4, -1, -3); AddFrame((frame) => { var s = "".PadLeft(frame.ActualWidth, '-'); var t = $" Dot Net Console App Toolkit - terminal sample [{Environment.OSVersion} {(Environment.Is64BitOperatingSystem?"64":"32")}bits]"; return(new List <string> { $"{Bdarkblue}{Cyan}{s}", #pragma warning disable IDE0071 #pragma warning disable IDE0071WithoutSuggestion $"{Bdarkblue}{Cyan}|{t}{White}{"".PadLeft(Math.Max(0, frame.ActualWidth - 2 - t.Length))}{Cyan}|", #pragma warning restore IDE0071WithoutSuggestion #pragma warning restore IDE0071 $"{Bdarkblue}{Cyan}{s}" }); }, ConsoleColor.DarkBlue, 0, 0, -1, 3, DrawStrategy.OnViewResizedOnly, false); AddFrame((frame) => { return(new List <string> { $"{Bdarkblue} {Green}cur: {Cyan}{CursorLeft},{CursorTop}{White}" + $" | {Green}win: {Cyan}{sc.WindowLeft},{sc.WindowTop}" + $",{sc.WindowWidth},{sc.WindowHeight}{White}" + $" | {(sc.CapsLock?$"{Cyan}Caps":$"{Darkgray}Caps")}" // TODO: not supported on linux (ubuntu 18.04 wsl) + $" {(sc.NumberLock?$"{Cyan}Num":$"{Darkgray}Num")}{White}" // TODO: not supported on linux (ubuntu 18.04 wsl) + $" | {Green}in={Cyan}{sc.InputEncoding.CodePage}" + $" {Green}out={Cyan}{sc.OutputEncoding.CodePage}{White}" + $" | {Green}drive: {Cyan}{Drives.GetCurrentDriveInfo()}{White}" + $" | {Cyan}{System.DateTime.Now}{White} " });