> I've just launched the application

I'd even have a special sub-criterion under this: The application may only take focus once it is _ready to actually use_.

Slack is a prime example of how apps steal focus multiple times during startup: I start the app, cmd+tab to something else whilst I'm waiting, and it steals focus again at least 3 times before it's actually loaded and usable.

You can have focus once I can actually do something, not to show me "HEY LOOK I'VE LOADED YET ANOTHER BLOATED COMPONENT!"

[deleted]

Determining when an app is fully ready to actually use sounds like it might have Halting Problem issues?

The very fundamental problem is just, that the fact that the process/application/service has a PID/displays a window does not equal to the fact, that the service/application is ready to serve requests/the user.

This is why there are protocols like sd_notify [1] or readinessProbe [2] to determine the actual state of the launched service/process/application.

[1] https://www.freedesktop.org/software/systemd/man/254/sd_noti...

[2] https://kubernetes.io/docs/concepts/configuration/liveness-r...

[deleted]