Yes, the launcher currently needs to load the clock app using
setTimeout(eval,0,s.read(".bootcde"));and additionally it needs to undo all changes with a global impact other than
Bangle.loadWidgets()to prevent memory/resource leaks. The default launcher for example does the cleanup in lines 48-50 in the
The clock needs to use
Bangle.setUIand give it an options object containing a
removemethod to clean up everything it changed in the global scope.
If clock and launcher are implemented this way, fast switching between those works. If only one of launcher and clock use this way fast switching only works while leaving that app.
I couldn't stop myself, so here's a PR with fast switching implemented for Desktop Launcher.
Is the fast switch something that needs to be implemented into the launcher?
I am using 'Desktop Launcher' and don't notice any big difference.