aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorokan2013-11-05 00:55:42 +0000
committerokan2013-11-05 00:55:42 +0000
commit5379033e1a0de6fed6027db68fae394eece9cf44 (patch)
tree4867d3890a9c6b4fc5ec4c7eca08b75302bbe427
parent1d5b0171d649080eac96400491500b845ac5826c (diff)
downloadcwm-5379033e1a0de6fed6027db68fae394eece9cf44.tar.gz
quick keyboard focus fix for clients that neither populate wmhints nor wmprotocols, like rdesktop; focus needs to be re-visited
-rw-r--r--client.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/client.c b/client.c
index d1fce2f..20d9d6a 100644
--- a/client.c
+++ b/client.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: client.c,v 1.145 2013/11/02 19:13:57 okan Exp $
+ * $OpenBSD: client.c,v 1.146 2013/11/05 00:55:42 okan Exp $
*/
#include <sys/param.h>
@@ -211,7 +211,8 @@ client_setactive(struct client_ctx *cc, int fg)
if (fg) {
XInstallColormap(X_Dpy, cc->colormap);
- if (cc->flags & CLIENT_INPUT) {
+ if ((cc->flags & CLIENT_INPUT) ||
+ ((cc->xproto & _WM_TAKE_FOCUS) == 0)) {
XSetInputFocus(X_Dpy, cc->win,
RevertToPointerRoot, CurrentTime);
}