Welcome to Vifm Q&A, where you can ask questions about using Vifm. Registration is optional, anonymous posts are moderated. E-mail and GitHub logins are enabled.
0 votes
ago in vifm by
edited ago by

Given that:

  1. under :vsplit mode
  2. on the left pane, i have two tabs; on the right it's one tab.

When I switch from left to right pane, the left pane becomes inactive, but only one tab's color is shown as expected. Please help have a check, many thanks.

The color setting and tab setting:

hi TopLine     cterm=none     ctermfg=254      ctermbg=246
hi TopLineSel  cterm=bold     ctermfg=black    ctermbg=202
hi TabLine     cterm=reverse  ctermfg=default  ctermbg=default
hi TabLineSel  cterm=bold     ctermfg=default  ctermbg=red

set tabscope=pane
set showtabline=multiple
set tabline=""

1 Answer

0 votes
ago by

If you expect TabLine to have some effect, that's not the case swith set tabscope=pane. If it was applied on top of TopLine, that wouldn't add much value.

If you want selected tab look differently in different views, use TopLineSel to differentiate them.

With set tabscope=pane, highlilghting stack up like this for the active pane, because tab and top lines are combined into one:

  TopLine
    TopLineSel
      TabLineSel
        User1..User20

The inactive pane gets:

  TopLine
    TabLineSel
      User1..User20
ago by

Thanks for the quick and detailed explanation.

With set tabscope=pane, is there any workaround or hack way to keep all the inative pane's tabs' color consistent as "grey"?

ago by

You can edit this line to add && view == curr_view to not apply TabLineSel in the inactive pane.

...