Skip to content

gnu-emacs-ru/pro-tabs

Repository files navigation

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!

Screenshot

./screenshot.png

(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.)

Main Features

  • 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.

Quick Start

  1. Install the `all-the-icons` dependency:

    M-x package-install RET all-the-icons RET

  2. Copy `pro-tabs.el` to any directory in your `load-path`.
  3. Add the following lines to your init file:
    (require 'pro-tabs)
    (pro-tabs-mode 1)
        
  4. Optionally configure variables via `M-x customize-group RET pro-tabs` or `setq` before enabling the mode.

Key Commands

  • `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.

Customizable Variables

  • `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)`.

Automated Tests

To run tests:

  1. 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)
        

Requirements

License

MIT

Author: Peter Kosov Repository: https://github.com/11111000000/pro-tabs

About

А modern and customizable Emacs tabs

Resources

License

Stars

Watchers

Forks

Packages

No packages published