Modern Turbo Vision 2.0
github.com
github.com
Probably the most interesting app I did was a small quality control/stats app for this book: "Quality Control 4th Edition" (https://www.amazon.com/Quality-Control-Dale-H-Besterfield/dp...). All the data entry used Turbo Vison and all the graphs and charts used BGI (Borland Graphics Interface). It was meant for student use but I found out later it was used by Jim Beam on their whiskey distillery production line.
Delphi continues this tradition, most VCL components are implemented in Delphi, even those shipped in C++ Builder.
So you could store your mouse when not in use. I am not making this up.
Mine had three buttons though!
- No concurrency whatsoever.
- No Unicode support.
- In particular, no wide characters support (Chinese, Japanese, emoji).
Not that these are unsurmountable difficulties. But they need to be addressed before jumping to use the good old ways.
#define Uses_TKeys
line is from something like uses Tkeys
in PascalThe difference being that with Delphi/C++ Builder that made C++ extensions to interop with Delphi's object model, as such it is even the same code and no longer a port like in TV and OWL predecessors.
Console? Tick.
TurboVision theme? Tick. (lol)
https://github.com/jinek/Consolonia
> TUI (Text User Interface) (GUI Framework) implementation for Avalonia UI
> Supports XAML, data bindings, animation, styling and the rest from Avalonia.
For a decade or two I waited for a good CUA editor on Unix. One that took advantage of 1990s PC hardware. Like DOS Edit, but better. Built my own striped-down SET/RHIDE editor in the early 2000s, then hobbled along with "ne" from ~2010, but that niche was fully taken by micro a few years ago. Would love a friendly tvision-like competitor with real menus and dialogs.
But what about the color palette? I see one screenshot with an extended palette, but the main shots that are using the original eight-color palette. Maybe nostalgia shots, ok. Was acceptable to have saturated dark blue and dark green backgrounds in ~1990 I suppose, that's all there was. But no longer. A micro/sublime-like dark grey color theme of at least 256 colors would attract new folks more effectively. Backgrounds should have a low-saturation imho.
But I doubt it's the optimum for a text based UI, at least for most applications. Keep evolving!
> If applicable to the page/screen in question F5 provides a refresh function;
Why do you think so? When I came across the first Newt apps years later (Red Hat installer and tools) I was actually surprised how less user-friendly and intuitive these newer TUIs were wen compared to TV.
One big advantage of TV was that it was consistent: when you learned how to use one app, you more or less knew how to use all other TV-based apps.
You can use turbo vision for good interfaces though. Just have to be careful not to fall into the tropes of 30 year old pre-multitasking OS application design.
Here the TUI designer profits from being able to assume that the user can navigate using the keyboard, as opposed to implementing "keyboard shortcuts" as a purely additional feature. (The GUI on the other hand can use design 'tweaks' to minimize the wasted space and perhaps distraction that would normally result from showing an always-visible tab list.)
My GUI text editor is currently showing about 8 tabs out of a dozen, with ◂ ▸ at the ends. This is comparable to the number of cells in my terminal now, ~100, i.e.:
◂│doc_one.txt ╲ doc_two.txt ╲ doc_three.tx… ╲ doc_four.tx… ╲ doc_five.tx… ╲ │▸
This is 78 "characters" wide and has extra spaces. This is enough space for typical needs, and could work even on relatively dumb terms like the linux console, DOS of yesteryear. A vte high-color term with utf8, 120+ cells wide could potentially double capacity, in number of tabs, filename length, or bit of both.But of course Borland could fix that quite easily.
You might be right.. but I am not sure. Could Borland really sue you or something, many years they release the full source code "as is", "provided gratuitously", "no support", "no updates"? I mean it doesn't explicitly say "public domain", but if someone built software using this and then Borland tried to claim ownership of it or something, would that not be some kind of trap? It seems like any reasonable court would not allow that.. I would like to believe anyway.
DISCLAIMER AND LIMITATION OF LIABILITY: Borland does not make or give any representation or warranty with respect to the usefulness or the efficiency of this software, it being understood that the degree of success with which equipment, software, modifications, and other materials can be applied to data processing is dependent upon many factors, many of which are not under Borland's control. ACCORDINGLY, THIS SOFTWARE IS PROVIDED 'AS IS' WITHOUT EXPRESS OR IMPLIED WARRANTIES, INCLUDING NO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. THIS SOFTWARE IS PROVIDED GRATUITOUSLY AND, ACCORDINGLY, BORLAND SHALL NOT BE LIABLE UNDER ANY THEORY FOR ANY DAMAGES SUFFERED BY YOU OR ANY USER OF THE SOFTWARE. BORLAND WILL NOT SUPPORT THIS SOFTWARE AND IS UNDER NO OBLIGATION TO ISSUE UPDATES TO THIS SOFTWARE.
WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, NEITHER BORLAND NOR ITS SUPPLIERS SHALL BE LIABLE FOR (a) INCIDENTAL, CONSEQUENTIAL, SPECIAL OR INDIRECT DAMAGES OF ANY SORT, WHETHER ARISING IN TORT, CONTRACT OR OTHERWISE, EVEN IF BORLAND HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR (b) FOR ANY CLAIM BY ANY OTHER PARTY. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU. Use, duplication or disclosure by the Government is subject to restrictions set forth in subparagraphs (a) through (d) of the Commercial Computer-Restricted Rights clause at FAR 52.227-19 when applicable, or in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013, and in similar clauses in the NASA AR Supplement. Contractor / manufacturer is Borland International, Inc., 100 Borland Way, Scotts Valley, CA 95066.
Because otherwise what is the utility of releasing the source code of a programming library for free? Could they argue that it was only for educational purposes or something?
Again, seems like a trap if it's supposed to be interpreted otherwise. In which case why should such a trap be legal.
> basically an improved Turbo Vision for Free Pascal
The thing I'm thinking about would be to extract the alacritty render code and make it a library... But that's sure not easy to do...
my-beautiful-console-app
========================
#! /bin/bash
if tty -s; then
exec my-beautiful-console-app-for-realz "$@"
else
exec xterm -e my-beautiful-console-app-for-realz "$@"
fi
might be a start.Probably needs help with porting to node.js though: https://github.com/magiblot/tvision/issues/27#issuecomment-8...
Things like:
* the filesystem root being the desktop - so you started navigation from the first thing you saw when you switched the computer on
* the way the finder remembered the exact layout of your folder windows (if you've not experienced it, it's hard to explain why it's better - but Windows Explorer and the current Mac Finder are both file browsers, whereas the old Mac Finder *was* your desktop in whatever state you left it)
* kernel extensions being switched on and off by dragging them in and out of the extensions folder
These things made the GUI match the actual underlying system - whereas I always felt that Windows 95 onwards (and now OSX/macOS) hide the workings under pretty layers).
Having said that I also used Turbo Vision in the olden days and it was fantastic.
It was a hermetically sealed little environment--there were no updates or changes unless you popped a floppy disk in and made them. If you didn't do anything different it would boot up the next day just like it did the days prior. It wasn't until we started getting those machines on the internet regularly and started running a lot more background tasks, services, new software, etc. that they really started to degrade.
BTW, there was software which made W95/98 use HLT too. Rain, Waterfall, CPUidle, or something like that. Which became obsolete with W2000 which did that by itself.
Shrug.
Can't play much Solitaire or Minesweeper on a UNIX dumb terminal... The most fun you can have is flying around in a 3D-rendered filesystem.
If you've got a graphical terminal, like you'd need for your filesystem viewer, then you can do all sorts of stuff, of course.
But you can have TUI style on the web, this tui.css project is absolutely amazing IMHO: https://github.com/vinibiavatti1/TuiCss