[HN Gopher] Vtm: Text-Based Desktop Environment
___________________________________________________________________
Vtm: Text-Based Desktop Environment
Author : klaussilveira
Score : 290 points
Date : 2025-03-07 17:12 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| pvg wrote:
| A big thread five years ago
| https://news.ycombinator.com/item?id=24243521
| evanjrowley wrote:
| The main link in the thread appears to have been taken over by
| a malicious entity.
| arcanemachiner wrote:
| dang replaced it with an archive link and pinned a comment at
| the top telling the story. What a G.
| stuartjohnson12 wrote:
| I've never seen a forum moderator of a place as full of
| anxious nerds as Hacker News steward a ship this well. May
| we all aspire to Dang's heights.
| accrual wrote:
| We've come full circle. We invented a GUI to replace the TUI,
| then reimplemented the GUI in the TUI. Long live the terminal!
| ninetyninenine wrote:
| We've done it twice. Many terminals run under electron or
| equivalent browser interfaces. So we've implemented TUI in the
| GUI as well!
| hnlmorg wrote:
| That's also applies to literally every terminal emulator
| written since xterm.
|
| Most of the modern terms these days have GPU acceleration
| too.
| ninetyninenine wrote:
| No. This isn't true. Most terminals are native. They don't
| run under a browser engine.
| hnlmorg wrote:
| A browser engine isn't a prerequisite for something using
| a graphical framework nor running on a desktop
| environment
| ninetyninenine wrote:
| Ah I see what you mean. I mean it's all pixels in the end
| right? and pixels are primitives for guis. So then the
| root primitive is in actuality the gui.
| tomxor wrote:
| That sounds like the worst thing ever. So many good native
| terminals to choose from why ruin it with electron.
| cmrdporcupine wrote:
| Revenge of DESQview
| leejoramo wrote:
| I used DESQview for a number of years, and always think about
| it when see new TUI systems
|
| https://en.m.wikipedia.org/wiki/DESQview
| sushidev wrote:
| I tried to use desqview but it was too slow on my 386 33mhz
| machine... not sure how much RAM it had back then but I
| recall it was the bottleneck and swapping to disk caused
| everything to lag.
| lproven wrote:
| I think you are confusing old memories here.
|
| DESQview did not do any memory management of its own, and
| it did not use graphics. It was entirely local and had no
| networking. It was famously fast. It was a DOS
| multitasker so it managed DOS tasks, meaning multiple
| slots of 640kB. On a 386 with 4MB of RAM you could have 6
| full-size DOS VMs with a bit left over.
|
| If you were a power user you could still have say a big
| 1-2-3 spreadsheet in EMS _plus_ a few DOS VMs.
|
| DESQview delegated memory management to QEMM386, and
| QEMM386 did not do swapping. It didn't need to.
|
| DESQview/X was a totally different product, with a full
| GUI, so much bigger and slower -- and it added an
| optional extension that added full virtual memory with
| swapping to disk.
|
| I am wondering if you are mixing up DESQview (small,
| fast, local) with DV/x (big, complicated, networked, had
| optional VM)?
|
| Or indeed DV/x with something else altogether? OS/2
| maybe?
|
| Because if it was swapping, it wasn't DESQview, not in
| any normal sane config anyway. It might be possible to
| add DV/x VM to plain old DESQview but I never heard of
| anyone doing that.
| nxobject wrote:
| It's funny - I think of DESQView/X, their fully compliant X11
| server complete with both Motif and OpenLook. The exact
| opposite of vanilla DESQview.
| throwawayForMe2 wrote:
| I also remember the first version of Smalltalk from Digitalk
| that was character based and windowed. It was called Methods.
| I can't seem to find any reference to it on the web now.
| igouy wrote:
| "Methods, our character-based Smalltalk, is now available
| for $79- It has all of the features of Smalltalk/V except
| graphics, rules, source-level debugger, and object-
| swapping. However, it supports color, includes the
| communication package, and does not require a mouse."
|
| magazine page 97
|
| https://archive.org/details/byte-
| magazine-1986-10/page/n108/...
| xkriva11 wrote:
| It is downloadable on WinWorld.
| pjmlp wrote:
| Just like whenever I see someone praising Ratatui, what comes
| to my mind is Turbo Vision, Clipper and curses.
| fragmede wrote:
| run it through aalib for good measure
| CaffeineLD50 wrote:
| Totes.
| pantulis wrote:
| The demo video has a lot of Borland's Turbo Vision vibes.
| pjmlp wrote:
| It was a great framework, it was my path into OOP, after
| learning it previously in TP 5.5 (TV was released alongside
| TP 6, and Borland C++ 3.0), and its design was quite
| pragmatic.
| hidelooktropic wrote:
| Yeah. Am I missing the point that this leans so far into being
| as capable as a GUI as it can, that we lose something from
| starting in the terminal in the first place?
| fmxsh wrote:
| I was exploring why Linux terminal environment is so powerful
| compared to Windows terminal. Windows is built at the kernel
| level to support graphics and GUI, while *nix systems are
| built with terminal at the core. Thus Windows historically
| has had way more powerful GUIs. They are two different
| domains of power. Each of them also trying to do what the
| other does better.
| pjmlp wrote:
| Every desktop OS has been like that, UNIX is the exception,
| as it was originally designed for a timesharing headless
| system.
|
| And with exception of command.com, most have had good CLI
| shells, without having to pretend being a teletype, like
| UNIX ones.
|
| Amiga DOS with REXX was great, Oberon REPL, Smalltalk
| Transcript, Interlisp-D REPL, Xerox Star Mesa XDE,....
| -__---____-ZXyw wrote:
| Interesting perspective. I've poked at the medley
| interlisp revival project, as well as glamorous toolkit,
| and cuis, but hadn't heard about most of the things you
| mention here. Will be investigating.
| gjvc wrote:
| There was something similar a few years ago which ran over an ssh
| connection and had a zoomable ui of sorts. I can't find the link
| -- does this ring a bell anywhere?
| qrobit wrote:
| I don't completely understand what is meant by "zooming", but
| kitty[^1] does that: you open ssh connection with `kitten ssh
| user@host` and pressing <C-Enter> will open another ssh pane in
| the same tab, you can than IIRC <C-F> to "zoom" and make tab
| take full window
|
| [1]: <https://sw.kovidgoyal.net/kitty/>
| gjvc wrote:
| not the same zooming. imagine a text mode ZUI --
| https://en.wikipedia.org/wiki/Zooming_user_interface
| yjftsjthsd-h wrote:
| It really is tragedy that there aren't more ZUIs in the
| wild. I'd love a compositor (X11 or Wayland; it's probably
| not just a wm) that made all windows arbitrarily zoomable,
| but I lack the skill to make it myself.
| nix0n wrote:
| Zooming all windows at once exists as a Gnome shell
| extension.
|
| https://extensions.gnome.org/extension/7263/better-
| desktop-z...
|
| Probably it would be possible to zoom one window at once
| as a shell extension.
| smusamashah wrote:
| It was this very tool. It could be sshed into with
|
| ssh vtm@netxs.online
|
| That domain is dead now
| gjvc wrote:
| Hooray, thank you!
|
| When I said "zooming" I was thinking of the white tethers
| attached to each window which would pull them back into a
| centre bundle. You can see what I mean here:
| https://changelog.com/news/a-textbased-desktop-
| environment-i... at the bottom left, the lines going off to a
| single point.
|
| actually, by zooming out, I can still see the tethers on the
| windows. The ssh version was quite mind-blowing back when...
| o-sdn-o wrote:
| This is the same thing as the public demo back then via
| 'ssh vtm@netxs.online'. There are no public demo servers
| running now, but you can still ssh to your running vtm
| instance with any number of connections. In case of using
| MS Windows you can even get the output in a standalone GUI
| window via 'vtm ssh user@unixserver vtm'.
| gjvc wrote:
| am I imagining it, or were there more features in the
| original public demo?
| o-sdn-o wrote:
| Now vtm is the same as it was running on demo servers. In
| the modern version, the fading effects and window shadows
| are disabled by default in the settings. Perhaps the
| fading effects were removed as unnecessary.
| o-sdn-o wrote:
| There were demo apps in the menu, they are still there:
| 'vtm --run text', 'vtm --run calc', 'vtm --run test',
| 'vtm --run truecolor'... You can play with it by running
| them directly inside the vtm desktop, by typing (or right
| click to paste) commands like vtm.desktop.Run({
| type='calc' }) in the 'Log Monitor' command line.
| deadbabe wrote:
| I wish some web apps would adopt this pure text design language
| jf wrote:
| The text heavy emphasis in the UI is one of the things that I
| used to love in the Windows Phone
| genpfault wrote:
| http://www.coboloncogs.org/INDEX.HTM
| jimmydddd wrote:
| Who is the target user for this?
| Defletter wrote:
| Assuming this works over SSH, then presumably people who are
| literate with a terminal but prefer GUIs.
| johnisgood wrote:
| Damn, that would be quite cool.
| rangerelf wrote:
| It does (work over ssh). Pretty neat: reconnect to the host
| and you see all the terminals you left open.
| thesuitonym wrote:
| People who think it is cool, I guess.
| munk-a wrote:
| People who were looking for a TTRPG in the modern setting and
| ended up being deeply confused and converting their entire
| computer environment into a powerful runic device that requires
| complex incantations - though maybe those folks would have been
| better off looking for Mage the Ascension.
| yjftsjthsd-h wrote:
| > and converting their entire computer environment into a
| powerful runic device that requires complex incantation
|
| I already have a Linux machine, but yes this looks like a
| nice addition;)
| CaffeineLD50 wrote:
| Crazy text fanatics, lynx browser users, console minimalists,
| desktop ricers, AI fearing cult members: the usual suspects.
| hnlmorg wrote:
| I know I'm missing the obvious here, but is this a terminal
| multiplexer (like tmux)? Or a tiling terminal emulator (like
| iTerm, et al)?
| Retr0id wrote:
| Neither, it's its own thing. Most similar to tmux, but you
| interact with it more like you'd interact with a graphical
| window manager.
| pancsta wrote:
| So tmux with floating panes and drag-n-drop.
| cryptonector wrote:
| With tiling, I think.
| safety1st wrote:
| The Youtube video embedded on their Github is titled "Tiling
| Window Manager with Drag&Drop" and from watching it, that
| appears to be exactly what this is. I don't know if or why it
| artificially constrains itself to only opening terminals.
| colecut wrote:
| The whole thing runs inside of a terminal, it would be hard
| to open anything else
| o-sdn-o wrote:
| It's scary to do something more complex than a terminal
| emulator until the architecture is unstable. In case of small
| changes we will have to rewrite a lot. You can play with a
| couple of built-in demo apps 'vtm --run text', 'vtm --run
| calc', 'vtm --run test', 'vtm --run truecolor'. You can also
| run it directly inside the vtm desktop by typing
| vtm.desktop.Run({ type='calc' }) in the command line of 'Log
| Monitor'.
| smackeyacky wrote:
| Reminds me a lot of the Apollo workstation.
| russfink wrote:
| That makes two of us.
| jacobegold wrote:
| I feel like an LLM agent could grok and interact with something
| like this pretty well...
| VanillaCafe wrote:
| Trying to understand it... if by comparison I'm using tmux then
| switching to something like this adds mouse based window (panel)
| management?
| dmd wrote:
| I'd love to see some of these ideas folded into Zellij.
| CaesarA wrote:
| I always wondered if it was possible to have a TUI-style window
| manager inside the terminal. This is a fantastic project, whoever
| made it did a great job.
| CaffeineLD50 wrote:
| The demo looks great but I'm twice shy from having been bitten
| a few times.
|
| It can't just be pretty.
| grafelic wrote:
| Something like dvtm?
|
| https://www.brain-dump.org/projects/dvtm/
| CaesarA wrote:
| A little bit actually, yeah. This looks great, thanks.
| nine_k wrote:
| My TUI desktop environment, complete with a tiling window
| manager, is called Emacs %) I suppose Vim can offer a
| comparable experience.
| celsius1414 wrote:
| To paraphrase the old vim joke, emacs will be great once they
| add a text editor. ;)
| dgsm98 wrote:
| When I first read this, I thought this was an open source project
| by DirectTV
| TheLockranore wrote:
| I use terminal specifically to _not_ need a mouse. I use a great
| many TUI tools, but this one is never going to be one of them.
| shric wrote:
| If it had i3/sway tiling behaviour/bindings, that would be
| great.
| lostmsu wrote:
| Potentially relevant for using this vs GUI for remote access: AV1
| can compress 4k+ screen casts in real time to under 500kbps while
| keeping text legible.
| CaffeineLD50 wrote:
| This looks unbelievably bad ass.
|
| I cant wait to try it.
| mixmastamyk wrote:
| Now that we have high resolution, millions of colors, and unicode
| in our terminals, this is the logical conclusion.
|
| Still doesn't make a lot of sense, but I like it. :-D
| joshu wrote:
| has anyone tried building it from source?
| o-sdn-o wrote:
| Building with gcc requires ~4Gb of RAM; clang requires ~8Gb.
| Due to memory requirements, building vtm for a 32-bit target is
| only possible using cross-compilation. In addition, cmake
| downloads Lua sources during the build process.
| fmxsh wrote:
| Looks very smooth!
|
| However, from my perspective, the extensive need to drag windows
| around and resize them is a habit of windows environment. So,
| perhaps, this is for the mouse what tmux and Neovim are for the
| keyboard.
|
| In tmux, the window layouts I need are fixed sets of 2x2 panes,
| with some predefined ways of resizing them and toggling full-
| screen. With effective tools like telescope and nvim, the need to
| line all windows up disapears, because the switching is so
| efficient and I have more of a mental picture than a visual one
| of what's available. For example, no need for the file tree
| commonly to the left in most IDEs.
| haolez wrote:
| I thought like you in the past. Today, for some reason, I value
| defaults and reducing my cognitive load so that I can think
| more and do less. Even Eclipse would work for me nowadays :P
| fmxsh wrote:
| I remember Eclipse! That was something like 20 years ago I
| used it last time. Thanks for bringing back some memories.
|
| Setting up an efficient terminal environment is overwhelming.
| I do it as a hobby and enjoy the tinkering. Thanks to GPT the
| process is quicker. But I spent a lot of time just setting up
| a basic environment.
___________________________________________________________________
(page generated 2025-03-08 23:01 UTC)