pro-tabs-mode — a modern and customizable mode that unifies Emacs tab-bar and tab-line into a singular beautiful style: with modern icons, a sleek appearance, glyphs, wavy colorful separators, and no excessive buttons. The main goal is to make the standard Emacs tabs aesthetic, clear, and consistently styled both in tab-bar and tab-line. Everything looks integrated, concise, and very convenient for quickly switching between buffers and sessions!
(In the screenshot: at the top is the tab-bar, below is the tab-line; each tab and buffer has its own icon, smooth colorful wavy separators, and a minimum of extra buttons and interface elements.)
- Unified appearance for tab-bar and tab-line: tabs always look equally modern.
- Icons for buffers and tabs based on all-the-icons: immediately see where your code, org, shell, etc. buffers are.
- Beautiful glyphs, emoji, and styling for each tab.
- Compact look — no New/Close buttons or extra elements shown (by default).
- Wavy (wave, XPM) colorful separators between tabs for a smooth interface.
- Fast navigation between tabs with a single key (Super+1…Super+0).
- Integration with vterm and telega: tab-line is enabled automatically for them.
- Rapid close of both buffer and its tab with a single command.
- All options customizable via M-x customize-group RET pro-tabs RET.
- Install the `all-the-icons` dependency:
M-x package-install RET all-the-icons RET
- Copy `pro-tabs.el` to any directory in your `load-path`.
- Add the following lines to your init file:
(require 'pro-tabs) (pro-tabs-mode 1)
- Optionally configure variables via `M-x customize-group RET pro-tabs` or `setq` before enabling the mode.
- `M-x pro-tabs-mode` — enable/disable the mode (changes both tab-bar and tab-line styles at once).
- `M-x pro-tabs-open-new-tab` — open a new Emacs tab with dashboard (if dashboard is installed).
- `M-x pro-tabs-close-tab-and-buffer` — simultaneously close the current buffer and its associated tab.
- Quick switch: `s-1 … s-9, s-0` — instantly switch between tabs by number.
- `pro-tabs-enable-icons` (t/nil): whether to show icons in tab-bar and tab-line.
- `pro-tabs-max-tab-name-length`: maximum tab caption length (extra text is truncated with “…”).
- `pro-tabs-tab-bar-height`: tab-bar tab height (pixels).
- `pro-tabs-tab-line-height`: tab-line tab height (pixels).
Set them via customize (`M-x customize-group RET pro-tabs RET`) or with `setq` before running `(pro-tabs-mode 1)`.
To run tests:
- Open the file `pro-tabs-test.el` and run:
M-x ert RET pro-tabs- RET— this shows all tests for pro-tabs.
Or from Lisp:
(ert 'pro-tabs-enable-disable)
- Emacs 27.1 or higher
- [all-the-icons](https://github.com/domtronn/all-the-icons.el) (for icon support)
MIT
—
Author: Peter Kosov Repository: https://github.com/11111000000/pro-tabs
