diff --git a/src/client.c b/src/client.c index 832defe35e600a96e41fcea3d0e6cad4649543e2..0c31afb356ddd4ea1a60525d98c34d3f5c6a53e1 100644 --- a/src/client.c +++ b/src/client.c @@ -3849,11 +3849,17 @@ clientPassFocus (Client * c) */ if (clientIsModal (c)) { - c2 = clientGetModalFor (c); + /* Modals are transients, and we aren"t interested in modal + for group, so it safe to sue clientGetTransient because + it's really what we want... + */ + c2 = clientGetTransient (c); if (c2 && FLAG_TEST(c2->flags, CLIENT_FLAG_VISIBLE)) { new_focus = c2; + /* Usability: raise the parent, to grab user's attention */ + clientRaise (c2); } }