GNOME Bugzilla – Bug 656300
gnome-terminal.desktop and Terminal.desktop resolve to the same app
Last modified: 2014-11-07 17:47:55 UTC
My system has both the gnome-terminal and Terminal (XFCE) packages installed. If I start the XFCE Terminal. The .desktop files for both of these applications use the name "Terminal". If I start the XFCE Terminal, then GNOME Shell thinks that its windows belong to gnome-terminal, even though gnome-terminal isn't actually running. To reproduce (I'm using gnome-shell-3.0.2-4.fc15.x86_64): 1) Install both the "gnome-terminal" and "Terminal" packages (these are the names of the packages in Fedora). 2) Quit any open terminals. 3) Search for the word "terminal" in GNOME shell. 4) Click on the icon for the XFCE Terminal, which on my system is the first of the two (and go to Help:About to confirm that it's the XFCE Terminal). 5) Go to the GNOME Shell dock and note that it now thinks that there are _two_ running terminal programs, and that the XFCE Terminal's windows are owned by the gnome-terminal icon. Also note that clicking on either terminal icon opens a new XFCE Terminal window rather than a gnome-terminal window. So it seems that there's some bug where GNOME Shell can't keep track of window ownership if two applications have the same name.
This actually has nothing to do with the Name= field of the .desktop file; GNOME only uses the name of the .desktop *file*. In this case the two names are: gnome-terminal.desktop Terminal.desktop The problem comes in that gnome-shell will strip the "gnome-" prefix from the .desktop file because it's used as a "vendor prefix". I think I could make gnome-shell prefer the non-stripped prefix if it exists.
There's also a problem with the XFCE Terminal, which should probably not call its desktop file terminal.desktop. If all terminals did the same thing, i wouldn't work. Could you report a bug against XFCE?
My understanding is that XFCE is already planning on making a change there, but I don't know any details. In the meantime, GNOME Shell is definitely doing the wrong thing.
Looks like XFCE now uses xfce4-terminal.desktop as the terminal's desktop filename. I'll close this as obsolete until somebody encounters that same problem again.