Exploring and Building Cross-Platform TUIs
summary
Demos use terminal.gui on .NET Core and the Microsoft Console GUI Tools module to build cross‑platform TUIs: Out-ConsoleGridView for in‑terminal grids, PSReadLine history bound to F7, PSEdit (an embedded editor), file dialogs and dynamic tree views. Code patterns include Application.New and the required Application.Shutdown, mainloop invocation for thread safety, and casting dialog.filepath.tostring because it returns an insstack.ustring. Many dozens of views exist, async background jobs sometimes behave oddly, and most examples run successfully.
AI-written summary · about
chapters (31)
- 0:00Cross-platform TUIs intro
- 1:15Talk goals and plan
- 2:38What are TUIs and benefits
- 3:59TUIs fit PowerShell workflows
- 4:42Terminal.Gui toolkit
- 6:27Out-ConsoleGridView module
- 8:17Music player demo
- 8:38Help topic viewer demo
- 9:43PSReadLine workflows
- 11:45PSEdit cross-platform editor
- 13:09PSEdit profile editing demo
- 14:53Setting up Terminal.Gui development
- 15:37VS Code vs terminal dev
- 16:21Terminal.Gui starter code
- 17:23First Terminal.Gui window
- 18:04Proper Terminal.Gui shutdown
- 18:46Terminal.Gui Designer
- 20:31Tree Views in Terminal.Gui
- 21:34Dynamic Tree View for podcasts
- 23:19Views and subviews
- 24:45Terminal.Gui view types
- 26:13Labels and text
- 28:19Layout systems
- 31:29Creating dialogs
- 32:43File dialogs
- 34:28Keyboard input handling
- 35:50Key bindings and events
- 37:17Main loop and async
- 38:24Async label updates demo
- 40:56Next steps and collaboration
- 41:39Q&A
related talks
47mBuilding intuitive command-line interfaces in .NET
25mThe Terminal is the New Browser: Building Rich TUIs with Textual
57mNext-Level Console Apps With Spectre.Console
32mBuilding UIs in Terminal with Laravel Prompts
58mDesktop Apps Your Way!
46mDeveloper experience improvements in Windows
41mXiki: GUI and Text Interfaces are Converging
38mTerminal Whispering
