User guide / Configuration

Setting details

Development reference · View source

Held-key speed

editor.motion_repeat_multiplier applies only to single-key movements that the terminal repeats while the key is held, such as the arrow keys and h, j, k, and l. A single press still moves once.

  • Runyte asks terminals that support it for enhanced key reporting, so a held key can be told apart from repeated presses.
  • On macOS it asks only for unambiguous key codes and detects repeats from their timing. Some terminals there have reported ordinary keys as repeats.
  • For terminals that report repeats as ordinary presses, Runyte recognises the long initial delay followed by the steady repeat cadence, and applies the same multiplier.

Automatic Git refresh

Git views and tracked-file gutters refresh from filesystem events while they are visible. git.refresh_interval_seconds bounds this work in both directions:

  • At most this often. Event-driven refreshes never start more often than the interval.
  • At least this often. After the interval, a periodic check catches anything a lost or unsupported event missed.

Details:

  • An event that arrives while no Git view is visible waits until one is shown.
  • Showing a different Git view waits for the interval before fetching more automatically.
  • :git-refresh and Runyte’s own Git operations are never rate-limited.
  • 0 turns off both event-driven and periodic refresh. :git-refresh, and the refresh that follows Runyte’s own Git operations, still work.

Where workspace state lives

workspace.state may be absolute, or relative to the workspace directory.

Runyte finds the workspace directory by walking up from the launch directory:

  1. It looks for a Git repository root.
  2. If there is none, it looks for the configured relative state directory (.runyte/ by default).
  3. If neither exists, there is no workspace: ide and mux refuse and suggest runyte --init DIRECTORY, and nothing is created. Editor mode needs no workspace.

runyte --init DIRECTORY creates the state directory, so later launches find the same workspace.

Because discovery walks upward, initializing your home directory makes it the workspace for every directory below it that has no Git repository and no state directory of its own.

Windows state anchor

On Windows, workspace.state_anchor sets the boundary for durable plugin state:

workspace:
  state_anchor: profile # or local-app-data
  • The boundary comes from the current account’s known-folder record.
  • workspace.state must be strictly inside that boundary.
  • Existing parent directories are used as they are. Only the final state directory is created, as private storage.
  • Custom anchors, relocating existing state, and falling back to another ancestor are not supported.
  • Leaving it unset keeps the full-ancestry behavior.
  • Unix accepts the setting, so one file can be shared, but ignores it.