Home » Developing U++ » U++ Developers corner » U++ talk
|
|
|
|
|
|
| Re: U++ talk [message #61931 is a reply to message #18047] |
Sat, 21 February 2026 11:57  |
Oblivion
Messages: 1254 Registered: August 2007
|
Senior Contributor |
|
|
Just to put a historical note for others here, before the official announcement (which is just a couple of weeks away), etc.
Quote:IMO the actual problem of "pixel" gui in text mode is simple - how to represent widgets and dialogs, originally designed for "real" pixels, in environment where 1 pixel == 1 character.
E.g. think about all those Frames in EditFields.
Therefore I am afraid that text mode GUI would require heavy adjustment to everything -> it is perhaps easier to design it from scratch (not to use CtrlLib). OTOH, Ctrl itself has perhaps suitable interface....
This is already done and going to public in the first quarter of 2026.
Windows, frames, ctrls, timers, "chameleon", and all other core/architectural issues are already resolved and EditField, DocEdit etc. is already in place. This is going to expand the Upp to the world of terminals and TUIs (in a cross-platform fashion).
Yet Upp::Tui is not a port, it is indeed written from scratch by utilizing the same concepts, architecture (+api) and core classes.
Some "cool" videos, screenshots and code examples can be found on U++ discord server. 
And you might be suprised how powerful it is. (ıt does some cool tricks that no other open source TUI does, at least not that I know of)
A hello world example
#include <TuiLib/TuiLib.h>
using namespace Upp;
using namespace Upp::Tui;
CONSOLE_APP_MAIN
{
Session session;
PromptOK(session, t_("Hello, world."));
}
This creates a modal window (Z-order aware, focus-managed, keyboard and mouse enabled, cursor-synchronized repaint-correct event-loop driven) with no global state, no boilerplate, and no terminal-specific code, not to mention the generated exe code size is under 1MB on linux (and ~660K of it is Upp/Core, not tui related).
tested on all popular modern terminal emulators (including Bobcat & Windows Terminal, and, yes, plain linux console) and works on linux, Windows, macOS. Out of the box (check the attached video).
Best regards,
Oblivion
Github page: https://github.com/ismail-yilmaz
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Sat, 21 February 2026 13:47] Report message to a moderator
|
|
|
|
Goto Forum:
Current Time: Sat Feb 21 23:59:12 CET 2026
Total time taken to generate the page: 0.08699 seconds
|