ebb

Configuration

Configure ebb from the Settings panel or from a config.toml file.

You can configure ebb in two ways:

  • The Settings panel. Open it with Cmd+, / Ctrl+,.
  • The config.toml file, on the desktop app only.

The two are the same settings. The desktop app writes each change from the Settings panel to the file. When you edit the file, ebb applies the change immediately. In the browser, ebb keeps your settings in browser storage, and there is no file.

The Settings panel has five categories: Display, Editor, Keyboard, Collaboration, and Updates. The last two are on the desktop app only, because the web build has no updater and no shared editing.

File location

ebb loads config.toml from $XDG_CONFIG_HOME/ebb/config.toml. If XDG_CONFIG_HOME is not set, the location is:

  • Windows: %APPDATA%\ebb\config.toml
  • Everywhere else: ~/.config/ebb/config.toml

If the file does not exist, ebb creates it from the current settings. If a value in the file is not valid, ebb uses the default for that key.

Options

Each option below shows its config.toml key, its type, and its default. The options are grouped by the Settings category that holds their control.

Display

KeyTypeDefaultWhat it does
theme"light" / "dark" / "system""system"The UI theme. This does not apply to the flow editor.
flow_fontfont name"Pretendard"The font of the flow grid. See the list below.
default_zoomnumber1The zoom that the flow grid opens at, as a factor (1 = 100%). ebb clamps it between 0.5 and 3.
scroll_zoombooleantrueZoom the flow grid with Cmd/Ctrl + scroll.
align_speechesbooleanfalseLine each sheet up on the speaking order of the round. See Align speeches.
tooltipsbooleantrueShow hover hints on buttons and controls.
rfd_vimbooleanfalseVim keybindings for the RFD editor.
aff_color"#RRGGBB"theme defaultThe color of the aff side in the UI, and of a Gov sheet.
neg_color"#RRGGBB"theme defaultThe color of the neg side in the UI, and of an Opp sheet.

flow_font is the name of one of these fonts. The name is not case-sensitive.

  • Mono: Commit Mono, IBM Plex Mono
  • Sans: Pretendard, DM Sans, IBM Plex Sans, Cabin, Lato, Open Sans

To get the theme's default side colors again, remove aff_color and neg_color from the file, or click Reset in the Settings panel.

Editor

KeyTypeDefaultWhat it does
insert_pastebooleanfalseA paste pushes the text in those columns down. It does not replace the text.
flows_dirpath~/Documents/ebbThe folder that ebb files new flows in. Files that ebb already wrote stay where they are.
cardmirror_enabledbooleantrueThe CardMirror integration. Off, ebb answers nothing on the bridge and drops the two commands.
cardmirror_text_typestyle"analytic"The style CardMirror applies to text that ebb sends it.

cardmirror_text_type is one of "analytic", "tag", "block", "hat", "pocket", or "body".

Collaboration

These options are on the desktop app only. See Shared editing for what a session does.

KeyTypeDefaultWhat it does
collab_enabledbooleanfalseShared editing. Off, ebb reaches no network at all.
collab_relaybooleantrueOff, a session holds to direct connections. On, a session can also connect through a relay.
collab_listenbooleanfalseHold an endpoint open the whole time ebb runs, so a saved contact can offer you a round.
collab_show_viewersbooleantrueMark the cell that a view-only partner looks at.
collab_namestring""What a partner sees. Blank sends the name of your machine, which ebb never writes into this file.

Each saved partner is one table below contacts, keyed by the ID of that partner:

[contacts.4e6c9f2a1b7d8c3e5f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c9d8e]
name = "Rin"
relay = "https://relay.example"

name is what you call that partner. relay is where ebb found them last, and ebb writes it for you. A contact that you type in by hand has no relay, and ebb reaches that contact across your local network only, until a session records one.

A contact carries no permission of its own. What a partner can do is a property of the round that you invite them to, and you select it at the invitation. See What a partner can do.

The Contacts list in Settings > Collaboration writes this table, and a contact that you remove there leaves the file.

Workspace state

ebb writes these two keys as you work. They have no control in the Settings panel.

KeyTypeDefaultWhat it does
sidebar_collapsedbooleanfalseHide the sidebar.
rfd_openbooleanfalseShow the RFD editor when a flow opens.

Keybindings

To rebind a command from the Settings panel:

Filter the list to the command.
Click Record on that command.
Push the keys of the chord.

Reset puts back the default of a command. ebb marks each command that you rebind.

[keymap]

In config.toml, the [keymap] tables hold the bindings. A command id such as theme.dark becomes a table and a key:

[keymap.theme]
dark = "Meta+D"

The file contains every command, so you can edit it in place. A command with an empty string ("") has no binding. ebb ignores an unknown command id.

A chord is its modifiers and its key, connected with +. The modifiers are Meta (Cmd), Ctrl, and Alt. For a letter key, write

Shift as the capital letter: "Meta+Z" is Cmd+Shift+Z. The defaults use Meta on macOS and Ctrl on Windows and Linux.

The file holds each binding, so an update that moves a default finds your file with the earlier chord in it. A chord that only restates a default that ebb has since moved is read as the leftover it is, and ebb drops it and applies the new default. If you set that same chord by hand, set it again once after the update.

The collaboration commands are not in the file and not in the shortcut list. They run from the Invite and Join buttons in the sidebar, from the command palette, and from Join Round... in the File menu.

For the default chords, push ? in ebb to open the shortcut reference, or see Features.

Updates

[update]
auto_check_enabled = false

When true, ebb fetches the GitHub releases page and tells you when a new version is available. The default is false.