Function: eca-chat--header-line-string
eca-chat--header-line-string is a natively compiled function defined
in eca-chat.el.
Signature
(eca-chat--header-line-string SESSION)
Documentation
Update chat header line for SESSION.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat--header-line-string (session)
"Update chat header line for SESSION."
(when session
(let ((model-keymap (make-sparse-keymap))
(agent-keymap (make-sparse-keymap))
(variant-keymap (make-sparse-keymap))
(mcp-keymap (make-sparse-keymap))
(gear-keymap (make-sparse-keymap)))
(define-key model-keymap (kbd "<header-line> <mouse-1>") #'eca-chat-select-model)
(define-key agent-keymap (kbd "<header-line> <mouse-1>") #'eca-chat-select-agent)
(define-key variant-keymap (kbd "<header-line> <mouse-1>") #'eca-chat-select-variant)
(define-key mcp-keymap (kbd "<header-line> <mouse-1>") #'eca-mcp-details)
(define-key gear-keymap (kbd "<header-line> <mouse-1>") #'eca-mcp-open-menu)
(append
(list (propertize "model:"
'font-lock-face 'eca-chat-option-key-face
'pointer 'hand
'keymap model-keymap)
(-some-> (eca-chat--model)
(propertize
'font-lock-face 'eca-chat-option-value-face
'pointer 'hand
'keymap model-keymap))
" "
(propertize "agent:"
'font-lock-face 'eca-chat-option-key-face
'pointer 'hand
'keymap agent-keymap)
(-some-> (eca-chat--agent)
(propertize 'font-lock-face 'eca-chat-option-value-face
'pointer 'hand
'keymap agent-keymap))
" ")
(list (propertize "variant:"
'font-lock-face 'eca-chat-option-key-face
'pointer 'hand
'keymap variant-keymap)
(propertize (or (eca-chat--variant) "-")
'font-lock-face 'eca-chat-option-value-face
'pointer 'hand
'keymap variant-keymap)
" ")
(list (propertize "mcps:"
'font-lock-face 'eca-chat-option-key-face
'pointer 'hand
'keymap mcp-keymap)
(let ((summary (copy-sequence (eca-chat--mcps-summary session))))
;; Append with lower priority so status faces keep their colors.
(font-lock-append-text-property 0 (length summary)
'font-lock-face 'eca-chat-option-value-face
summary)
(propertize summary
'pointer 'hand
'keymap mcp-keymap))
(propertize
" "
'display '(space :align-to (- right 2)))
(propertize "⚙"
'font-lock-face 'eca-chat-option-key-face
'pointer 'hand
'keymap gear-keymap))))))