The creator of infinite vertical scrolling in social media, [Aza Raskin], infamously regrets his creation that has helped to waste a tremendous amount of human attention and time on the Internet. But that’s vertical scrolling. [bujna94] has created infinityTerminal, a program with infinite scrolling, but in the horizontal direction instead. This tool has had the opposite effect to go along with its opposite orientation: increased productivity and improved workflow.
The impetus for infinityTerminal is [bujna94]’s need for many simultaneous SSH sessions, and the fact that no other terminal program can support an indefinite number of visible terminal windows. This application starts with four terminal windows in a 2×2 grid, and allows the user to open more terminals, two at a time, to form a 2xN grid. As many terminals as needed will open in pairs in the horizontal direction with smooth, trackpad-compatible scrolling and automatic color-coded backgrounds for servers accessed by SSH.
For anyone with a similar dislike of tabs like [bujna94], this might be worth trying out. It’s built with Electron, xterm.js, and node-pty.
There are a few more details about the project on a Reddit post. [Bujna94] also made it completely open source and freely available with the files on a GitHub page, and welcomes anyone to try out his creation that wants to. For more terminal magic, we’d also recommend checking out Notcurses, a terminal application capable enough to output SNES-level detail natively.
At last! Tabs are an awful concept – they prevent side-by-side comparisons and they hide things you know you had open somewhere.
Depends on how they’re implemented.
In Vim, for example, all of your tabs apply to all of your panes. You can have two panes open side-by-side, then switch to any tab from either pane.
I quite like tabs. They help with organizing more screen real estate then what fits on your window, but it is a compromise.
And I really like the way that Firefox implements tabs. You can simply drag a tab out of the window, and it becomes it’s own window, so you can use it to compare stuff. And when you’re done with your comparison, you can drag it right back and it will dock into the old (or another) open firefox window.
Tabs hide things you know you had open? Like minimizing windows, or switching workspaces? Object permanence isn’t that difficult. Tabs “prevent side-by-side comparison” until you move two windows side by side by separating out the tabs? It’s not terribly complex to remember your opened things even though they aren’t on the screen, and it’s also not complex to pull a tabbed item into its own window to place beside the first. That has huge “Doors aren’t good because when you need to go through the opening, they’re closed” energy.
seems more like a scrolling tiling WM than a wide terminal…from the headline, i was imagining like “stty columns infinity”, which no one wants.
i have to work something out when i do want side by side — which i rarely do — but for this purpose i use screen(1). i’ve gotten ever more ambitious about separate and sometimes-nested screen sessions, to the point where i have at least a dozen shell sessions open at any one time, but most of them aren’t attached.
when i see a tile of windows like this i just feel like people’s monitors are too big and too close to their faces. it doesn’t quite fill the whole screen but i typically am only actively using one xterm at a time.
My assumption was just that, in the sense of at least allowing wide output for non-curses-based output allowing you to swipe sideways easily to scroll over nicely-formatted wide output.
But I was disappointed that it brought nothing my tiling WM doesn’t already provide (I assume, I’ll admit I just made a cursory look).
terminal emulator made an electron app… not about the footprint I guess ?
Multi terminal with horizontal scrolling in these days of wider screens is a smart thing, that said I’d happily go with a double side by side terminals with tabs … wonder if it’s possible with quake style drop down configuration.
so basically installing a full web browser just to run a terminal… thanks but no thanks
I’ll just keep using screen and emacs eshell
Hey that’s pretty damn coo– “it’s built with Electron and JUST SO MUCH JAVASCRIPT” ALRIGHT, I WAS WRONG. Let’s run something only sightly less complex than the Linux kernel itself, with only slightly less overhead than Photoshop on Windows, to do lightweight CLI stuff. I abhor Electron when it’s JUSTIFIED. I guess it’s better than yet another GPU accelerated terminal that doesn’t support more than the basics.