Replies: 18 comments
-
Thank you for the kind words! |
Beta Was this translation helpful? Give feedback.
-
I would be glad if you have a desire to chat about how it works or what it is planned to build on its basis. Initially, It was a testing ground for the development of a terminal app framework. At some point, this led to the creation of an environment for terminal applications. The main goal is to create a framework that allows you to create cool terminal applications with minimal costs. Almost all UI is configurable declaratively. There is a flexible event processing system. All UI elements are multi-user aware, i.e. multiple users can interact with one UI widget. A minimal set of vt-commands is used for text output for maximum compatibility with most terminal emulators. UTF-8 is used everywhere and only UTF-8. Compile-time Unicode database synchronization is used to maximize support for the current Unicode standard, including character widths and grapheme clustering. Internally, only TrueColor is used for color support. There is a runtime-configurable vt-parser that can parse all vt-commands with any number of parameters in one pass, it has only one requirement - the known validity of the vt-commands. The prefilter is responsible for the validity of vt-commands. For maximum cross-platform compatibility, the project has no dependencies, except for the C++20 compiler 😀. |
Beta Was this translation helpful? Give feedback.
-
The craziest idea would be to apply this UI framework/architecture to a real GUI after it has been tested on text-based interfaces in terminals. Perhaps it will be possible to run the same binary both in the GUI and in the TUI with minimal or without any recompilation. |
Beta Was this translation helpful? Give feedback.
-
@o-sdn-o Sure thing, but I will need some time to explore it first. Maybe I can get to it at the weekend (if my vt525 experiments dont explode). Feel free to ping me back, if I dont make it in time. Your list of features sounds promising, esp. the multi-user thingy. This ofc immediately creates demands, like fine grained access roles (r|rw) and how to configure that. The whole unicode topic is a nightmare for myself (as we have to deal with multiple versions at once), and the unicode consortium basically forgot about terminals right after their first failed UTF-1 attempt. I second the idea, that grapheme clustering is a must have for modern terminals, but support is still lousy (we also have not yet integrated our playground branch). Regarding truecolor - imho thats already safe enough to use among most popular TEs.
You mean the lib would render to different output systems, where a TE is only one of it? Outputs that come to my mind:
Edit: |
Beta Was this translation helpful? Give feedback.
-
Exactly, in the simplest case, you only need some kind of intermediary rasterizer of a cell array into a graphic bitmap, as well as handling keyboard and mouse events, something like TE-microlight. Edit: The binary that encapsulates a tiny TE for rasterization.
Interesting, didn’t know about that. |
Beta Was this translation helpful? Give feedback.
-
The first such application will be the built-in vtm terminal. It will become a full-fledged cross-platform TE. |
Beta Was this translation helpful? Give feedback.
-
At the moment, the |
Beta Was this translation helpful? Give feedback.
-
Just dropping a side comment…I like the idea!!! And, I can test on a Mac or Linux when/if you get to that point. |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
Just wanted to add myself to the amazed list! |
Beta Was this translation helpful? Give feedback.
-
@tomek-szczesny Thank you for your feedback! |
Beta Was this translation helpful? Give feedback.
-
Guys this is the craziest thing I've ever seen in my life I still have no idea how this works 😆 but it just does |
Beta Was this translation helpful? Give feedback.
-
Just heard about this today, this is really neat! Love the animations and drag-and-drop. |
Beta Was this translation helpful? Give feedback.
-
@o-sdn-o Just now reading the rest of this thread, and you mention being open for discussion. So hello! (And hi again @jerch ! It's been a while.) Technologically, I would like to see the terminal as a viable medium for both work and art. I don't know if it will persist in its current form long term, but then projects like yours (and I LOVE the styling and advanced game aesthetic) show that a little bit of support in terminals does indeed go a very long way. BTW would it be ok if I link to your projects? |
Beta Was this translation helpful? Give feedback.
-
@klamonte I am very glad to see you! As you can see, vtm uses the minimal functionality of the terminals, which is enough to display absolutely everything that can be displayed in the terminal window. The terminal serves only as a canvas, and behind this layer can be anything, the most sophisticated GUI for example. This approach significantly expands the scope of use of terminals. Here, most likely, we are already talking about a wrapper for any kind of applications that adapts the output to the canvas in the form of a terminal viewport. The main foundation on which such a wrapper is based: Unicode characters, Trucolor FG/BG, input devices - keyboard and mouse.
of course, this is done for everyone, at least for the sake of a source of inspiration. If it inspires someone or makes their work more productive, then that will be great! 😀 |
Beta Was this translation helpful? Give feedback.
-
Cool, I've got a couple spots to put a link on. I will try not to hassle you with too many issues at once. :-) I am excited to see wherever it is your vision takes us to. |
Beta Was this translation helpful? Give feedback.
-
I see you on Twitter, but it looks inactive. Still, I tagged you on a thread: https://twitter.com/AutumnMeowMeow/status/1489228917030502407 I've only got 11 followers, so this won't go anywhere, but: thanks for the inspiration! :) I hope more people check out vtm. |
Beta Was this translation helpful? Give feedback.
-
I have searched months for a project like this, then stop searching, and then discovered this by accident... Thanks for an amazing Desktop for my text-servers! |
Beta Was this translation helpful? Give feedback.
-
Not an issue at all :)
This is the craziest most innovative stuff I've seen around terminals in a long time. This virtual desktop/views idea really lets you forget, that you are in a terminal emulator. It feels more like one of those assembly based OS with a fixed monospace font. 😸
Beta Was this translation helpful? Give feedback.
All reactions