Ok, it took some time, but I finally found out what's really causing the focussing issue: It's the channels list window. Besides rejoining channels on reconnect, I had a /list in my perform section. I never thought this would matter, but now I know it does. There are actually 3 issues as it is, so I'll list them all.

1. The original issue described in this thread, now simply reproducible as follows:

- do //.timer 1 3 list | .timer 1 3 join #somechan
- before the timer fires, click on an empty spot on the windows taskbar to deactivate mIRC

You'll notice that the moment /list is executed, mIRC starts thinking it's active again when it's not (you can tell this by the titlebar color). The button of the channel that was joined via timer is highlighted and now remains highlighted even after you activate mIRC again.

2. Related: In the above scenario you'll also notice that the channels list window button is highlighted even though its not mIRC's active window, which I believe is wrong as well since that window is never updated when it's not on top (whenever you request a /list it's brought to the top first).

3. While playing around with all this, I came across another focussing bug which apparently was found by someone else on this board as well and mentioned a few days ago in mIRC Help. Reproduction:

- do /.timer 1 3 join #somechan
- before the timer fires, click on an empty spot on the windows taskbar to deactivate mIRC

You'll notice that even though the channel is joined properly and brought to the top, the switchbar isn't updated accordingly. It still shows the previous window's button as active and is only updated once you activate mIRC again.