Visual IRC
Features & Screenshots
Download ViRC!
Scripts
Visual IRC Forum
Chat in Undernet #ViRC
Awards and Reviews
About the Author
About the Technology
ViRC Antique Shop
|
What's new in Visual IRC 2.0 RC4?
Additions (19)
Bug fixes (13)
Changed features (11)
Translation changes (3)
- TTreeView is now accessible from OVS (as well as TTreeNodes
and TTreeNode). Most properties and events are supported.
- ViRC.lib automatically sets up the smileys.vsc and sounds.vsc
add-ons for first-time users, as well as winamp.vsc if Winamp
is running when ViRC is started.
- The nick list can now display your channel background image.
- The "text windows" configuration page now contains a nick list
color/style editor.
- New ViRC.lib script settings to flash the taskbar and/or tray
icon when new messages arrive and ViRC is in the background.
- New command: FlashTaskbar [mode]. Mode can be "on" (or 1) to
highlight ViRC's taskbar button, "off" (or 0) to un-highlight
it, or "auto" to highlight it until ViRC becomes the active
program. ("off" may not work correctly due to Windows API bugs.)
- New function: $IsAppActive() returns 1 if ViRC is the active
program.
- TTrayIcon (e.g. $MapObject(!Main:TrayIcon)) has two more
properties: Flashing (Boolean) and FlashTime (Integer). When
Flashing is True, the tray icon will flash every FlashTime ms.
- The OnCloseQuery event of forms can be used to prevent the form
from closing. Use '@L $CanClose = 0' in the event handler if
the form shouldn't be closed.
- ViRC will create a temporary server entry when you connect to
a server that sends its capabilities in the 005 numeric. The
temporary entry will not be saved to disk by default. If you
want to keep it, you can open the server manager and move it
to a network.
- New 'Parse List' statement, just like 'Parse Extended' but it
cleans up the list first and strips quotes from the single items
($1 is the second item without quotes, $1- is the second item
and all following items including quotes). Example:
@l $list = "albert bill" charlie "dave evan"
Parse List $list
// displays: albert bill
MessageBox $0
// displays: charlie "dave evan"
MessageBox $1-
EndParse
- Increased $ovsversion to 9 because of the new OLE support.
- You can now send DDE commands to ViRC by poking data as well as by
executing a macro (for compatibility with programs written for
other IRC clients). Use the topic 'command' and the item name
'IRC_Command'. See vircdde.txt for details.
- OLE Automation interfaces can be mapped as OVS objects. See
vircole.txt for full details. Quick notes:
- OLE interfaces can be mapped one of two ways. (1) Another
program, or your script in a Language block, can call
IVSSprout::MapInterface. (2) You can create a new COM object
with the $NewComObject() function, given its CLSID, as long as
the object supports IDispatch.
- The handle 1 is automatically mapped to an instance of
IVisualIRC, the same interface available to Language blocks as
"VisualIRC".
- If $obj is an OLE interface, $ClassOf($obj) returns "IDispatch"
and $ParentClassOf($obj) returns "IUnknown".
- Indexed properties can be used by surrounding the index(es) with
square brackets after the property name: $prop(1.Servers [4])
- All parameters to an OLE method, including parameters for an
indexed property, must be individually quoted as list items.
- OVS objects can be accessed through OLE Automation by using the
IVSSprout::GetInterface method (see vircole.txt). This allows other
applications and Language..EndLanguage blocks to control objects
created by scripts. For example:
Language VBScript
Set mainform = VisualIRC.GlobalInterpreter.GetInterface(0)
mainform.Caption = "This is a new main form caption"
EndLanguage
Please note: When one of your objects' methods is called through
OLE, the parameters will be quoted as list items. See vircole.txt
for more tips on writing classes that can be called through OLE.
- New extended With..EndWith syntax. First install a handler:
ExtendWith <handler_name> [<flagset>] = <command>
Then invoke it:
With > <handler_name> [<parameters>]
<block>
EndWith
The <command> will be called with <parameters>, and the content of
<block> will be available through a TStringList object, $__Block__.
<flagset> is a set (surrounded by square brackets) of these
possible values:
xwEvalParams - evaluate <parameters>
xwEvalBlock - evaluate each line of $__Block__ before invoking
the command
xwNewContext - run <command> in its own local variable namespace
instead of the same one where With..EndWith was used
If <flagset> is omitted, the default value is [xwEvalParams].
- New OVS classes: TDriveComboBox, TDirectoryListBox, TFileListBox,
TFilterComboBox.
- Tab completion now works in server, query, and DCC chat windows.
You can cycle backwards through the completions by pressing
Shift+Tab. You can also use completion for command and alias names
preceded by a slash: /ct<tab> changes to /CTCP. In channel
windows, nicknames will be highlighted as they're completed.
- ViRC.lib recognizes the 330 numeric, returned by /whois on some
networks if the user is logged into the network services.
- Script links now work in the status window.
- TDCC transfers are correctly recognized as TDCC when the filename
includes a space.
- $URLEncode() and $URLDecode() now translate a space to %20 instead
of '+'.
- The "don't tell me about this version again" check box setting in
the update checker is saved correctly.
- The font change dialog boxes no longer show checkboxes for strike
out, underline, or color. The main font dialog box no longer lets
you change the font style to bold or italic (since channel text
always appear with regular style anyway).
- $IdleTime() is no longer reset by server pings.
- The toolbar selection popup no longer appears when right-clicking
the drawing in a whiteboard window.
- Continuous backgrounds line up with the wallpaper when toolbars
are docked to the left side.
- $ListSearchReplace() works correctly with items that contain
spaces.
- Menu item bitmaps appear correctly for toolbar dropdown menus,
the /wwho right-click menu, and menus creates with
TMenu.LoadFromMenuTree.
- Text should now wrap correctly on multi-byte character systems.
- Fixed the channel control's topic length indicator not updating.
- Updated to ThemeManager 1.9. Among other things, this fixes
sab0tage's channel control script causing errors when you close
ViRC after opening the channel control form.
- As a precaution, the built-in script editor no longer allows
you to save the file if any code was lost during loading.
The warning message explains that you must edit the file with
a text editor.
- The top-level code in a script (header/footer) can examine $2
to find out whether this is the user's first time running ViRC.
$2 will contain "firstrun" if so.
- The script editor appears much more quickly when using the
'-editscript filename.vsc' command line option.
- ViRC.lib now fires <OnCreateStatusWindow* events after creating
the status window, to allow other scripts to change the
appearance of the status window and its popup. $0 is the object
handle of the window itself (TMonkeyScroller) and $1 is the
popup menu (TPopupMenu).
- Color names are now more friendly on the "text windows"
configuration.
- Some configuration pages have been re-arranged.
- The error message displayed when you try to change your nick
while banned/gagged on a channel now shows the channel name.
- The channel list window is no longer modal. You can select
another window while the list is open, then switch back by
clicking the channel list's window tab.
- Relative path names can be used in embedded TextOut bitmaps
(\S@bmp:smile.bmp:alt text\S) and script link bitmaps
(\S@slbmp:smile.bmp:command:alt text\S).
- Nicklist flag colors are now saved in color scheme files.
- English messages from ViRC.lib and toolbars.vsc have been moved
into english.lib to facilitate translation. You can use
english.lib as a base for translating ViRC.lib's messages into
other languages.
- Added messages: Msg_SS_flashtray and Msg_SS_flashtaskbar, the
captions of the script settings to flash the tray/taskbar when
a new message is received while ViRC is inactive.
- Message library version 2.
- Msg_BanNickChange can now use $$chanstr for the name of the
channel that prevents a nick change.
Change log history:
|