Sorry for being late, but... Yeah, although I'd like to get rid of that WindowManager::Default().IsWindowMapped(app_win->window_id()) check, I know that there are multiple races involved there, so we can't probably avoid it.
Just wondering if it could happen that the mapping would happen afterwards and we'd miss a window because there's no other signal catching that (and compiz might not signal us anything)...
But things work ok with this, so let's put it in production.
Sorry for being late, but... Yeah, although I'd like to get rid of that WindowManager: :Default( ).IsWindowMappe d(app_win- >window_ id()) check, I know that there are multiple races involved there, so we can't probably avoid it.
Just wondering if it could happen that the mapping would happen afterwards and we'd miss a window because there's no other signal catching that (and compiz might not signal us anything)...
But things work ok with this, so let's put it in production.