No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro lyrical showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

Repo symbol

dispatcher repository

dispatcher

ROS Distro
rolling

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

dispatcher repository

dispatcher

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/nasa-jpl/dispatcher.git
VCS Type git
VCS Version master
Last Updated 2026-08-31
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
dispatcher 0.4.2

README

Dispatcher

A Qt-based ROS 2 widget for starting, stopping, and monitoring both ROS nodes and arbitrary shell processes.

dispatcher

dispatcher builds its UI from a YAML file. Each configured item is launched in its own detached tmux session, and the terminal button can attach a gnome-terminal window to that session when available.

Runtime Parameters

The dispatcher executable uses the following ROS parameters:

Name Type Default Description
dispatcher_config_path string "" Path to the dispatcher YAML file.
initial_configuration string "" Configuration name to select on startup.
ssh_timeout_sec int 10 Timeout used when building remote SSH commands.
target_loop_rate_hz double 100.0 Main process/status polling rate.

YAML Configuration

The top-level dispatcher YAML supports:

Key Required Description
workspace Yes Workspace path used by ROS process items before sourcing install/setup.bash.
nodes Yes Process and category definitions rendered in the main panel.
configurations No Named runtime configurations. Each entry may be a simple name or a map with name, cmd_prefix, environment_variables, and icon.
cmd_prefix No Default command prefix for the implicit all configuration.
environment_variables No Default environment variables for the implicit all configuration.
hide_unconfigured_processes No If true, items missing in the active configuration are hidden instead of disabled.
scripts No Script button definitions shown in the scripts panel.
variables No Variable selectors used for $VARIABLE command substitution.

Node Types

Each entry in nodes can be:

  • A ROS process item. If type is omitted, the item is treated as ROS by default.
  • A shell process item with type: shell.
  • A collapsible category with type: category and an items array.

Common item fields include:

Key Description
name UI label and tmux-session base name.
cmd Command used for the implicit all configuration.
configurations Per-configuration command definitions.
start_checked Whether the item starts checked in the UI. Optional, defaults to false.
stop_tmux_cmd Stop sequence sent to tmux. Optional, defaults to C-C.
hostname / user Optional remote execution target for local commands or configuration entries.
use_cmd_prefix Enables or disables command-prefix injection.
use_environment_variables Enables or disables environment-variable injection.
attach_on_start Opens a terminal automatically after launch.

ROS process items can additionally define node_name plus an optional namespace that defaults to an empty string, or a ros_nodes array with the same monitoring fields for online-state monitoring.

Shell process items use pgrep on the item name to infer online state.

Scripts and Variables

Script entries support:

Key Description
name Button label.
cmd or configurations Script command definition.
row, column Grid placement in the scripts panel.
icon Optional Qt resource path for the button icon.
use_terminal Whether to wrap execution in gnome-terminal --.

Variable entries support:

Key Description
name Variable name used in commands, for example $FCAT_LOOP_RATE_HZ.
choices Selectable values exposed in the UI.

Examples

The following examples build incrementally from a minimal configuration to a full-featured setup. Each one corresponds to a YAML file in config/ and a screenshot in doc/.

Configurations

config/example_configurations.yaml shows the simplest multi-configuration setup. Two named configurations (config_A and config_B) control which processes are available and which commands they run. Processes that lack a definition for the active configuration are grayed out.

config_A config_B
config_A config_B

```yaml

File truncated at 100 lines see the full file