Views

Arcus UI is composed of view objects. Each focused view resolves input through its active keybinding context.

View keybinding contexts

Views bind keys by class/state targets. Examples:

  • (buffer-view :normal)
  • (buffer-view :insert)
  • (interactive-view :output-focus)
  • (file-browser-view :filter)

Use define-key to bind commands to these targets:

(define-key '(buffer-view :normal) :g 'activate-go-menu)
(define-key '(interactive-view :output-focus) :j 'interactive-view-output-next)

Built-in views

Arcus includes a set of built-in views you will see often:

  • buffer-view: primary text editing surface
  • dashboard-view: startup/home workspace launcher
  • popup-view and completion-view: focused popup lists and completion UIs
  • overlay-view: modal overlays layered above regular content
  • searchable-view: filterable list-style picker base
  • interactive-view: REPL/shell-style input + output panels
  • file-browser-view: project/file navigation with a filter state
  • side-by-side-diff-view: two-pane diff comparison UI
  • inspector-view, profiler-view, debugger-view: Lisp tooling panes
  • notifications-view: notification center and history

Sticky keymaps

Sticky keymaps are temporary overlays activated while holding a key.

Structural editing uses this pattern: hold s to route keys through structural bindings, then release s to return to the base key context.

Cheatsheet integration

The cheatsheet (Shift-/) reflects the currently effective binding context:

  • sticky keymap if active
  • otherwise focused view class/state target chain

Hold Alt while cheatsheet is open to show command names instead of descriptions.