mIRC Horizontal Tile plugin



This is a plugin DLL for mIRC which makes it automatically tile its windows, adjusting the layout whenever the main window is resized or child windows are opened & closed. It's a bit like converting mIRC into a "docking" user-interface.

It also lets you force certain windows to remain in a specified order, and to leave specified windows alone entirely.

The layout is such that the space used by the child-windows' resize borders is reclaimed, which IMO makes things look cleaner and also leaves more room for actual conversations.

I don't know if many other people will find this useful, especially as it is currently without any options for other layouts (e.g. two-columns etc.), but I've found it makes using mIRC much better and figured I might as well share it. I've always got mIRC open but often want to resize it to fit what I'm doing, or because I'm Remote Desktop'd in from a machine with a smaller display, and having to manually rearrange/resize the child windows is a pain.


The source is only useful to programmers who wish to modify the tool. It's a simple Win32 DLL C++ project for Visual Studio 2008.


  • Copy mIRCTileHoriz.dll from the zip into your mIRC directory.

  • The mIRC directory is usually C:\Program Files\mIRC or C:\Program Files (x86)\mIRC depending on your version of Windows.

  • Within mIRC, select Tools -> Script Editor and, on the Remote tab, add a line like this:

    on *:start:/dll "C:\Program Files\mIRC\mIRCTileHoriz.dll" InstallHook

    (Of course, modify the path so it's correct for where you put the DLL. On 64-bit Windows you'll probably need to add (x86) in there.)

    You can also add a list of window-title prefixes (usually channel names), each sparated by a / character, to force those windows to be kept in a specific order:

    on *:start:/dll "C:\Program Files\mIRC\mIRCTileHoriz.dll" InstallHook /#Example1 [/#Example2 [/

    If you want a window to be left along entirely, put **ignore** before its prefix.

    This will ensure that the #Example1 and #Example2 windows always come first while leaving the Status window alone completely (so it can overlap the other windows when visible):

    on *:start:/dll "C:\Program Files\mIRC\mIRCTileHoriz.dll" InstallHook /#Example1 [/#Example2 [/**ignore**Status: /
  • That will ensure mIRC uses the plugin the next time it starts. To make mIRC load the plugin now, without having to restart it, paste the same thing as above into the status window, but only the part from /dll onwards (i.e. without the on *:start: at the beginning).

  • If you want to experiment with the list of channels, you can re-run the command as many times as you want. Each time will update the existing plugin's configuration, rather than loading the plugin an additional time.


  • Remove the line you added to the Remote script, the same way that you added it.

  • If you want to make mIRC release the plugin without exiting the program, run this via the status window:

    /dll -u "C:\Program Files\mIRC\mIRCTileHoriz.dll"

    (As before, modify the path so it's correct for where you put the DLL.)

  • Delete mIRCTileHoriz.dll from your mIRC folder.


Not very exciting. :)

(I've also turned off the menu and toolbar, since I almost never use either of them. That's unrelated to the plugin.)

mIRC Tile screenshot


v1.0.0.2 (03/Aug/2011)
  • Initial release.