Concious, I agree with your comments. I've also been taking a look a the source and it sheds a new light on things. Right now the applet calls up the evolution window with gtk_window_present which seems like the proper thing to do. The fact that gtk_window_present doesn't move the window to your desktop, or change desktops automatically _seems_ to be a deliberate choice on the part of the gnome developers.
The behavior you describe for empathy is actually connected to another issue for evolution (Bug #387833), which is running in the background without an open window. When you close empathy it runs in the background and then when you click on the indicator applet link it just brings up the window wherever you currently are. This is something the evolution devels have explicitly said they are not going to do. However, it may be possible to implement it through the plugin (I have working code which does that, but its terrible and uses fork() in blasphemous ways.)
To complicate matters, try leaving empathy open, moving to a desktop and clicking on the link in the indicator applet. The desktop switches to the one where empathy is still open. I actually have no idea how it does this, but this behavior should be possible.
Concious, I agree with your comments. I've also been taking a look a the source and it sheds a new light on things. Right now the applet calls up the evolution window with gtk_window_present which seems like the proper thing to do. The fact that gtk_window_present doesn't move the window to your desktop, or change desktops automatically _seems_ to be a deliberate choice on the part of the gnome developers.
The behavior you describe for empathy is actually connected to another issue for evolution (Bug #387833), which is running in the background without an open window. When you close empathy it runs in the background and then when you click on the indicator applet link it just brings up the window wherever you currently are. This is something the evolution devels have explicitly said they are not going to do. However, it may be possible to implement it through the plugin (I have working code which does that, but its terrible and uses fork() in blasphemous ways.)
To complicate matters, try leaving empathy open, moving to a desktop and clicking on the link in the indicator applet. The desktop switches to the one where empathy is still open. I actually have no idea how it does this, but this behavior should be possible.