7 ms·
A GUI framework for C# console applications
- hprotagonist 7y agoa GUI for CLIs is called a TUI.
- seanmcdirmid 7y agoTangible user interfaces? Ah according to wiki it now also means text-user interface.
- usepgp 7y agoTerminal User Interface or Text-based User Interface
- SloopJon 7y agoI've seen this TUI term come up a few times on Hacker News. The term I've heard at two companies that had extensive terminal interfaces with menus and screens is CHUI (rhymes with "chewy"). It's funny, though: the CHUIs that remain in the product for system administration are much more primitive now than they used to be. Instead of curses-style graphics with a UI, it's pure text.
- sqldba 7y agoI wonder why the vertical lines have breaks in them. It didn’t used to be like that in the old days.
- BonesJustice 7y agoJust an annoyance in the Consolas font metrics. It would look correct in the bitmapped old console font.
- xmichael999 7y agoVery cool, can't wait to try it out! I've been using Miguel de Icaza's Console project with success but I feel this project might have a ton more options and flexibility!
- kovek 7y agoI wish we could do this easily with emacs
- hprotagonist 7y agohydras are more or less this.
- kovek 7y agoI think that this project is about displaying information graphically in a textual interface. I think with emacs you can do so but it's difficult. I think hydras are not this. Hydras are more or less for grouping commands together.
- tyingq 7y agoThe chess game screenshot sort of reminded me of the StarTrek game DEC used to leave running in their showrooms in the 70's and 80's: https://commons.wikimedia.org/wiki/File:Star_Trek_text_game.png https://commons.wikimedia.org/wiki/File:Star_Trek_text_game.... I remember being kicked out by salesmen many times while sitting there playing. They seemed very annoyed that no adults "got it", but many kids did.
- ConcernedCoder 7y agoI remember playing StarTrek on one of these in my 7th grade math class: http://www.columbia.edu/cu/computinghistory/la36.html http://www.columbia.edu/cu/computinghistory/la36.html
- code_chimp 7y agoWe played Star Trek on the Apple ]['s in our middle school computer lab back in the mid 1980's. Bless whomever ported that game.
- TeMPOraL 7y ago> They seemed very annoyed that no adults "got it", but many kids did. They were all lobeless creatures who couldn't spot an opportunity even if it hit them in the face. A true Ferengi would know how to handle this.
- tyingq 7y agoTo their credit, they did donate a lot of VAX equipment to New Hampshire public schools where I grew up. They did seem to get the long game there. It certainly worked on me. DEC's bigger misses came later.
- djsumdog 7y agoI didn't realize there was an original. I played EGA Trek as a kid: https://duckduckgo.com/?q=ega+trek&t=ffsb&iax=images&ia=images https://duckduckgo.com/?q=ega+trek&t=ffsb&iax=images&ia=imag...
- iso-8859-1 7y agoSo is this cross-platform? How does it compare to http://hackage.haskell.org/package/brick http://hackage.haskell.org/package/brick ?
- tonyedgecombe 7y agoIt's .Net Core but there doesn't seem to be any mention of running it on Linux or macOS.
- djsumdog 7y agoThere's an issue where it throws an unsupported platform in Linux. :(
- moron4hire 7y agoThe example is .NET Core 2.1, but the actual library itself is .NET Standard 2.0. It will depend on how the System.Console class is implemented in Linux and macOS. It might fair better to port the example to Mono or .NET Core 3.0 (which should just be a change of build settings). _______________ | | | | | | STD | | | |_____| | | | | | FX | CORE | |______|______|
- xmichael999 7y agojust a guess here, but this library is for c# and brick appears to be for haskel
- Chia 7y agono, got 'Unhandled exception. System.PlatformNotSupportedException: Operation is not supported on this platform.' when I try using it on Linux.
- voltagex_ 7y agoI wonder how hard it would be to port proper ncurses now that Windows 10 has reasonably complete VT100+ support.
- gitgud 7y agoWhat would this be used for?
- derision 7y agoCLI applications that need a TUI
- crummy 7y agoRogue-like games.
- IHLayman 7y agoAvoiding your mouse. TUIs can be far faster than GUIs when you don't have to take your hands off the keyboard to reach for a slow mouse.
- krautsourced 7y agoI use these kind of text based ui's for internal tools where dealing with a full graphical UI is often 50% or more of the actual work. It's easier for the novice user to use tools with basic text based user interface than to use command lines, but it's much faster to develop than a WPF app (and it's multi platform)
- mikequinlan 7y agoHere is a version written by Miguel de Icaza. I don't know if it is maintained. https://github.com/migueldeicaza/gui.cs https://github.com/migueldeicaza/gui.cs
- bjg 7y agoHe merged commits 3 days, ago... that would lead one to believe it's maintained.
- ComputerGuru 7y agoThis implements the WPF-esque grid model, as mentioned. Does anyone know of a performant grid-based ncurses library?
- m0xte 7y agoWow we’ve gone full circle. This is reminiscent of Visual Basic for MSDOS which was quite frankly excellent.
- tonyedgecombe 7y agoWhich was preceded by Borland's Turbo Vision: https://en.wikipedia.org/wiki/Turbo_Vision https://en.wikipedia.org/wiki/Turbo_Vision
- ChrisRR 7y agoNow if only we could get cross platform WPF for C#
- MrGilbert 7y agoAvalonia UI, while still in Beta, is pretty mature. It's not WPF, of course, but it works quite well: https://github.com/AvaloniaUI/Avalonia https://github.com/AvaloniaUI/Avalonia
- pknopf 7y agoAlso, Qt/QML works with .NET. https://github.com/qmlnet/qmlnet https://github.com/qmlnet/qmlnet
- lol768 7y agoI can't really explain why, but looking at Avalonia's demonstration videos I don't like the UI controls in Avalonia.Themes.Default. They remind me of what you might end up with if you designed controls manually in e.g. a Flash app - it doesn't feel like a desktop app UI kit. It's a bit of a shame, because I strongly suspect the theme is easily overridden. It just needs a designer to make a consistent set of controls.
- wiso 7y agoThe themes can be easily overridden indeed. Here [0] is example of custom theme applied. For sure the project would really benefit from some pro designer help. https://rbmk.io/ https://rbmk.io/
- lol768 7y agoWow, this app looks really cool! The Mac variant is particularly pleasing to look at. I wonder if some design work could be crowd-funded.
- Someone1234 7y agoI've used WPF, and I have no specific issue with it (and believe it was an upgrade over Forms). But even as someone very familiar with C#/WPF, and a fan of C#/.Net Core I cannot see why you'd want to port WPF when a platform like Electron exists and already works extremely well as a cross-platform framework. It isn't simply the functionality, but also the massive community/examples/tutorials/etc that already exist for the JavaScript/Node/Electron ecosystem. WPF, even on Windows, is much smaller but if they ever ported it to Linux/MacOS/iOS/iPadOS/Android the resources would be microscopic, and it would be a legitimate limiter to the platform's success. It would largely be dead on arrival. I wouldn't even use it (and I am their core developer demographic). The only argument people can make is performance, and WPF isn't exactly speedy itself (particularly without hardware acceleration). Plus you're competing with a much better ingrained Qt. I was actually trying to create a cross-platform solution this weekend between PyQt and Electron, and ultimately wound up using Electron, not because it is better within itself but because you have this huge ecosystem of samples/snippets/etc to built upon. It is a productivity multiplier.
- rumanator 7y agoThe correct term for this sort of "GUI framework" is text-based user interface (TUI) https://en.wikipedia.org/wiki/Text-based_user_interface https://en.wikipedia.org/wiki/Text-based_user_interface
- Yuioup 7y agoI was just thinking yesterday that it would be cool if there was something like this for VSCode, just like for the well known text editors, so I can launch it in an ssh session.
- heartbreak 7y agoVS Code has really good support for editing over SSH built into a preview extension now [0]. It is as seamless as running vim over ssh, except it’s a GUI app running locally connected to a temporary VS Code server on the remote. It even supports extensions installed on the remote. I’ve tried so many different implementations to get Sublime working in this config (like SSH forwarding a samba share) and they’re all terrible compared to VS Code’s. [0] https://code.visualstudio.com/docs/remote/remote-overview https://code.visualstudio.com/docs/remote/remote-overview
- gwbas1c 7y agoJust curious: Why would someone do a TUI (text-based user interface) on a modern computer? Using C# implies that you're running on a device powerful enough for a traditional GUI. (And you really don't need much to run C#, just enough RAM / Disk for the framework and to handle the overhead of the garbage collector.)
- deleted 7y ago[deleted]
- derision 7y agoI still do a ton of stuff in the terminal. More advanced git clients are something I've seen
- dagmx 7y agoEven on very high end machines, even when I'm running other GUIs, I still do a lot of stuff in the shell especially with regards to working on ssh'd machines. It's really useful to have things work in the shell directly.
- gwbas1c 7y agoI do a lot in the shell, but not with interactive programs.
- bjoli 7y agoI live in Emacs. It is a program specialized for typing, displaying and navigating text. If whatever I need to do does interaction via text and typing all else is just fluff. Pointing and clicking is just a digression from what I want and what I need to do. I am not even an old fart. I am barely 30, but I feel completely backwards with regards to all developments in modern computer interaction. I hate smartphones. I hate the modern web. It all feels like one big distraction.
- celticmusic 7y agoI'm 40 and feel the same way most of the time. GUI's have their place, but damn is i3 + terminal super productive, no matter what the naysayers think.
- pantulis 7y agoThis reminds me of the sheer joy of Borland's Turbo Vision circa 1991.
- int_19h 7y agoTurbo Vision is still kinda sorta alive as FreeVision, shipped as part of FreePascal, and driving their TUI IDE that's visually a clone of Borland Pascal for DOS: https://i.imgur.com/Zj2KOG1.jpg https://i.imgur.com/Zj2KOG1.jpg
- MrGilbert 7y agoWhat I like about this in contrast to Miguel's TUI is how easy it is to change the colors for the interface. I wish it would have mouse support, though - not sure how much effort it would be to add it to it. Mouse support is something I really like about GUI.cs
- investologia 7y agoReminds me of UNIX curses
- moron4hire 7y agoThis is very interesting. Really glad to see this implemented as a .NET Standard 2.0 package. I've had a huge problem with making UIs for various systems. Something like this could be a good starting point for building a cross-platform, minimally viable GUI for those systems. I don't need native-looking GUI, I just need functional and not completely broken like Unity's GUI system is/are.