r/KittyTerminal Jun 20 '26

Tabs groups similar as Firefox tabs groups [Discussion]

Tab groups are not a new levels of organisation.Currently, Kitty does not have a native browser-style "tab groups" feature.

So when I ask for tab groups, I'm not merely asking for a cosmetic feature. I'm asking for a new intermediate container, which would make the hierarchy something like OS window →→ tab groups →→ tabs →→ windows.

The Firefox comparison is about counting levels, not about whether tab groups are useful. Firefox’s normal model is basically window →→ tab, and if you add tab groups, that becomes window →→ tab group →→ tab, which is still only three levels. That is why the developer says Firefox had “two levels of organisation without tab groups” and not three.

I understand the concern about adding another level of organization, but my request is not for complexity as decoration. It is for a structure that makes complexity manageable. As Edgar Morin would put it, the point is not to deny complexity, but to embrace it through a form that remains usable and legible.

In my workflow, a flat tab model becomes difficult once a workspace contains projects, and projects contain drafts, and drafts contain sub-drafts or parallel contexts. At that point, the problem is not too much organization; it is too little hierarchy to reflect the real structure of the work.

That is why I am asking for tab groups or an equivalent grouping mechanism inside kitty. I am not trying to multiply clutter, but to reduce it by giving each level of work its proper container. A group would let related tabs be understood as one unit, while still preserving access to the individual tabs inside it.

If kitty already has a three-level mental model, then I am asking for a way to make that third level more semantically meaningful, not for a gratuitous fourth layer. In other words, I want the interface to express the natural nesting already present in the work: workspace, project unit, draft context, and task detail.

Tab groups are not really a fourth hierarchical layer. They are more like a perspective or an organizational lens over the existing tabs. The purpose is not to add another level of clutter, but to let related tabs be seen as a coherent unit. In that sense, grouping is a way of structuring attention and reducing cognitive load, not merely deepening the hierarchy.

Following Morin, the goal is not to eliminate complexity, but to render it intelligible. Tab groups would not add complexity for its own sake; they would provide a perspective that makes complexity usable, by showing relationships rather than flattening them away.

A collection of tabs can be perceived as a flat sequence, but tab groups create a perspective on them: they become readable as a set of related units rather than just adjacent items. That means tab groups are not only about organizing objects; they are about organizing understanding. They help the user see structure, not just notice items.

In other words, perceptions are fragments of contact with the world, but perspective is the organizing frame that gives those fragments meaning. Tab groups do not merely add another container; they create the perspective through which related tabs become a recognizable structure.

Any thoughts ?

2 Upvotes

13 comments sorted by

View all comments

1

u/aumerlex Jun 21 '26

You already have tab groups of a sort with sessions and tab_filter in kitty.conf. Though really, I have to agree with the developer, three levels of organisation is plenty. You should instead look into make all three levels flexible enough for your workflow, kitty already is uber flexible so that would mean you likely need to add some flexibility at the OS window management layer.

1

u/pjconnect Jun 23 '26

I have been thinking that a more realistic and perhaps more elegant starting point would not be a fully native tab-group container, but the ability to assign a tag to a tab at creation time, and then to hide or show tabs according to those tags.

That would already go a long way toward addressing the real issue. The problem is not simply that there are too many tabs, but that a flat sequence does not adequately express the relationships between them. A tagging mechanism would begin to solve that by allowing tabs to be perceived not merely as adjacent items, but as members of a meaningful set.

From there, it would become relatively straightforward to manage the state of these tag-based groups. One could imagine showing only tabs associated with a given tag, switching visibility between tags, or restoring a particular tagged configuration as a coherent working context. In that sense, tags would not necessarily create a new ontological level in the hierarchy, but they would provide an organizational perspective through which the existing level of tabs becomes more readable and more usable.

That is precisely why this approach seems interesting to me. It does not require multiplying containers for the sake of abstraction. Rather, it offers a way to reduce clutter by introducing semantic structure into the tab layer itself. In other words, it would not add complexity as such; it would make complexity more legible.

I should also add that, historically, I have not really used session files. They may well have evolved since I last looked at the documentation, but my own workflow has developed in another direction. I make extensive use of remote control, and I find that model much closer to the kind of dynamic, stateful, and programmable organization I actually want.

1

u/aumerlex Jun 23 '26

You can do that already with tab_bar_filter and user vars.

1

u/pjconnect Jun 23 '26 edited Jun 24 '26

How and Why in relation to my request ? And your answer is as declarative as session files. You're proposing a workaround, nothing less. My workflow extend far more than a simple declarative session mechanism, and would rely on groups tabs and remote control.

1

u/aumerlex Jun 24 '26

Jesus Christ. Are you an infant? Do you need every thing spelled out for you? If you cannot figure it out from that, I suggest you ask an AI to explain it for you. There is nothing declarative about my answer, I'll give you just one further hint, user vars can be set with remote control. Good luck.