Function: eca-chat--tab-line-face

eca-chat--tab-line-face is a natively compiled function defined in eca-chat.el.

Signature

(eca-chat--tab-line-face TAB TABS FACE SELECTED-P BUFFER)

Documentation

Return FACE for TAB styled by selection and activity.

Uses eca-tab-inactive-face for non-selected idle tabs, eca-chat-tab-active-face for selected active tabs, and eca-chat-tab-inactive-active-face for non-selected active (loading/approval) tabs.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat--tab-line-face (tab _tabs face _selected-p _buffer)
  "Return FACE for TAB styled by selection and activity.
Uses `eca-tab-inactive-face' for non-selected idle
tabs, `eca-chat-tab-active-face' for selected active
tabs, and `eca-chat-tab-inactive-active-face' for
non-selected active (loading/approval) tabs."
  (let* ((buf (cdr (assq 'buffer tab)))
         (selectedp (cdr (assq 'selected tab)))
         (cached-active (assq 'active tab))
         (activep (if cached-active
                      (cdr cached-active)
                    (and buf (buffer-live-p buf)
                         (eca-chat--tab-line-active-p buf)))))
    (cond
     ((and activep (not selectedp))
      `(:inherit (eca-chat-tab-inactive-active-face ,face)))
     (activep
      `(:inherit (eca-chat-tab-active-face ,face)))
     ((not selectedp)
      `(:inherit (eca-tab-inactive-face ,face)))
     (t face))))