A question about Input Display addons such as screen_cast_keys and Shortcut_Vur

These 2 add-ons use very similar methods to achieve 3D view automatic refresh.

While screen cast key for 2.7 is capable of maintaining the refresh after window change, shortcut vur in 2.8 Beta stops refresh a short time after window change.

I analyzed the code of both script to find out why they behave differently only to find out there is no difference in how they did it.

They both used window_manager.event_timer_add() for the job, and both used condition if context.area: context.area.tag_redraw() to do the trick, however the refresh stops in 2.8 and doesn’t stop in 2.7.

I’m thinking this is a bug, so I reported it to the Blender Bug Tracker, but after some search, I noticed that context.area will return None if window changes and it’s not actually a bug, but intended behavior for Blender since a long time ago.

But, if that’s the case, why is screen_cast_key’s redraw refresh is able to persist after window change?

I think I found out why…

The 2.8 version of screencastkey has enlightened me.