I've been investigating this a little bit more and here are my experiences:
The easiest way to reproduce:
1. start firefox
2. start terminal
3. execute `gnome-open http://launchpad.net/`
4. single Alt+Tab back to the terminal
5. multiple Alt+Tabs to another app
Expected result:
post-3. firefox is raised and gains focus
post-4. terminal is raised and gains focus
post-5. another app is raised and gains focus
Actual result:
post-3. firefox is raised, but focus remains with terminal
post-4. firefox was never actually the active window, so Alt+Tab tries to switch to firefox, but well... it's raised, right? so nothing actually happens
post-5. another app gets urgent
All in all, after also talking to @jassmith it seems like a focus stealing prevention issue. It shows itself whenever a window tries to raise _itself_ - when clicking a link outside of the browser or similar. I'll be digging in metacity to find out what's what and also try to reproduce outside of unity.
I've been investigating this a little bit more and here are my experiences:
The easiest way to reproduce: launchpad. net/`
1. start firefox
2. start terminal
3. execute `gnome-open http://
4. single Alt+Tab back to the terminal
5. multiple Alt+Tabs to another app
Expected result:
post-3. firefox is raised and gains focus
post-4. terminal is raised and gains focus
post-5. another app is raised and gains focus
Actual result:
post-3. firefox is raised, but focus remains with terminal
post-4. firefox was never actually the active window, so Alt+Tab tries to switch to firefox, but well... it's raised, right? so nothing actually happens
post-5. another app gets urgent
All in all, after also talking to @jassmith it seems like a focus stealing prevention issue. It shows itself whenever a window tries to raise _itself_ - when clicking a link outside of the browser or similar. I'll be digging in metacity to find out what's what and also try to reproduce outside of unity.