[Home] [Downloads] [Search] [Help/forum]

Miniwindows in MUSHclient - Introduction

Written by Nick Gammon - July 2008.

See also:


For many years now MUSHclient has been purely a "text" client, after all, it is designed to work with text-based MUD games.

However over recent years there have been various requests for:

So far, some of these have been possible by using separate, "dummy world" windows, but this has been a bit unwieldy, particularly if you want to resize or move things around.

The new additions make it possible to have "floating miniwindows" which appear on top of, or to the side of, the main output window. As these are part of the main window, if you move or resize the main window, the extra windows automatically move with it.

An example of some miniwindows in operation:

General characteristics of miniwindows

What can you draw in miniwindows?

Basically almost all of the low-level Windows graphics drawing operations are available. These include the following. In the screenshots the grid has been drawn to make it clearer the dimensions of each item, it would not normally be there.

All operations are pixel-addressable - that is, you can do them anywhere in the miniwindow, to the nearest pixel.

All operations give you control over the colour - so you can have blue lines, or a red box filled with green, with purple text in it.

Most of the above operations allow you to specify a line width, line colour, and line style (including "no line").

Many operations allow you to specify a fill colour and style (including "no fill"). Some allow you to fill with a bitmap pattern (constructed from an 8 x 8 pixel pattern). The bitmap pattern can be used to make "wave" or "grass" effects.

Some operations (rectangle, rounded rectangle, ellipse) allow you to fill the object with an image, either a 8 by 8 pixel monochrome pattern that you can specify, or from an external xxx.bmp file.

Items can overlap, as much as you want. Whatever is drawn later, will be on top of whatever was drawn earlier.


In order to allow you to interact with the miniwindows, you can designate hotspots (really, "hot rectangles"). When the mouse is moved inside these designated areas (of which there can be any number per miniwindow), script functions in your plugin can be called. These functions can handle:

In addition, you can specify tooltip text, which automatically appears if the mouse hovers over a hotspot, after a short delay. This can be used to provide short help messages.

Other pages about miniwindows


Written by Nick Gammon - 5K

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( http://www.gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Internet Contents Rating Association (ICRA) - 2K]    [Web site powered by FutureQuest.Net]