public void Run() { ListWindows(); Console.WriteLine("Welcome to Rude Window Manager. Not.\n" + "I'm only gonna say this once. You press H for help.\n" + "That's 'H' on your keyboard ye dimwit. "); bool run = true; while (run) { Console.WriteLine("Whatcha want?"); var c = Console.ReadKey(intercept: true); switch (c.Key) { case ConsoleKey.X: run = false; break; case ConsoleKey.H: PrintHelp(); break; case ConsoleKey.U: Console.Write("Watcha want unpinned? (index) "); try { var idx = int.Parse(Console.ReadLine()); _wm.SetWindowNotOnTop(idx); Console.Clear(); ListWindows(); ConsoleEx.WriteLine("Done mate. Piss off.", ConsoleColor.Green); } catch { ConsoleEx.WriteLine("Bad input mate. Expecting an integer.", ConsoleColor.Red); } break; case ConsoleKey.P: Console.Write("Watcha wanna pin? (index) "); try { var idx = int.Parse(Console.ReadLine()); _wm.SetWindowOnTop(idx); Console.Clear(); ListWindows(); ConsoleEx.WriteLine("Done mate. Piss off.", ConsoleColor.Green); } catch { ConsoleEx.WriteLine("Bad input mate. Expecting an integer.", ConsoleColor.Red); } break; case ConsoleKey.R: Console.Clear(); ListWindows(); break; case ConsoleKey.Enter: break; default: ConsoleEx.WriteLine($"I DON'T SPEAK MORONESE!!! WHAT'S A `{c.KeyChar}`?", ConsoleColor.Red); break; } } }