do not access service past its prime
service is only set when we actually resolved from a service, but sometimes we resolve from path. refactor service resolution into a helper function and scope it to the fallback if such that the rest of the determine function no longer has access to the potentially null serivce pointer.
also add a nasty bool switch to the private function so we can synthesize the condition even when konsole is installed (i.e. the majority of dev systems ;))