docs / moving over / coming from herdr tui

Coming from Herdr TUI

rodeo started as Herdr TUI 0.9.5 on hc, with the same keys, screen and config. Here is what moved to hc, what is gone, and what works another way.

Why rodeo

Herdr TUI runs its own server, and the desktop app runs on hc. They share no terminals. I wanted my terminal and my app to see the same thing.

hc owns every program. rodeo only owns the UI, so you can close it, open it again, or run two at once. Your terminals keep running the whole time.

What carries over

  • Every key bind, with the same defaults and the same syntax. See Key binds.
  • The screen: sidebar, tab bar, panes, mode bars, overlays, menus, toasts and the mobile layout.
  • The config schema. On the first start, if ~/.config/rodeo/config.toml does not exist and ~/.config/herdr/config.toml does, rodeo copies the Herdr file once. It never touches the Herdr file.

rodeo will drift from Herdr TUI over time.

What hc does now

Sessions, restore and remote machines belonged to the Herdr server. hc covers them now.

Herdr TUI In rodeo
herdr rodeo
herdr session attach <name> rodeo --session <name>
herdr --remote Add the machine to hc, or run rodeo on that machine.
herdr server stop hc server stop. Kept terminals come back with a new shell.
herdr server reload-config prefix+shift+r. There is no server config.
Restore after a restart hc keeps the terminals running. Nothing needs a restore.
Agent detection Agents report their own state to hc (OSC 7501). See Agents.
Pane history hc keeps the screen and scrollback of each terminal.

rodeo reads [session], [server], [update], remote.manage_ssh_config and experimental.pane_history, and does nothing with them.

What is gone

  • Plugins. There is no plugin model. A plugin_action command shows a config warning.
  • Self-update, release notes and onboarding. rodeo does not update itself. The "what's new" and "update ready" items are gone from the menus.
  • Agent integrations. Agents report their own state to hc, so the integrations tab of the settings is gone.
  • The socket API and the pane and workspace commands. hc and the Herdr app cover programs and layout.
  • The $name token for spaces. The Herdr socket API set it, and hc has no space objects to label. $name for panes still works: it reads the name label of the terminal.

What works another way

  • Names. The Herdr app and these docs say "space" for a Herdr TUI workspace. The screen keeps the Herdr words.
  • The sidebar header shows the rodeo▍ wordmark in place of spaces or machines.
  • Image paste (ctrl+v) works in every pane, not only in remote ones.
  • Clear pane clears the screen that rodeo shows. The copy that hc keeps is not cleared, so a new rodeo can show the old text.
  • Custom commands get the HERDR_ACTIVE_* variables, but not HERDR_SOCKET_PATH or HERDR_BIN_PATH. They run on the machine of the focused space.
  • Sounds are short chimes that rodeo makes itself, not Herdr's mp3 files. Your own mp3 files still work.
  • Variables. RODEO_CONFIG_PATH replaces HERDR_CONFIG_PATH, and RODEO_DISABLE_SOUND joins HERDR_DISABLE_SOUND. A nested rodeo is found with HC_TERMINAL_ID.
  • Navigate mode with more than one machine: ↑ and ↓ also stop on machine rows, and ← → fold and show them. See Machines.

docs/parity.md has every key bind, screen element and config option of Herdr TUI 0.9.5, row by row, with what rodeo does with it.

Edit this page on GitHub