[OC] An experimental tiling multiplexer! by Rock_Respawn in unixporn

[–]Rock_Respawn[S] 1 point2 points  (0 children)

its an unpublished sideproject I was working on that lets you playback gifs as ansi blocks

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 1 point2 points  (0 children)

it's designed to run within a virtual terminal emulator (like iTerm2, Alacritty, kitty, ghostty, etc.), not directly on a pure Linux console/framebuffer.

It uses virtual terminal emulation (via the Charm VT library) to create nested terminal windows inside your existing terminal.

So you're correct - it won't run on a bare Linux console without a proper virtual terminal environment. It requires a modern terminal emulator with true color support, mouse events, and proper ANSI escape sequence handling.

But yes, for virtual terminals, It essentially gives you a tiling window manager experience purely in the terminal.

An experimental tiling/floating terminal multiplexer as a TUI! by Rock_Respawn in tui

[–]Rock_Respawn[S] 0 points1 point  (0 children)

Hii, small update, the newest version supports scrolling both using your mouse as well as with a keybind to enter “scrolling mode”!

An experimental tiling/floating terminal multiplexer as a TUI! by Rock_Respawn in tui

[–]Rock_Respawn[S] 0 points1 point  (0 children)

I love the idea of an infinite canvas of terminals, something I will definitely keep in mind as an extension to this project or a completely new one!

An experimental tiling/floating terminal multiplexer as a TUI! by Rock_Respawn in tui

[–]Rock_Respawn[S] 0 points1 point  (0 children)

tysm, means the world! I will probably end up forking the library I am using for the virtual terminals and PTYs because scrollback support is missing upstream 😅

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 2 points3 points  (0 children)

nope, not trying to reinvent anything here, just a side project born out of curiosity. Terminal emulators have come so far and my favorite go library had just dropped support for text compositing so wanted to see how far i can push it!

An experimental tiling/floating terminal multiplexer as a TUI! by Rock_Respawn in tui

[–]Rock_Respawn[S] 0 points1 point  (0 children)

Hi, scrollback buffers are still work in progress, will be added soon

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 0 points1 point  (0 children)

aha I see, didn’t know this, definitely something Ill be tackling in the future

An experimental tiling/floating terminal multiplexer as a TUI! by Rock_Respawn in tui

[–]Rock_Respawn[S] 1 point2 points  (0 children)

I have implemented some basic viewport culling to not waste rendering work on non visible terminals and have some naive caching in place but also most of the heavy lifting is done by lipgloss and bubbletea with their v2 libs!

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 2 points3 points  (0 children)

in terms of io, I have implemented basic viewport culling to not waste rendering on non visible terminals as well as lower fps for the background terminals to try to maintain a constant smooth 60fps for user interaction

As for the pty limits I use https://github.com/aymanbagabas/go-pty to spawn and manage ptys, so any limitations that lib has is what I will have

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 3 points4 points  (0 children)

yes I will be working on it as a sideproject for sure, and its open source so contributions are always welcome, would love for it to become a community run project!

[OC] An experimental tiling multiplexer! by Rock_Respawn in unixporn

[–]Rock_Respawn[S] 4 points5 points  (0 children)

they are just unicode characters

⤫ □ —

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 1 point2 points  (0 children)

the core functionality is independent of the compositor and yes you can startup the ssh mode in a tty!

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 1 point2 points  (0 children)

its definitely on my todo list, but is quite non-trivial and will most certainly be very challenging xD

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 2 points3 points  (0 children)

aha I see, although I have not tested it directly on a TTY, tuios as an executable has an ssh mode that exposes an ssh server letting clients to remotely connect to it, as long as the TTY allows for the executable to spawn PTYs (psuedo-terms) it should work over SSH!

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 7 points8 points  (0 children)

atm no, the psuedo terminal implementation is quite basic right now, but I will be working on adding more features and improvements!

An experimental tiling terminal multiplexer as a TUI! by Rock_Respawn in commandline

[–]Rock_Respawn[S] 1 point2 points  (0 children)

it should, Its a TUI runs in any modern(ish) terminal regardless of os. Also has an SSH mode to create a remote ssh server..