Custom Windows
The /window command, along with a few other related commands listed below, allows you to create and manipulate custom windows. Its format is:
/window [-abBcCdDe[N]fg[N]hHij[N]k[N]l[N]mMn[N]oprRsSuvw[N]xz] [-tN,..,N] [+bdeflLnstx] <@name> [x y [w h]] [/command] [popup.txt] [font [size]] [iconfile [N]]
Switches and Parameters You can specify the following switches and parameters either when first creating a window or to manipulate an existing window.
The first set of switches:
a = activate window b = update horizontal scrollbar width for listbox B = prevent window from using an internal border c = close window C = center window when first created d = open as desktop window D = allows a window to be toggled between mdi and desktop e[N] = use editbox, where 0 = single, 1 = multi, 2 = auto, 3 = default f = indicates that w h are the required width and height of the text display area as opposed to the window size g[N] = sets/removes hilight for a window button, 0 = none, 1 = message color, 2 = hilight color h = hide window H = enables auto-hide for a side-listbox i = dynamically associate with whatever happens to be the active connection j[N] = sets buffer size to N lines k[N] = hides the @ prefix in the window name, 0 = hide prefix, 1 = show prefix l[N] = listbox, if N is specified then a side-listbox N characters wide is created m = allow line marker to be used in window M = chops text at tab stops. n[N] = minimize window, 2 = minimize without auto-expanding item in treebar o = if opened on desktop, place ontop p = creates a picture window qS:P = sets the S state and P percent of the progress bar for a custom @window, where S = 0 disabled, 1 = in progress, 2 = success, 3 = error. r = restore window R = reset window position to previously saved position s = sort the main window, whether text or listbox S = sort the side-listbox u = remove ontop setting of a desktop window v = close window when associated status window is closed w[N] = where 0 = hide from switchbar/treebar, 1 = show in switchbar, 2 = show in treebar, 3 = show in both x = maximize window z = place window button at end of switchbar
The -t switch used to set the tab positions in a listbox.
tN,...,N = specifies the tab positions in a listbox, if text contains tabs it will be spaced out according to these tab settings
Note: If -tN is 0, this enables the leading text to be hidden.
The third set of switches is used to change the appearance of a window.
b = border d = no border e = 3d edge f = dialog frame l = tool window L = tool window but window will not appear in taskbar n = minimize box s = sizable t = titlebar x = maximize box
Note: Some switches may automatically turn others on/off.
@name window name (must prefix with a @) x,y,w,h left top width height popup.txt popup filename, loaded when needed (must be a plain non-ini text file) /command default command (executed whenever you enter text in an editbox) font/size font name and size (defaults to status window font) iconfile/N sets the titlebar icon for a custom window
If you want the custom window to use a menu definition in a remote script, you can specify the custom window's name as the popup filename instead of an actual popup.txt filename.
Note: If you specify -1 for any of the x,y,w,h values, a default value is used, unless the window exists in which case the current value is used.
The following commands allow you to manipulate the lines in a custom window.
/aline [c] <@name> <text> add line to list /cline [c] <@name> <N> changes the color of the Nth line to color C /dline [c] <@name> <N[-N2]> delete Nth line through N2th line /iline [c] <@name> <N> <text> insert line at Nth line /rline [c] <@name> <N> <text> replace Nth line /sline [c] <@name> <N> select Nth line
The c parameter specifies a color number for the line. The -s switch selects the line that was just added and clears the current selections. The -a switch selects a line without clearing the current selections. The -h switch highlights the window's button if it is currently minimized. The -p switch forces the line of text to be wrapped if it is too long to fit on one line. The -r switch is used with /cline to reset a nickname color in a channel listbox to the default color. The -i switch is used with /aline and /iline to indent a newly added line. The -n switch is used with /aline and /iline to prevent a line from being added if it exists. The -m switch is used with /cline when coloring nicknames in a channel nicklist, and makes mIRC also color the nick in channel messages. The -l switch applies the command to the side listbox. The -iN switch indents the line by 2 spaces by default or N spaces if N is specified.
If you are referencing a window which uses a side-listbox, you can specify the -l switch in the above commands to act on the side-listbox.
/renwin <@oldname> <@newname> [topic] This allows you to change the name of an existing window to a different one, and an optional topic can be specified.
Identifiers The following identifiers return custom window information.
Returns properties for a window.
Properties: x, y, w, h, cx, cy, dx, dy, dw, dh, bw, bh, mdi, title, fulltitle, state, font, fontsize, fontbold, fontitalic, fontcs, logfile, stamp, icon, ontop, type, anysc, wid, cid, hwnd, sbtext, sbcolor, sbstate, tbtext, tbstate, idle, lb, fullscreen
x,y,w,h return the left, top positions, and the width and height of the window respectively. cx,cy return the left, top positions of the window relative to the primary monitor. dx,dy return the left, top positions of the window relative to the desktop. dw,dh return the width and height of the text display area. bw,bh return the width and height of the bitmap for a graphic window. mdi returns $true if the window is mdi, otherwise returns $false title returns the text in the titlebar after the window name fulltitle returns the full text in the titlebar state returns minimized/maximized/hidden/normal font returns the name of the current font fontsize returns the size of the current font fontdialogsize returns the size of the current font in font dialog size fontbold returns $true if the font is bold, otherwise returns $false fontitalic returns $true if the font is italic, otherwise returns $false fontcs returns the character set of the current font logfile returns name of logfile if one is open for the window stamp returns timestamp setting icon returns on/off depending on whether icon is visible ontop returns ontop status for a window type returns window type anysc returns $true if the /window -i switch was specified wid returns the window id cid returns the associated connection id hwnd returns the window handle sbtext returns the switchbar button text sbcolor returns the switchbar highlight color sbstate returns switchbar button state for a window tbtext returns the treebar button text tbstate returns treebar button state for a window idle returns idle state lb returns 0, 1 or 2 depending on whether window contains no listbox, listbox or side listbox fullscreen returns $true/$false pbstate return progress bar state pbpercent return progress bar percent
You can also use the format $window(@wildcard,N) which returns the Nth window matching the wildcard window name.
Note: You can also get the .w and .h properties by specifying: -1 for the width and height of the screen, -2 for the main mIRC window, and -3 for the MDI window where all other windows inside mIRC are displayed.
Returns the Nth line of text in the specified window. If N is zero, it returns the total number of lines in the window.
Properties: state, color
$line(@name,1).state - returns selection state for a line in a listbox.
If you are referencing a window which uses a side-listbox, you can set T to zero to reference the display area, or set T to one to reference the side-listbox.
Returns position of the Nth line that matches the specified wildcard text. If N is zero, it returns the total number of matching lines. If T is 1, it references the listbox, 2 text is a regular expression, and 3 for both.
The S parameter allows you to specify the search start position and returns the match position in $flinen.
Properties: text
Returns the Nth selected line in a listbox (only works in listboxes). If N is zero, it returns the total number of selected lines in the window.
Properties: ln
$sline(@name,N).ln - returns the line number of the Nth selected line
Examples
/window @test
This would create a window named @test with all of the default settings.
/window -els @clones 10 10 clones.txt
This would create a window with a sorted listbox and an editbox, positioned near the top left of the mIRC window, and using the popup file clones.txt which would appear whenever you click the right mouse button in the listbox.
Note: The popup text file must be plain text in a non-ini format using a non-ini extension. |