Variable: eca-chat-mode-line-format
eca-chat-mode-line-format is a customizable variable defined in
eca-chat.el.
Value
(:workspace-folders :add-workspace-button :remove-workspace-button
:spacer :init-progress " " :bg-jobs " "
:elapsed-time " " :context-bar :usage " " :trust)
Documentation
Format for the ECA chat mode line.
When set to a list, each element is a module keyword or a literal string. Modules are rendered in order; use :spacer to separate left-aligned and right-aligned content.
Available modules:
:workspace-folders - project root paths
:add-workspace-button - clickable [+] button
:remove-workspace-button - clickable [-] button
:title - chat title
:elapsed-time - turn duration timer
:context-bar - colored context-window usage bar (hover for details)
:usage - token/cost info (see eca-chat-usage-string-format)
:server-version - shows "ECA <version>"
:init-progress - init progress (auto-hides when done)
:trust - trust mode indicator (🔥 when ON, 🛡 when OFF)
:spacer - elastic space that right-aligns everything after it
When set to a function, it receives the session as its sole
argument and should return a valid mode-line-format value.
The function is called once at buffer creation; include
:eval forms in the result for dynamic content.
This gives full control for powerline or doom-modeline users.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defcustom eca-chat-mode-line-format
'(:workspace-folders :add-workspace-button :remove-workspace-button :spacer :init-progress " " :bg-jobs " " :elapsed-time " " :context-bar :usage " " :trust)
"Format for the ECA chat mode line.
When set to a list, each element is a module keyword or a
literal string. Modules are rendered in order; use `:spacer'
to separate left-aligned and right-aligned content.
Available modules:
`:workspace-folders' - project root paths
`:add-workspace-button' - clickable [+] button
`:remove-workspace-button' - clickable [-] button
`:title' - chat title
`:elapsed-time' - turn duration timer
`:context-bar' - colored context-window usage bar (hover for details)
`:usage' - token/cost info (see `eca-chat-usage-string-format')
`:server-version' - shows \"ECA <version>\"
`:init-progress' - init progress (auto-hides when done)
`:trust' - trust mode indicator (🔥 when ON, 🛡 when OFF)
`:spacer' - elastic space that right-aligns everything after it
When set to a function, it receives the session as its sole
argument and should return a valid `mode-line-format' value.
The function is called once at buffer creation; include
`:eval' forms in the result for dynamic content.
This gives full control for powerline or doom-modeline users."
:type '(choice
(repeat
(choice
(string :tag "Literal string")
(const :tag "Workspace folders" :workspace-folders)
(const :tag "Add workspace button" :add-workspace-button)
(const :tag "Remove workspace button" :remove-workspace-button)
(const :tag "Background jobs" :bg-jobs)
(const :tag "Chat title" :title)
(const :tag "Elapsed time" :elapsed-time)
(const :tag "Context usage bar" :context-bar)
(const :tag "Usage info" :usage)
(const :tag "ECA server version" :server-version)
(const :tag "Init progress" :init-progress)
(const :tag "Trust mode indicator" :trust)
(const :tag "Right-align spacer" :spacer)))
(function :tag "Custom function (receives session)"))
:group 'eca)