When the workspace changes use the passed in workspace screen mode

...instead of the current workspace screen mode that we are switching from.
Fixes #9415
Also don't ignore the returned the status code when updating the screen mode.
Style fixes only.