def METHOD_NAME(exec_name, trajectory_list, **_kwargs):
    """
    Plugin for xcrysden
    """
    import subprocess
    import tempfile
    if len(trajectory_list) > 1:
        raise MultipleObjectsError('Visualization of multiple trajectories is not implemented')
    obj = trajectory_list[0]
    if not has_executable(exec_name):
        echo.echo_critical(f"No executable '{exec_name}' found.")
    # pylint: disable=protected-access
    with tempfile.NamedTemporaryFile(mode='w+b', suffix='.xsf') as tmpf:
        tmpf.write(obj._exportcontent('xsf')[0])
        tmpf.flush()
        try:
            subprocess.check_output([exec_name, '--xsf', tmpf.name])
        except subprocess.CalledProcessError:
            # The program died: just print a message
            echo.echo_error(f'the call to {exec_name} ended with an error.')