Skip to content

Ability to use native tabs on macOS #2946

@agnoster

Description

@agnoster

Is your feature request related to a problem? Please describe.
This is perhaps purely a visual preference, but I prefer the "chrome" of my terminal to be visually distinct from the "content" of the terminal, and have a strong preference for native-style tabs over the rendered-in-terminal tabs that are the kitty standard.

Describe the solution you'd like
Any solution - even if it requires some workarounds - would be helpful to me. For example:

  • a config switch to change modes so that all tabs are native tabs
  • the ability to bind a key to new_os_tab (as a counterpart to new_window/new_os_window)
  • a command to just "behave like fullscreen even when not fullscreen for the purpose of new window creation"
  • note that I don't particularly care if the "native tab" maps to a window or tab in kitty parlance, only that I am able to use native tabs as the primary way to create different sessions and move between them. Under the hood they can be windows or tabs or neither, as far as I'm concerned as a user.

Describe alternatives you've considered
I already often use kitty in fullscreen mode just to get this behavior - when you open a new window in fullscreen, kitty creates an os-native tab instead. I love this, and so I already sometimes just fullscreen+new window+un-fullscreen, but I think we can all agree that's cumbersome (I often create and destroy tabs dozens of times in a day). The fact that kitty already supports this tab style makes me hopeful that it could in theory be supported. These native tabs seem to support a lot of functionality - you can even drag and drop native tabs to reorder or even between windows! So they already exist and work great - why can't I find a keybinding to create them out of fullscreen mode?

Additional context
Add any other context or screenshots about the feature request here.

Example of the current normal "terminal tabs":
terminal tabs

Example of creating new windows in fullscreen and switching back to get "native tabs":
native tabs

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions