fn execute_subcommand(subcommand: Subcommand, subcommand_args: SubcommandArgs) -> ! {
    let subcommand_file = format!("{SUBCOMMAND_PREFIX}{subcommand}");
    match &mut Command::new(subcommand_file).args(subcommand_args).spawn() {
        Ok(child) => {
            let status = child.wait().expect("Failed to wait for child.");
            exit(status.code().unwrap_or(0));
        }
        Err(e) => {
            eprintln!("Failed to execute {subcommand}. {e}");
            exit(1);
        }
    };
}
Executes a subcommand.

If a valid subcommand is supplied, executes that subcommand, passing `args` to the program.
Prints an error to `STDERR` and exits non-zero if an invalid subcommand is supplied, or there is
some error while executing the subprocess.

# Arguments

- `subcommand`: The `leftwm-{subcommand}` which should be executed
- `subcommand_args`: The arguments which should be given to the `leftwm-{subcommand}`
leftwm/src/bin/leftwm.rs