Live data from Hacker News

Terminal.Gui: A Cross Platform Terminal UI Toolkit for .NET

github.com

71–80 of 83 posts

Re: Terminal.Gui: A Cross Platform Terminal UI Toolkit for .NET

#71
post #70

How people get the mouse working in the terminal is one of those things I've always wondered how they do it, but never look into it because then the magic is gone. As a daily software engineer it's nice to have some things remain as magic

Must resist urge to explain

Re: Terminal.Gui: A Cross Platform Terminal UI Toolkit for .NET

#72
post #71
post #70

How people get the mouse working in the terminal is one of those things I've always wondered how they do it, but never look into it because then the magic is gone. As a daily software engineer it's nice to have some things remain as magic

Must resist urge to explain

Please don't resist too hard.

Re: Terminal.Gui: A Cross Platform Terminal UI Toolkit for .NET

#74
post #35

Is there a Terminal.somethingElse too ?

It's just the naming convention of .NET stuff, e.g. someone else has a NuGet package for "Terminal.Connector" and someone else has one for " Rebex.Terminal.SerialPort" but none of these are related. I will say normally you'd stick some sort of group/developer/company identifier in front though like the Rebex example has but it's not a hard and fast rule.

Re: Terminal.Gui: A Cross Platform Terminal UI Toolkit for .NET

#75
post #68

Earlier quoted context omitted.

In my country (Brazil) I sporadically meet people using TUI-based systems. Mostly COBOL but also a good amount of Clipper (or Harbour, maybe?). I'm also aware of a couple of companies maintaining systems in Harbour and my parents use a web app written in Pascal -- I could tell by the error messages, which are extremely rare btw; the system is very stable, despite the frequent changes it goes through thanks to the tax…

It would be more interesting to dive down and figure out what exactly the users like more about TUI. Just speed alone can't be it, because e.g. WinXP-era UI is blazing fast on modern hardware (and was plenty fast even back then). And if we know what it is, we can build GUIs that are just as efficient, but that also offer e.g. better text rendering etc compared to TUI. I once had an interesting experience migrating us…

> It would be more interesting to dive down and figure out what exactly the users like more about TU

Indeed. When they say "it's fast", I don't read it simply as "the program is fast". They get their stuff done faster, and the program is simply a tool -- if further speed can be achieved with something else, so be it. It doesnt even need to be software.

However, I still think TUIs are in a better position due to lower development and maintainance costs. This can be achieved by GUI frameworks, for sure. But TUIs tend to be terser, and their natural limitations become an advantage when they make certain sorts of bullcrap (animations, for instance) undoable. I believe this contributes to long-term stability, as developers spend way less time dealing with useless requirements.

> the takeaway was that they really wanted the flow to be 100% keyboard-based

Good that you could draw such conclusion. I do think we should rely more on observation to find out what users need, as opposed to what they _say_ they need. I know this sounds condescending, but I dont mean that. I just believe thay it's hard for them to identify and verbalize some critical factors for their success and they need some mediation.

I also feel upset about the keyboard as a second-class citizen in modern systems. There's this UX design school of thought portraying users as creatures of extremely limited working memory, who can't even remember what they wanted when they clicked the option, and therefore need infantilized interfaces full of pictures and colorful buttons because they won't be able to memorize a handful of keyboard combinations

Re: Terminal.Gui: A Cross Platform Terminal UI Toolkit for .NET

#78

What are the prerequisites for installing on MacOS ? Thanks.

Trying to give you a fairly complete answer: It's a .NET library, the prerequisites are the same as any .NET library.

If you want to write code in .NET you will need to install the .NET SDK.

If you just want to run an application written in .NET... it depends. Apps can be shipped with a built-in .NET runtime ("self-contained"), which makes them bigger on disk but they don't need any prerequisites installed. Apps can also be shipped without a .NET runtime ("framework-dependent"), in which case the user needs to have a shared runtime installed to run the app.

Re: Terminal.Gui: A Cross Platform Terminal UI Toolkit for .NET

#79
post #68

Earlier quoted context omitted.

It would be more interesting to dive down and figure out what exactly the users like more about TUI. Just speed alone can't be it, because e.g. WinXP-era UI is blazing fast on modern hardware (and was plenty fast even back then). And if we know what it is, we can build GUIs that are just as efficient, but that also offer e.g. better text rendering etc compared to TUI. I once had an interesting experience migrating us…

> It would be more interesting to dive down and figure out what exactly the users like more about TU Indeed. When they say "it's fast", I don't read it simply as "the program is fast". They get their stuff done faster, and the program is simply a tool -- if further speed can be achieved with something else, so be it. It doesnt even need to be software. However, I still think TUIs are in a better position due to lower…

You need to do both questions and observations, IMO, and iterate between the two. Answers give you hypotheses that can then be verified by observation; if just observing, small things can slip by if you don't know to watch for them in advance.

Re: Terminal.Gui: A Cross Platform Terminal UI Toolkit for .NET

#80
post #70

How people get the mouse working in the terminal is one of those things I've always wondered how they do it, but never look into it because then the magic is gone. As a daily software engineer it's nice to have some things remain as magic

AIUI, there's a special mode for the running app to grab mouse input in the terminal. Otherwise, the mouse is just used for copy&paste. This applies to both Windows and Linux btw.
Post reply on HN