#+TITLE: Tabs layer #+TAGS: emacs|layer|spacemacs * Table of Contents :TOC_5_gh:noexport: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#configuration][Configuration]] - [[#selected-tab-bar][Selected tab bar]] - [[#hide-tabs-after-a-delay][Hide tabs after a delay]] - [[#key-bindings][Key bindings]] * Description This layer adds support for tabs. Implementation is done using [[https://github.com/ema2159/centaur-tabs][Centaur Tabs]]. ** Features: - Sets up tabs using Centaur tabs as backend - Optionally auto hide tabs after delay * Install To use this configuration layer, add it to your =~/.spacemacs=. You will need to add =tabs= to the existing =dotspacemacs-configuration-layers= list in this file. * Configuration ** Selected tab bar To display a bar in the given direction to the selected tab, set =tabs-highlight-current-tab= to one of =left= (default), =under=, =over=. For example, #+BEGIN_SRC emacs-lisp (setq-default dotspacemacs-configuration-layers '(tabs :variables tabs-highlight-current-tab 'left)) #+END_SRC Note that this has no effect when Emacs is running in daemon mode. ** Hide tabs after a delay You can set hooks for buffers in which it isn't desired to have tabs by customizing =centaur-tabs-hide-tabs-hooks=. Alternatively you can set =tabs-auto-hide= to =t= to auto hide tabs after some delay =tabs-auto-hide-delay= via the :variables keyword in your =.spacemacs=: #+BEGIN_SRC emacs-lisp (setq-default dotspacemacs-configuration-layers '(tabs :variables tabs-auto-hide t tabs-auto-hide-delay 3)) #+END_SRC * Key bindings | Key binding | Description | |-------------+-------------------------------------------------------| | ~g t~ | Select the next available tab | | ~g T~ | Select the previous available tab | | ~g C-t~ | Move current tabe to right | | ~g C-T~ | Move current tabe to left | | ~C-c t s~ | Display a list of current buffer groups using Counsel | | ~C-c t p~ | Group buffer tabs by projectile | | ~C-c t g~ | Group buffer tabs by groups |