SpectacleCore: Ensure a message is always visible somewhere when a screenshot fails
When the error message is empty, we at least display a generic error message. Only automatically exit app on screenshot failure when there are no windows. Also moves onScreenshotFailed to a lamda like onRecordingFailed so we can keep the screenshot failed and new screenshot code together.
Loading