Jetbrains IDEs: dock-aware launcher for Linux
UPDATE:
Most of this is pointless on IDEA >= 11 and PyCharm >= 2, since a Tools -> Create desktop entry menu now exists and will let you do everything my launcher did. You'll need to reinstall it at every update - or just use the symlink trick I reccomended with the standalone launcher and edit the IDEA desktop entry.
I had already elaborated on this, and I still thank Dutchworks for their work, but I was yet to be satisfied with the status of dock awareness for Jetbrains IDEs; I tend to use multiple of those and I was highly dissatisfied with the way the dock grouped all my Java apps - that's caused by the fact that many Java apps based on Swing/AWT share the same WM_CLASS attribute, which is used bye the dock to tell one window from another - but you can read more on that from the Dutchworks blog page above.
The basic problem is:
Here I have launched IDEA and PyCharm at the same time, and they're grouped with the very same icon by docky - you need to right-click the icon and pick the proper subwindow, which is quite an hassle.
My previously created solution required to update the launcher and copy agent.jar at every update.
So what?
I just created a standalone launcher which creates a proper .desktop file in your .local/share/applications directory, does not modify original files and still allows IDEs to have their own distinct icon in the dock:
There I have both IDEA and PyCharm active at the same time, and they both work properly, and, whenever updating, you can just update the symlink (as suggested in the README from the GitHub repo) and you're done!
Multiple projects in the same DIE still share the same icon, but that doesn't seem to be changeable from the outside, it's something that Jetbrains should do; I'll open a ticket for that.
Enjoy!