TabInator: a cool tab management tool that you should totally not use

Presenting… the TabInator!

Got too many tabs? Of course you do!

With just one easy command, this utility collapses many tabs into one, and then restores the individual tabs whenever you want.

Have 200 tabs and just want to focus on 3? No problem! Just use the TabInator and collapse the other 197 into one tab.

Want the 197 back? Nothing to it! Just type another single line of code and they’re all back.

It’s great! It’s fun! It’ll make life worth living again!

… except totally don’t use it!

Really, actually, don’t. Play with this demo all you want but don’t use it in a real project.

Right now there’s a weird bug that can cause certain project tabs to fail to save changes, meaning that you might close a project, open it up again, and find your most recent changes are gone. It’s not 100% clear that this bug is related to reading and saving tabs, but they seem to be connected somehow. So please check this out (I think it’s cool and TBH I’m surprised how well it works)—but don’t use it in a real project for now. When everything’s cleared up I’ll update this thread to say it’s safe to use in real projects.

@UberGoober How do you select which tabs of the 200 you want to collapse and which ones you don’t. That sounds harder than just working with 200 tabs. I don’t have large programs, so I don’t have the tab problem. But I remember something a long while back with tabs where you could see a drop down scrollable list of the tabs and select from there. Don’t know it it’s still there, at least I couldn’t get it to show.

@dave1707 did you run it? It’s super simple. It just takes a table of tab names and a string for the new tab name to put them under.

If you wanted to collapse all but 3 out of 100 tabs, it would be up to you to use listAllTabs (or whatever the precise term is) to get a table of all names, then filter out the 3 you want to keep, and then send the rest of the names to the TabInator.

I suppose it wouldn’t be hard to add a function collapseAllExcept(tableOfExceptions, collectionTabName), but I don’t think there’s clamor for it. :wink:

@UberGoober I guess if you have a table of all the tab names, you could comment and uncomment the tabs you want to work with. That would be easy enough.

I figured out the scrollable tab list. You have to be in portrait mode. From the Do icon (upper right) tap Reference. Then tap the Main tab. To scroll, have your finger moving either up or down as you touch the list. Tap a tab name to open that tab.

@dave1707 it’s still hideously unmanageable if you have too many tabs. Even around 12 or more tabs gets cumbersome. Maybe you can’t understand if you haven’t been there.

@UberGoober I can load Cargo-Bot or Ron’s code that has a lot of tabs, so even though my projects don’t have a lot of tabs, I can load projects that do. But what would I rather do, load a tab to scroll through a table of tabs to comment and uncomment tab names, run your program to load/hide tabs, then open the tab I want only to do that every time I want to change something in a different tab I didn’t load. I think it would be easier just to scroll thru the tabs across the top.

@RonJeffries to each their own. We all make our nests in our tedium of choice. :slight_smile:

I should maybe point out that with this system you can also create multiple tab collections, you don’t just have to have everything on one single tab. you could make a UI tab and a logic tab and an Internet communications tab, or whatever.

I don’t know, maybe it’s not any good, I just wanted show how it could be done. If I was pursuing this more I’d look into using json to make tab-collapsing faster. But I don’t think I will.

@UberGoober Did you mean to comment to me and not Ron in the above post. Like you said, I don’t have a lot of tabs in my code so I don’t know the frustration that anyone has with a lot of tabs. But to me it sounded harder to do.

@dave1707 Ron commented on this in another thread where I brought it up. Sorry I got my wires crossed. I wouldn’t necessarily advocate for this, it’s just that I wondered how hard it would be to do, and it wasn’t all that hard