12
submitted 2 days ago by tomenzgg@midwest.social to c/emacs@lemmy.ml

I was vaguely aware of them but presumed they'd been added mostly for those who were more used to that UI convention: not something long-time users of Emacs might really need but Emacs (as usual) trying to accommodate all types of usage styles or preferences.

But, trying it out the other day briefly out of curiosity, I noticed that tabs could hold their own window configuration/layout (which, like, makes sense but hadn't dawned on me).

And I started thinking that I could use them in the same way I tend to use desktop workspaces: organizational buckets to put groups of windows in.

I've used registers to save particular window layouts but that has the added effect of, also, saving the point, as well (which, while I could keep saving to that register so I don't end up at a totally different portion of the file when I try to go to the layout, it's certainly less than ideal).

Tabs seem to keep track of your most recent buffer, per tab, – as well – so I can have each tab be their own little environment. I could open up Elfeed in one (along with all of the new buffers that might generate), a Magit buffer and various files from that repo. in another, and Wanderlust to check my E-mail in a third. And, whenever I switch to one, whatever other buffer I'd been working in before the current buffer of the tab is just a switch away because each tab keeps the correct buffer order of what was done in it.

Maybe this isn't new to anyone else but I rarely see people talk about tabs (other than brief, once-in-a-blue-moon mentions) but, while maybe not suitable for every person's workflow, this is yet another way the flexibility and power of Emacs just blows anything else out of the water, to me. It's such a useful iteration on the common UI structure.

Just wondering if anyone else uses them, found any pitfalls with them, etc. Mostly curious about people's experiences and if it's as infrequently used as my impression originally was.

top 6 comments
sorted by: hot top controversial new old
[-] oantolin@discuss.online 1 points 1 day ago

As you say, they are basically just window configurations, so I do use them ocassionally. If, in addition to remembering an Emacs window configuration I also want to remember whether the frame is maximized or not, I will use frames instead of tabs. I used to put window configurations into registers, before tabs existed, but tabs are better because when you put a window configuration into a register it even remembers the location of point in every buffer. This means that when you restore the window configuration from the register, points get restored to where they were when you stored the configuration, not to the last time you were using it. In this sense tabs are like window configuration registers that automatically update every time you switch away from them.

[-] aard@kyu.de 2 points 2 days ago

And I started thinking that I could use them in the same way I tend to use desktop workspaces: organizational buckets to put groups of windows in.

I use eyebrowse for that - also gives me that functionality without wasting space with useless UI elements

[-] oantolin@discuss.online 1 points 1 day ago

Tabs only have "useless UI elements" if you want them to! This is Emacs, after all. To use tabs without displaying any UI element set tab-bar-show to nil.

[-] Trent@lemmy.ml 4 points 2 days ago

I use them with the activities package. It's handy to be able to open a tab with a given arrangement of windows with specific files open in them.

[-] bledley@lemmy.world 2 points 2 days ago

Don't find much use for them personally but some are in the tabs frame of mind and some are in the buffers, whatever works for you.. I just think in buffers and the buffer list. Maybe if I have a very separate set of work going on I might want to put it in a tab. I think of tabs in Emacs more like a workspace or session (ala Tmux)

[-] j4k3@lemmy.world 3 points 2 days ago* (last edited 2 days ago)

Keeping my buffers tabbed helps. I've been keeping my packages config with another for gptel while comparing all of the Deepseek R1 distilled mergers with Qwen 2.5 Coder models I can find, and another for my actual project of trying to connect a MSP430 uC from scratch... or hopefully soon. Tabs help keep the three scopes mentally sorted but I also use the menu and file bar.

Edit: Someone track this down vote troll and ban them please

this post was submitted on 05 Apr 2025
12 points (100.0% liked)

Emacs

2461 readers
3 users here now

Our infinitely powerful editor.

founded 5 years ago
MODERATORS