diff -aur xfwm4-4.6.2//src/client.c xfwm4-mod//src/client.c --- xfwm4-4.6.2//src/client.c 2010-05-21 12:02:40.000000000 -0500 +++ xfwm4-mod//src/client.c 2010-07-20 11:43:16.000000000 -0500 @@ -876,7 +876,16 @@ } else { - clientActivate (c, getXServerTime (display_info), TRUE); + /* Pass source_is_client = FALSE because in focus-follows-pointer + mode a request from the application to raise or resize + its window should not result in focus being moved to that + window. The focus should remain where ever the mouse pointer + is. Consider the scenario where a command (e.g. emacs-client) + typed in an xterm affects some other, existing window. In + focus-follows-pointer mode the focus should remain with the + xterm where the command was typed. + */ + clientActivate (c, getXServerTime (display_info), FALSE); } } }