]> git.sur5r.net Git - i3/i3/commit
Dont set input focus and send WM_TAKE_FOCUS
authorTony Crisci <tony@dubstepdish.com>
Thu, 10 Apr 2014 17:28:14 +0000 (13:28 -0400)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 15 Apr 2014 15:46:08 +0000 (17:46 +0200)
commit05f058581780de3b9c25d37ea4319122592dbec2
tree98e702a5797e2af1aaf1096d699fb63c83f48713
parent819bc093756caa27a0e2fa655e99fb11f189591b
Dont set input focus and send WM_TAKE_FOCUS

If input focus is set by the window manager, it is not necessary to send
WM_TAKE_FOCUS because it has already taken focus.

http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.7

> The goal is to support window managers that want to assign the input
> focus to a top-level window in such a way that the top-level window
> either can assign it to one of its subwindows or can decline the offer
> of the focus. For example, a clock or a text editor with no currently
> open frames might not want to take focus even though the window
> manager generally believes that clients should take the input focus
> after being deiconified or raised.

Both setting input focus and sending WM_TAKE_FOCUS is effectively
setting focus on the window twice which is certainly against the spirit
of the spec, if not the letter.

fixes #1167
src/x.c
testcases/t/158-wm_take_focus.t