diff --git a/xwayland-game-wrapper b/xwayland-game-wrapper index d2b9699..a7b5399 100755 --- a/xwayland-game-wrapper +++ b/xwayland-game-wrapper @@ -88,8 +88,9 @@ done (( "${OPTIND}" > ${#} )) && print_help "${0}" shift $(( "${OPTIND}" - 1)) -{ - set -e +function { + emulate -L zsh + setopt errexit [[ -v window_manager ]] || window_manager='openbox' [[ -v current_desktop ]] || @@ -118,8 +119,14 @@ cat <&p >&2 let cat_pid="${!}" sh -c "exec -- ${window_manager}" & - -sh -c "exec -- ${@}" +function { + emulate -L sh + eval "${@}" +} "${@}" +let child_error_code="${?}" +if (( ${child_error_code} )); then + printf 'Child exited with error code %d\n' "${child_error_code}" +fi trap - kill %sh %Xwayland