Completely fixing icon support for unity requires two separate fixes,
1) apps such as reconfigure_gui need a patch to call wx.SetIcon()
This sets the alt-tab icon
2) in the XDG desktop file Exec has to point to an actual file instead of
Exec=bash -i -c "rosrun rviz rviz"
Also, since XDG desktop items are not launched in interactive shells, .bashrc is not sourced, so rosversion -d returns "unknown" and $ROS_VERSION is unset. So, it looks like the only way to avoid ROS version dependency is to source /etc/ros/setup.bash or to source ~/.bashrc
As we seem to be the only ones hacking on this at the moment, we are arbitrarily going with /etc/ros/setup.bash
Please add a comment if you have any other ideas.
Dropping gazebo support for now, working to patch #2 and #3