]> git.sur5r.net Git - i3/i3/commit
Bugfix: Ignore EnterNotifies generated by UnmapNotifies
authorMichael Stapelberg <michael@stapelberg.de>
Tue, 19 Apr 2011 19:50:56 +0000 (21:50 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 19 Apr 2011 19:50:56 +0000 (21:50 +0200)
commit3721bcb86865f9a269d1d655ff2c99e6afd3f676
treedd9c9916918b469eac566536d9bd615522b4912f
parentcd6f93be3fa607e98fe17d05c86b31dcfc6fdf1c
Bugfix: Ignore EnterNotifies generated by UnmapNotifies

Actually, commit 1c5adc6c35cffaedc08c7d1dd1b03a3269d1367c commented out code
without ever fixing it. I think this was responsible for the 'workspace
switching sometimes does not work' bug. My observations:

Had it again today and analyzed a log of it. Looks like after unmapping the
windows on one workspace (in my case: chromium, eclipse, urxvt, focus on
eclipse) we get UnmapNotify events for chromium and eclipse, but then we get an
EnterNotify for the terminal (due to unmapping the other windows and therefore
mapping the terminal under the cursor), only afterwards the UnmapNotify
follows.

So, there are two things wrong with that:

• We handle EnterNotifys for unmapped windows

• Unmapping windows sometimes works in a sequence, sometimes the sequence gets
  split. Not sure why (if unmapping can take longer for some windows or if our
  syncing is wrong -- but i checked the latter briefly and it looks correct).
  Maybe GrabServer helps?

• We don’t ignore EnterNotify events caused by UnmapNotifies. We used to, but
  then there was a different problem and we decided to solve the EnterNotify
  problem in another way, which actually never happened (commit
  1c5adc6c35cffaedc08c7d1dd1b03a3269d1367c).
include/data.h
include/handlers.h
src/handlers.c
src/x.c
src/xcb.c