~/talk

Exploring and Building Cross-Platform TUIs

slides:none on file

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

  1. 0:00Cross-platform TUIs intro
  2. 1:15Talk goals and plan
  3. 2:38What are TUIs and benefits
  4. 3:59TUIs fit PowerShell workflows
  5. 4:42Terminal.Gui toolkit
  6. 6:27Out-ConsoleGridView module
  7. 8:17Music player demo
  8. 8:38Help topic viewer demo
  9. 9:43PSReadLine workflows
  10. 11:45PSEdit cross-platform editor
  11. 13:09PSEdit profile editing demo
  12. 14:53Setting up Terminal.Gui development
  13. 15:37VS Code vs terminal dev
  14. 16:21Terminal.Gui starter code
  15. 17:23First Terminal.Gui window
  16. 18:04Proper Terminal.Gui shutdown
  17. 18:46Terminal.Gui Designer
  18. 20:31Tree Views in Terminal.Gui
  19. 21:34Dynamic Tree View for podcasts
  20. 23:19Views and subviews
  21. 24:45Terminal.Gui view types
  22. 26:13Labels and text
  23. 28:19Layout systems
  24. 31:29Creating dialogs
  25. 32:43File dialogs
  26. 34:28Keyboard input handling
  27. 35:50Key bindings and events
  28. 37:17Main loop and async
  29. 38:24Async label updates demo
  30. 40:56Next steps and collaboration
  31. 41:39Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.