
In the article it looks fairly easy to customize entries for specific applications. However I'm not sure you can customize an icon to launch random applications, but I intend to look into that. Anyway there are a lot of examples here you can work from and it's a very informative article.