Repository navigation
Replies: 2 comments
|
@imsnif Very interesting. I'll definitely have a go at prototyping some of it on Windows. |
|
@imsnif I am extremely intrigued by this idea. Zellij has excellent UX already, and the sheer customization capability of Zellij combined with the ability to act as a desktop environment sounds simply amazing, especially for the coding agent era. Wanted to share a tool that might be helpful for the Linux prototype, my tool waypuppet, which I've used to help me build GUI applications for Linux. A few reasons I find it useful:
I have a few ideas:
Unfortunately, I'm not as knowledgeable on many of the non-networking/non-systems concepts and will need to read up before I can meaningfully contribute. Happy to help once I've had a chance to read more, I would absolutely use this as a daily driver, especially on my laptop. |
Uh oh!
There was an error while loading. Please reload this page.
Zellij was never meant to only live in the terminal, and the last year has shown its progression: first into the browser with the web-client, and now into the desktop with the built-in terminal. We're now building it into something greater: a terminal-first desktop environment. Allowing those who love the terminal to invert the GUI-imposed order. Live in the terminal, run GUI apps such as browsers and photo editors inside your TUI as separate panes and tabs.
The basic functionality of Zellij will not change: it will always be a terminal multiplexer and allow current users to keep their workflows. Additionally, they'll be able to integrate their GUI needs into them if they so wish.
This thread is the start of this work. Nothing is implemented yet, and I'd like to invite those who wish to participate to get in on the ground floor. So, what's next?
Guiding principles
Directions of research
1. Zellij as a Wayland compositor
The most likely foundation: Zellij acts as a (nested) Wayland compositor, GUI apps connect to it, and their surfaces get composited into pane rectangles. Smithay is the Rust candidate.
2. Rendering, one surface, three targets
Zellij runs in three places now, and each one needs a way to show a GUI surface:
3. Window management semantics
How do GUI concepts map onto Zellij's?
firefoxthe same way it includeshtop?4. Input and integration
5. Detach, reattach and remote sessions
Zellij sessions survive detaching. Could GUI apps too? Detach from your desktop, reattach from another machine (or a browser via the web client), and your browser tabs are still there. This might be one of the most cool features, and it overlaps heavily with direction 2.
6. Plugin API
What should plugins be able to do with GUI panes? Launch, arrange, observe, screenshot, inject input?
7. Beyond Linux
What would this look like on macOS or Windows, if anything?
Prototypes wanted
This is where you can have the most impact right now. Each of these is a self-contained spike that answers a real question:
Ground rules for prototypes:
How to take part
Let's do this!
All reactions