Custom Windows

From Scriptwiki
Jump to: navigation, search

Custom windows are windows that can be created by the user and modified to look like almost anything. They can play any type or a role you wish: they can for example replace normal channel windows or they can be used to filter messages from queries.

/window [-abBcCdeEfg[N]hikl[N]mnoprRsvwxz] [-tN,..,N] [+bdeflLmnstx] <@name|@WID> [x y [w h]] [/command] [popup.txt] [font [size]] [iconfile [N]]

Explanations of the different switches:

a	   = activate the window
b	   = update horizontal scrollbar width for listbox (TODO: better explanation?)
B	   = prevent the window from using an internal border
c	   = close the window
C	   = center window when first created
d	   = open the window as a desktop window
D	   = allows toggling of the window between mirc window and desktop
e	   = add a single-line editbox to the window
E	   = add a multi-line editbox to the window
f	   = indicates that w h are the required width and height of the text display area as opposed to the window's size (TODO: huh?)
g[N]	   = sets/removes hilight for a window button, 0 = none, 1 = message color, 2 = hilight color. Default = TODO?
h	   = hide window button from the switchbar. The window can still be modified and closed normally. To reverse, use -w or -z.
H	   = enables auto-hide for a side-listbox (TODO: huh?)
i	   = dynamically associate with whatever happens to be the active connection (TODO: huh?)
k[N]	   = hides the @ prefix in the window name, 0 = hide prefix, 1 = show prefix. Default = 0.
l[N]	   = listbox, if N is specified then a side-listbox N characters wide is created. If no N is given, the default size is used.
m	   = allow line marker to be used in window. The line marker can be turned on by Ctrl+L.
M	   = chops text at tab stops.
n[N]	   = minimize window, 2 = minimize without auto-expanding item in treebar (TODO: huh?)
o	   = if opened on desktop, place ontop of all other desktop windows
p	   = creates a picture window
r	   = restore window (TODO: huh?)
R	   = reset window's size and position to previously saved values
s	   = sort the main window, whether text or listbox (TODO: alphabetically or what?)
S	   = sort the side-listbox (TODO: ...)
u	   = if the window was created with -o, remove ontop setting of the window
v	   = close window when associated status window is closed (TODO: huh?)
w[N]	   = where 0 = hide from switchbar/treebar, 1 = show in switchbar, 2 = show in treebar, 3 = show in both (TODO: Default?)
x	   = maximize window
z	   = place window button at the end of the switchbar
t[N,...,N] = tab positions in a listbox. If text contains tabs it will be spaced out according to these tab settings (TODO: doesn't explain anything?)

The switches that start with + are used to change the appearance of the window:

b = use a border
d = don't use a border
e = 3d edges
f = dialog frame (make it look more like a dialog)
l = tool window (TODO: huh? can't remember)
L = tool window but window won't appear in taskbar (TODO: ...)
n = minimize box (TODO: what box?)
s = make the window sizable
t = add only the "x" button to the upper right corner
x = maximize box (TODO: what box?)

Note: some switches may automatically turn other switches on/off.

The rest of the command options:

@name	= window name (must prefix with a @ even if the @ would be left out from its title)
@WID   = Window ID. Must be prefixed with a @. The WID can be found using $window's .wid property, or $activewid or $wid
x,y,w,h	= position in x-axis, position in y-axis, width, height
popup.txt	= popup filename to be used for the window, loaded when needed (must be a plain non-ini text file)
/command	= default command (executed whenever you enter text in an editbox) (TODO: in any editbox or?)
font/size	= font name and size to be used in the window (defaults to status window font)
iconfile/N	= sets the titlebar icon for the window

Note: if you use -1 for any of the x,y,w,h values, the default value is used unless the window already exists in which case the current value is used.

It isn't easy to understand what all of these switches are for. If you are new to custom windows, you should simply try them out and see what they do. Pretty fast you will be able to make the window look like what you want it to. When you have created a window that looks what you want it to look like, the next step is to add functionality and content to it.