Ejemplo n.º 1
0
        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}      "
                });