Hi Pankaj, Pankaj Jangid writes: > 5. While it is connecting to the server, switch to the other frame to > work on other stuff > > Result: After the ERC connects to the server, it opens the autojoin > channels in the current frame. Ideally, it should open the channels in > the (dedicated) original frame where ERC was launched. Are you saying ERC ought to remember the frame in which an entry-point command, like `erc-tls', was originally invoked? Or might it be enough to make a best effort attempt at finding such a "dedicated" frame? If it's door #2, what if we used the first frame found containing a buffer belonging to the same connection (and if no such frame exists, just leave it up to the display-buffer gods)? This way, we could rely more fully on window.el facilities and avoid having to wrangle yet more state. Or, if really necessary, we could maybe fall back on a strategy that uses `window-prev-buffers' (or whatever) to find the most recently used frame for that connection (overkill, IMO). Either way, any solution would need to address not just autojoined channels but also server-initiated JOINs, PMs, etc. The attached patch claims to do something like I've described. If you're able to try it, please set these options beforehand: (setq erc-join-buffer 'frame erc-auto-query 'frame erc-query-display 'frame erc-reuse-frames 'displayed) If you're unable to try it, please let me know, and I can maybe add it temporarily to one of ERC's installable bug packages. Thanks, J.P.