If you want something slightly more like a traditional gui emacs application framework enables bidirectional communication with QT applications running in emacs frames.
Personally I use it to render HTML mail inside emacs with what amounts to embedded chrome.
The menubar is stuck in the 90s, the toolbar very very basic, even for the 90s. Window-Splitting is not even an GUI-feature and very basic. Only the tabs are somewhat modern, but also simple. COmpared to a modern GUI, emacs has barely anything that justify calling it GUI. Especially as most of those features are available in the terminal-version too AFAIK.
> If you want something slightly more like a traditional gui emacs application framework enables bidirectional communication with QT applications running in emacs frames.
Calling external apps doesn't make it a better GUI. And amount of connection between emacs and Qt is very limited. This is just a crutch to fill missing areas in emacs abilities.
You're confusing GUI with Windows GUI API. That's like complaining that a game like Stellaris barely has any GUI, because if you force it to run in windowed mode, then maybe you'll get a context menu dropping down from the application icon in the top left corner of the window.
Emacs absolutely has a GUI. It happens to be drawn almost entirely from characters, but it's a GUI. It uses the language, can display pixel graphics (in GUI-app mode), and even supports pointer devices. The fact that 99% of that GUI is a TUI is actually a benefit (you can also use it from terminal). And with third-party plugins, it has all the sophisticated GUI controls you could dream of, except unlike in traditional GUIs, they're fully interoperable.
A good comparison may be that Emacs is the OS that ships with a tiling WM, and most people unaware of that just use it to tile notepad windows.
That's a TUI, not a GUI. GUI means Graphic, not text, even if it's spatial.
> And with third-party plugins, it has all the sophisticated GUI controls you could dream of
No, it has not. I've tried enough of them to know how poor they work.
You can have new splits inherit the file you are already editing or show a blank buffer. Further closing a split doesn't kill the buffer or make you decide at that point whether to save a buffer it just destroys the view not the thing.
Native tabs interact with splits in one of two ways. Either as an array of window arrangements at top of window or an array of buffers within a particular split.
You can manually resize a split with the mouse and in fact you can create them via the file menu which also shows the key binding to activate the functionality beside the option ensuring that the 2nd through 10 millionth time you need the functionality you can just press a few buttons.
It's not opening external apps like clicking a link in your email and having your regular web browser open the url its creating a pyqt app within the space of your emacs/tab/split that you can interact with via elisp
https://github.com/manateelazycat/emacs-application-framewor...
Back when I was still into Emacs (2004) this wasn't possible.
I really meant like Jupyter Notebooks, interactive images and data structures, that you can click on and change to your pleasure and plug into Elisp code to be called back.
I don't use it much these days, having less need for that sort of highly interactive exploratory analysis, but I did find Jupyter highly limiting by comparison.
It was a particularly bad string of basic package incompatibilities that woke me from my emacs evangelist phase, but it was the realization that emacs was downstream from TextMate on several non-GUI-centric features that made me realize the entire "platform" value prop was bunk. While emacs might be excused for missing tectonic shifts (e.g. away from CLI and towards GUI), entirely text-centric features like multiple arbitrary simultaneous caret, Smith Waterman quick file/action search, powerful template substitution, parsing-based syntax highlighting, navigation, and refactor tools all developed and matured outside of emacs and then slowly and painfully found their way back in, not the other way around.
Emacs was supposed to be a fertile platform for text editing innovation, but history didn't work out that way, even if you ignore the trend towards GUI innovation, which you shouldn't.