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)