home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2005 June
/
ccd0605.iso
/
Software
/
Freeware
/
Comunicatii
/
jIRCii
/
whatsnew.txt
< prev
Wrap
Text File
|
2005-05-08
|
58KB
|
1,087 lines
Beta 34 Release 05.08.05
====
- users who are no longer visible to the irc session (i.e. quits, people
not on a common channel with you) are removed from the internal data
list on part and quit events.
- added a switchbar option to always sort the switchbar buttons
- &getWindows() now includes the %STATUS% window in the list
- adjusted how jIRCii calculates text width/height metrics for the custom
text display, should make serge happy.
- added %GLOBAL, a hash whose contents is shared across scripts and across
servers. Should make the blue-elf happy.
- fixed extra character being appended to mode $parms string
- added error detection for attempting to use foreach loop on a non
array value.
- updated &use() to only instantiate dynamically loaded class once
other scripts loading this same class will share the instance
** I updated beta 34 at 10am CET to adjust the height font metrics back
to the old method. The new width calculations are staying in **
Beta 33 Release 05.01.05
====
- added support for ISUPPORT numeric 005. This information is available
as a hash scalar via &getSupportHints();
- PREFIX variable from ISUPPORT is used to map user modes on channels
- added a hasmode predicate i.e. if ($nick hasmode $channel) { }
- added a &getModeFor("nick", "#channel") to return the mode display
character that nick has on #channel
- fixed bug with perform on connect not firing on servers with no MOTD - Elly
- added a $channels variable which is available inside of the QUIT event/set
- /me now works in a DCC Chat
- added an option to View -> Options -> IRC OPtions to disable auto
update of internal address list on channel join
- optimized the drawing of text selection a little bit. you might not
notice, but I did spend 3 hours on it.
- updated &addTimer to interpret parameter as a sleep closure
- added "reconnect.time" property (set to 5s by default). this variable
controls how long jIRCii sleeps between attempted reconnects.
- personal idle timer is now reset even if the on input event is halted
- fixed clickable URL's not working with "www.somesite.com"
- array index operator can now be applied to HOES expressions i.e.
$var = ["this is a string" split: " "][1]
Beta 32 Release 04.24.05
=====
- upgraded Sleep library to Sleep 2.0-b6, new scripting features galore.
Stable 31 Release 03.20.05 (Maintenance Release)
=====
- fixed 100% cpu usage when moving the jIRCii window on Windows
- functions tileWindows(), cascadeWindows(), activateSession(),
setSessionColor(), and setSessionText() now take place on the UI thread.
This is to prevent a deadlock situation.
- window parameter in getWindowState() and setWindowState() is now optional to
allow accessing the state of the main jIRCii window
Stable 30 Release 03.13.05
======
- added parseSet("SET_NAME", %hash), the old option of
parseSet("SET_NAME", "target", "parameters") works as well. This can be used
in conjunction with %localData to echo a built-in set from an event that
halts client output.
- ISON not enough parameters suppressed by broken ircds that can't handle empty
ISON lists (used for checking lag).
- clickable channel names feature has been adjusted to not fire for channel
texts ending with a period. I've been burned by this many times so I
decided to fix it.
- jIRCii window now updates background images after being moved.
- added numeric 308 to jIRCii's internal list of whois numerics (not supported
in the default script though).
- PART messages are only supressed if auto /window on join and part on window
close are both enabled.
Beta 29 Release 02.27.05
======
- fixed a bug with using fireEvent() from within an event.
- server connect notices now always go to the status window
- text no longer auto scrolls if you are scrolled up.
- CHANNEL_NAMES set now goes to channel window
- fixed a race condition with echoed text and listbox updating.
Beta 28 Release 02.12.05
======
- Fixed race issues in Sleep parser
- Fixed script stack conflicts caused by the global script cache
mechanism
- Removed timer synchronization (this is likely a good thing)
- jIRCii now strips out the unreal mode "!" indicating someone
is a channel admin, assumes an @ in its place... *crosses fingers*
- added a property "notabs.border" for determining the size of the
window border when server tabs are turned off... default is 1x
this is for scripters who really want to tweak things...
- bound Alt+H to open the help dialog
- hard coded the default behavior of double clicking a nickname in
a channel listbox, this behavior can be overriden with a script.
- removed the garbaged collection call tied to /clear, /clearall
- fixed /run, /exec threading, I was making a method call that
resulted in the /run, /exec being executed in the current thread.
this has been fixed. try /run, /exec again, you'll like 'em.
- on disconnect the first message will be echo'd to every window,
every disconnect from a reconnect attempt will thereafter be
echo'd to the status window.
- lag checking is now tied in as part of the notify list requests
rather than sending a CTCP LAG to yourself every 60 seconds
- temporarily removed IRC Tutorial from Help dialog
- added property "ui.buffersize" which defines the max tolerance
of the scrollback buffer. when this value is hit, the scroll
back buffer is trimmed down to half of the max buffer size.
- added &getButtonColor("window") for retrieving the color of the
text on a switchbar button in aarrggbb format.
- added &setButtonColor("window", color_in_aarrggbb_format)
for setting the color of the text on a switchbar button
- text echo'd using &echoRaw is now logged (if logging is
enabled)
- added "switchbar.hilight" option to enable/disable built-in
hilighting a switchbar button on activity.
- added on session { } event to signify the current irc session
becoming activated.
- rewrote sleep predicate parser to allow for right hand side
expressions to evaluate correctly i.e.:
if ($x < (3 + 4) / 6) { }
- jircii now handles empty /names replies better...
- added a $mouse variable to on click/dclick/sclick events, this
variable contains random info about the mouse event that you
are more than welcome to parse and do stuff with.
Beta 27 Release 01.29.05
======
- fixed a NPE caused by sleep subroutines with no return value being used
in an expression.
- added $handle = &listen(port, [timeout], [$info]) function for creating
a simple server socket.
- On MacOS X the Info.plist file now reflects the correct jIRCii version
- Fixed long standing "ghosted" channel listbox bug.
- Fixed bug with perform on connect / jIRCii Launch service not working
on servers that have no MOTD
- The jIRCii script loader now cache's parsed scripts
- Did more work trying to make jIRCii better about memory.
- added an option to enable/disable text anti aliasing (thanks [Serge])
check out: View->Options->Font Options
- bound the Home key to move the cursor to the beginning of the input box
- bound the End key to move the cursor to the end of the input box
- fixed timestamp getting the wrong am/pm value for noon.
- clickable URL's are now case-insensitive
- unbroke &mask() function, thanks to blue-elf for pointing this one out
- URL's inside of parentheses (http://www.google.com) are now clickable
Beta 26 Release 01.23.05
======
- Did some work making jIRCii let go of memory. This will be an ongoing
process.
- Added another syntax for events:
on event "*source* *target* *parms*" { }
Essentially the string parameter represents 3 wildcard tokens that
describe what event you want to match. See the jIRCii Scripting
Reference for more details. Descriptive events and normal events will
still continue to work the same.
- Made the /clear, /cls, and /clearall commands call the garbage collector
to immediately reclaim memory.
- clickable URL's now work for https:// url's.
- perform on connect commands are now evaluated for $var's. i.e. you can
now do like:
/mode $me +i
- sleep hashtables now filter out all keys with $null values when
returning a key set with keys().
- fixed -isletter and -isnumber returning true with empty parameter strings.
Stable 01.03.05
======
- fixed Meta+N, Meta+T opening a new irc server keyboard combinations
- on "open" event now fires immediately after a window opens.
- made the help window a "touch" wider...
- updated jircii launch service url handler to allow the server port to be
specified: irc://nick@irc.server.com:port/channel?key
- fixed sleep bug with for loop initialization terms. Simple stuff like
for ($x = 0; ...) worked fine, stuff like for ($x = 1 + 2; ...) turned
out to be broken. Fixed.
- added a "Scripting Tutorial" to the help window documentation
Stable 12.18.04 - Christmas Maintenance Release :)
======
- unbroke &getClipboardText and &setClipboardText, for the longest time I
was blaming this on Sun. Turns out I installed my bridges wrong. They
work now :)
- &getWindowTitle() w/ no args now returns the titlebar text of the
jIRCii window
- &setWindowTitle("text") w/ only one arg now sets the jIRCii window
titlebar text
- clicking a url/channel will now give a little visual cue of the hand
cursor that the action has been processed.
- reworked the built-in help window
- reformatted a lot of the help window documentation
- fixed a bug with Ctrl+K and no number chopping a character (patch from Mouton)
- actions in private messages will now cause a /window to be made if auto
/window for messages is enabled.
- fixed a bug where windows w/ spaces in the name weren't being closed by
their switchbar menu
- added &getLogFile("window") function to retrieve the path to and name
of the file messages for "window" are being logged to.
- added &logMessage("window", "text") to hook into the message logging
system and log a message (iff logging is enabled)
- upgraded to Sleep 12.18.04 (fixes bugs and such)
Stable 23 Release 11.25.04
======
- Removed the kick/ban/insult/slapz popup menus. *sigh*
- added a &duration(seconds) to format time time into days, hours,
minutes, and seconds string.
- fixed /clearall not reseting status window highlite color
- fixed a bug with auto connect on startup not being able to find a server
in the servers.ini list.
- fixed a sleep bug with ||'s and &&'s that broke the <TAB> file
completion for /theme, /load etc.
- fixed <TAB> completion bug with /msg nickname<SPACE><TAB> putting in
message box /msg nnickname
- hardcoded and enhanced clickable URL handling. Nice thing is now that
it is hardcoded the event can be halted by an on click event. Removed
OPEN_URL set
- fixed a null pointer exception with the mouse scroll wheel on a
completely cleared window.
- the string %STATUS% is now used to refer to the status window in certain
window functions. scripts that refer to the "Status" window will need
to be updated.
- fixed a bug where text from someone with a nick of Status would go to
the status window.
- fixed a null pointer exception closing the status window with server
tabs turned off
- bound Ctrl+D key to close about dialog for those unfortunate souls who
have crappy window managers that don't put window controls on certain
types of dialogs.
- scripted a close window menu item to the switchbar buttons
- added a printAll($handle, @array) function to sleep
Beta 22 Release 11.20.04
====
- Congratulations jIRCii scripters, you are now sleep beta testers:
- fixed bug with return not working inside of while/for loops
- added 'break' command to sleep
- added a iff(condition, value_true, value_false) operator
- added checkError([$scalar]) which will return a error description
string if an operation failed (i.e. openf, connect, exec)
- moved date/time functions &parseDate,&formatData,&ticks over to sleep
library
- updated getScriptResource("script.irc", "directory", "file") to take
multiple parameters
- /st #channel text will no longer attempt to set the channel topic...
- clearing a window now resets its switchbar color (unhighlites it
basically)
Beta 21 Release 11.13.04 <Stable Release Candidate>
====
- fixed a perform on connect issue with "random" servers.
- increased the dcc timeout to 2 minutes from 1 minute.
- fixed a sleep bug not detecting a missing ; in return statements leaving
a ; out of return statements would crash the sleep parser
- jIRCii script loader now reports to user if the parser 'crashed' when
attempting to load a script.
- fixed a null pointer exception occuring with proxy settings enabled (in
some cases)
- added an indicator to the default script statusbar of what server/
session id your in, when you have the server tabs disabled
- fixed an issue with dcc local info getting messed up preventing users
from sending files (triggered by viewing the dcc options)
Beta 20 Release 11.11.04
====
- added an option to disable the server tabs
- added an option to disable the jircii menubar
- added Alt+O to open the options dialog, you'll want this after you
disable the menubar and decide you want it back.
- moved font options to their own dialog
- added an option to 'disable' the warning message stating jircii needs
to be restarted when a preference changes
- added font size 9 to the font options dialog
- if resolving hostname using server method fails jIRCii will now resort
to using the "normal" method for local hostname lookup
- made jIRCii bring up an error dialog for any JVM less than version 1.4.2
- small bug fix with tab completion, fixes /command<SPACE><TAB> from
bringing up //command
- added function scrollWindow("window", +/-lines) positive value to scroll
down, negative value to scroll up
- bound the page up and page down keys to scroll up and down
- added getCursorPosition("window") and setCursorPosition("window", n)
functions
- updated getFileProper("parent", "child", ...) to take any number of
parameters to string all params together into a properly formatted
pathname for the current OS.
- renamed "Other Commands" in help dialog to "Keyboard Shortcuts"
Beta 19 Release 11.06.04
====
- added a .exe front end for easily launching jIRCii on Windows
- small UI tweak to the sorted list windows, 1px between headers and
information
- fixed: part command is no longer sent when closing a channel window for
a channel you are no longer present on.
- irc framework is now "tolerant" of ultra lame Unreal IRCd & and ~ modes
for users.
- on raw event is now haltable... meaning you can catch anything that
comes through the irc socket and stop jIRCii from processing it.
- updated &clear(@array/%hash) to work with hash scalars as well as array
scalars.
- added &hash('key=value', 'user=password', ...) to generate a %hash
- added getScriptResource("script.irc", "resource.file") which returns a
properly formatted pathname for the current OS that points to
resource.file in the same directory as script.irc
Stable 18 Release 10.31.04
======
- made jIRCii irc parser always match *!*@* as a nick!user@host pattern,
no matter what the contents of nick, user, or host are. (fixes some
bugs for example an some irc network puts colors in the hostmask of
ircops which freaked out jIRCii)
- oops, somehow internal function fireEvent() was removed from being
loaded into the script environment - fixed!
- made the DCC list a synchronized data structure, hopefully preventing
lockups when many scripts are trying to access dcc data.
- may have fixed a focus problem w/ jIRCii MDI mode. I noticed some code
that needed to be fixed and fixed it.
- added a check to keep jIRCii windows from stealing the keyboard focus
when a dialog is active.
- added formatNumber(number, base) and parseNumber("number", base) to
sleep for formatting a number to a certain base and parsing a number of
a certain base value.
- updated keybinding constant Number_. to be Period
- /dns nickname now works if nickname is in the Internal Data List
- added a hook to the tab key binding, if $_IS_FILE_COMPLETE is set to 1
then hitting tab will trigger filename completion over all else...
Beta 17 Release 10.24.04
=======
- jIRCii now loads sleep scripts with no charset conversion.
[ Scripters - this change is a big deal for you. You can now use
upper-ASCII characters in your script and the way they render will be
dependent on which font you use, not how Java chooses to mangle the
character encoding of your file ]
- selected charset option now works for text sent as well as text
received.
- Added what every irc client needs: A SOUND API!@#$$%^
The Sound API can be summed up with the following code:
$sound = loadSound("filename");
soundPlay($sound);
soundLoop($sound);
soundStop($sound);
Sound files can be a MIDI file, a .WAV file, or a .AU.
- Made Perform On Connect feature case insensitive when matching your
network preferences to the network you are currently on.
- Fixed cosmetic blemish in the UI Options dialog causing charset options
to not paint correctly.
- added function &buildCP437String("string") to do a CP437 charset
conversion. will only work on characters that haven't been converted
yet (i.e. any text in a script file). CP437 is the charset that defines
all those ansi characters everyone is so fond of.
Beta 16 Release 10.16.04
=======
- fixed jIRCii launch service Guest_nn nickname not being random
- tab character is now rendered as 3 spaces.
- added printEOF($handle) function to signal end of file to an i/o output
stream.
- fixed bug with jIRCii Launch Service not connecting to servers that
aren't specified in the servers.ini file
- made default username information more friendly for lame servers
(jIRCii Quick Launch)
- logging mechanism now works for window names with weird characters
i.e. |'s and such
- fixed a null pointer exception with /st #channel when your not on #channel
- added a "charset encoding" option to Options->GUI Setup, this allows
you to set which charset should be used to interpret data coming from
the irc and dcc chat connections.
- Fixed key bindings on non-english locale machines, the fix was to
hardcode descriptions for bindable keys in jIRCii's source code.
- small cosmetic change to options dialog (fix problem with DCC Options
on Java 1.5.0)
Beta 15 Release 10.03.04
====
- Updated to Sleep 09.26.04 library
-- adds use of tuples for assignment i.e. ($x, $y, $z) = @array;
-- removed whitespace requirement for the string concat operator .
-- added a strrep("string", "old", "new" for straight up string replacement.
- Updated menus.irc to not use . as part of any variable names. Sleep
doesn't allow this anymore.
- added a check to prevent Sun's !!!!BROKEN!!!! GTK Look and Feel from
being resolved as the native look and feel.
- Added support for SOCKS v4/5 proxy servers
- Updated to a new servers.ini from Tjerk Vonck (cLAN: mIRC)
- jIRCii now executes key binding code in the "event" thread, hopefully
this will prevent code bound to keys from causing any deadlock problems.
- added a check to prevent "perform on connect" commands from being
executed again after manually typing /motd
- added support for command line argument in irc://server/channel?key
format to cause jIRCii to connect to server and join #channel with
specified key. This is a necessary step to make it possible for web
browsers to use jIRCii to handle irc:// links
- updated alias help to include /away, /back, and /nick
- updated /query to actually list all channels your on when typed by
itself (the help docs listed this behavior for a long time, it just
never had it).
- made jIRCii better about letting go of some memory when closing a
window
- window numbers in "Window" menu now match numbers used for switching
windows with Alt+n keyboard shortcut.
- Added SET_NOTIFY and SET_IGNORE for echoing something when the ignore
or notify lists are modified via the /notify or /ignore commands...
- text input events are now fired even if user is accidentally holding
down shift/ctrl keys while pressing enter. anything to take care of
Zenon.
- Added Ctrl+Left/Right to quickly navigate previous/next server
sessions, along with Alt+Left/Right to quickly navigate previous/next
channel/query/dcc windows...
- Added function getCurrentWindow() that returns the safest window to
echo text to, either the current active window or the status window.
- Altered getActiveWindow() to return the real current window wether its
a special (i.e. dcc list, /list -gui) or not. This fixes a bug with
Ctrl+D on a special window closing the current server connection.
- added &renameWindow("old", "new") for renaming a window, only works on
query windows right now.
- added a feature, when a user you have an open /window with changes
their nick, jIRCii will rename the window for you.
- added &echoColumns("window", "col1\tcol2\tcol3...", .9) for echoing
formatted text that stays in columns similar to how the /names list is
wordwrapped
- added /creply command for sending a CTCP reply
- added /eval <expr> command for quickly evaluating and echoing the
result of a sleep expression
Stable 14 Release 08.07.04
======
- fixed a nasty bug in the logging causing log files to be open in overwrite
mode rather than append.
- logging information is now saved to a subfolder based on actual irc network
rather than the irc server hostname.
- quick cosmetic change to the dcc options dialog
- /newserver now takes the same parameters as /server
- added an option under the windows dialog to adjust the width of the channel
names listbox.
- enhanced clickable channels a little to allow clicking on @#channel
+#channel etc.
- gotta love the decisive nature of my coding... on repl_nnn events have
returned but on nnn will continue to work as well. I won't change this,
promise :)
- fixed a bug with failed nickname change (due to changing to fast)
messing up jIRCii's internal data structures and throwing an exception.
nickname change set will not be fired in this case...
- fixed bug in default.irc set SEND_DCC { }, off by one with the
parameters
Beta 13 Release 07.31.04 (Stable release candidate)
====
- fixed a problem with the sleep return stack... it manifested itself in
the form of a loose nickname being echo'd to the status window here and
there.
- made -lnf argument take precedence over setting to use native look and
feel.
- if a channel has no bans set /banstat will echo a message relaying that
info. Added a CHANNEL_BANLIST_END set to go with this.
- made the directory selector widget recognize wether or not its disabled.
- clicking on a channel name will cause jIRCii to join that channel.
- made 'o' the default focus accelerator for the Commands menu, so it no
longer conflicts with the Connection menu focus accelerator of 'C'.
- /dcc stats dialog and channel /list -gui dialog sizes and positions are
now remember seperately of other sorted windows.
- found a problem with IRC events, apparently on repl_nnn doesn't work,
however on nnn where nnn is a numeric does work. So rather than fix the
code I updated the documentation. set repl_nnn { } is still in use
though.
- added a 4th parameter to addTimer(&func, n seconds, r repeats, paramter
for &func) basically parameter for &func will get passed to &func
whenever the timer is executed. Useful for creating dynamic timers.
Thanks elf.
- fixed bug with dcc sessions dialog close dcc menu option closing the
wrong session. Thanks GulaBapa for pointing this one out. See I do
occasionally listen to my users.
- made tab based file completion case insensitive to shut naz up.
Beta 12 Release 07.25.04
====
- added an expr('3 + 4') function to sleep for evaluating an expression
- added \r (return), \n (newline), and \t (tab separator) escape
constants to sleep
- added scripting function setClipboardText("text")
- REPL_321 is no longer mistaken as a /whois reply numeric.
- added normal array @_ to subroutines, which contains all of the
arguments passed to the subroutine.
- fixed divide by zero bug with trying to cascade or tile windows when
there where no active windows
- enabled SO_KEEPALIVE on dcc chat sockets, this way a dcc chat socket
won't sit there forever if the socket actually died awhile back.
- setup a timeout of 60 seconds for dcc send and receive sockets.
- added /banstat [#channel] command for obtaining a list of bans,
consequently I added a CHANNEL_BANLIST set to go with this...
- added /unban nick|banmask command to unset all bans related to nick or
to unset the specified banmask.
- fixed problem with activateWindow() not working on windows opened as
minimized to start with.
- added a check to keep jIRCii from announcing it has resolved your local
host info multiple times.
- \t is now the column separator for sorted windows
- added matched() function to sleep, works like matches("string",
'pattern') except it uses the values of the last ismatch comparison.
- added to sleep getFileProper("/path/to", "file") which returns
/path/to/file in the appropriate form for the current operating system.
- added tab based file completion to /dcc send, /send, /load, and /theme
- added a function fileCompleteAll("partial file") to access file
completion routines. I originally scripted this but decided to make it
available for anyone
- reworked directory selection widget in the options dialog, this is to
prevent drawing problems due to weird Java layout behavior. Some
functionality was lost but I don't think I really had a choice.
Beta 11 Release 07.17.04
====
- made a for real no kidding hack to keep the timer thread from dieing.
fix it? haha yeah right...
- fixed potential divide by zero error when calculating dcc transfer
rates.
- removed a typo in the IRC_RECONNECT set (had to log some sort of
change).
- rearranged the dcc statistics a little bit and added a field for the
total size of the data sent or received.
- added a getScriptPath("filename.irc") function for obtaining where a
loaded script exists.
- added an option to fill spaces in a filename when doing a dcc send.
- made the SEND_DCC set friendly to filenames with spaces ($1 = port,
$2 = size, $3- = file)
- unbroke sleep function &clear(@array).
- added a ©(@array) function to sleep which returns a copy of the
given array and copies of all of its values.
- fixed bugs with the tab completion...
- redefined some key bindings:
Ctrl+C is no longer bound by default, this is to prevent interfering
with the function of copying text on Windows.
The Escape key has been bound to clear the editbox.
- made 'server method' technique for resolving dcc local info the new
default
- Added a 'theme' manager. An easy way to import/export colormap and
background color settings for jIRCii. Along with this comes a /theme
"filename" command to load a theme. Implementation wise it is just a
jIRCii generated sleep script. Loading a theme is basically the same as
loading the script and executing it one time only. Special thanks to
Dekkard for the suggestion.
- added a generateThemeScript("filename") function to generate a theme
file from the current settings.
- tile and cascade functions for jIRCii now unset maximized property
- added "x" operator to sleep, which is string repetition i.e.
$str = "abc" x 4; # $str is now "abcabcabcabc"
- updated some of the cosmetics of the help menu.
- gave dcc open messages and dcc close messages their own colors, so they
are no longer the same as joins and quits. (just for you tijiez)
- made sorted windows tie into most normal window events and window
manipulation functions, I expect bugs, lets hope not though.
- added a -isspecial "window name" predicate for determining if a window
is a special window (i.e. list dialog, dcc stats, sorted window etc) or
not.
- scripted sorted windows are no longer activated by default when opened.
To activate them you must explicity call activateWindow("Window title")
- added "on sclick" event for when a row is a double clicked in a
scripted sorted window. right now $0 = row number, $1- = window name
- fixed a bug with $window in "on close" always being set to "Status",
had to do with the order of close events.
- added a /dns <hostname> command, to go along with it I've also added a
RESOLVED_HOST set
Beta (10) Rerelease 07.11.04
====
- fixed a problem causing QUIT messages to now show up. I don't know
where this came from but it is the reason for the rerelease.
- undid b10 change of making IRC_RECONNECT message display once.
Beta (10) Release 07.10.04
====
- window position information is now saved when you close an internal
window (used to only be saved when a window was activated... but
nooooooo that wasn't good enough).
- added a check to code to prevent /window by itself from opening a
unclosable blank window.
- made the size of default windows larger...
- fixed join sync not showing up for channels with different case than
what the user joined with.
- fixed a divide by zero problem with getTransferRate()
- added a check to prevent the dcc sessions window from being opened
multiple times per session.
- added some synchronization to the stop timers code...
- getWindows() now returns windows in the order they were opened (i.e.
the switchbar order) this fixes the Alt+n window ordering problem and
makes the Window menu more accurate as well
- altering the position of the listbox is now done in the swing event
thread, should fix weird problems where a copy of the listbox becomes
ghosted in some position
- Courier New, size 13 is now the default font for Windows and MacOS X,
all other platforms will by default use the "monospaced" font.
- fixed perform dialog bug, sometimes settings for a network would carry
over to the "all networks" setting.
- made the /reload filename.irc command apply to all irc sessions
- verbose script loading now displays script loaded message before
executing script (but after loading)
- added nickCompleteAll("pnick", "#channel") that returns an array of all
nicknames on #channel matching pnick. the array is sorted from most
relevant to least relevant...
- enhanced tab nick completion to cycle through nicknames...
- added tab completion for / commands i.e. /un<TAB> will put /unload in
the editbox... this is experimental, if you don't like it let me know
and I'll take it out
- added function getAliasList() that returns an array of all built in
aliases and scripted aliases built in aliases are lowercase, and
scripted aliases are uppercase.
- attempting to reconnect to server message is now echo'd only once after
disconnection this should prevent screen from flooding with attempting
to reconnect messages
Beta (9) Release 06.30.04
====
- added a quick way to edit the channel topic:
type: /topic and then hit <TAB>, the current topic will come up in the
editbox found the idea in the irc client irssi. way to clever.
- "/mode #channel" will now echo the current mode for the given channel,
the set CHANNEL_MODE_IS has been added as well
- expanded /mode command a little bit, works as normal otherwise:
/mode - echos the mode for the active channel
- added /sm command -> a shortcut for the /mode command
- reply 331 (no topic set) now fires set CHANNEL_TOPIC_IS
- added a SEND_DCC set, similiar to SEND_CTCP set
- verbose script loading is now enabled by default
- a error set is now fired (i.e. CHAT_CLOSED, or SEND_FAILED) if jIRCii cannot
bind a port to listen for the dcc request...
- /notify nickname now adds user to notify list (jIRCii has always had
/notify <add|remove> <nickname>... however people assumed /notify nick to
work).
- the ident daemon now dies disables itself more gracefully when you turn it
off in the options after it didn't startup in the first place (bug fix).
- fixed a bug in internal method for resolving the weekday, sunday was comeing
up as an unknown day.
- hitting enter on an empty textfield now fires an "on input" event with $1-
set to ""
- fixed a bug where input halting wasn't being reset after each firing of an
input event.
- fixed a case issue with determining wether or not a target is the active
query, channels that were active were having text displayed like they were
inactive due to case differences.
- fixed problem with fixed width switchbar buttons on Windows not
dissappearing upon closing a window..
- added a getTimeRemaning($dcc_conn) function for getting the estimated time
left for a dcc send/receive connection... I didn't want to script it so I
assume you wouldn't want to either...
- added a formatTime2(n) function for formatting n seconds into a hh:mm:ss form
- added estimated time remaining to "/dcc stats" information
- added "version.addons" internal property, if this property has a value it
will be used when jIRCii reports its version information instead of a
tagline... a convienent way for scripts to announce that they are loaded
- tweaked the look of the /dcc send "dialog"
- added a check to prevent jIRCii from resuming a file that is already
completely downloaded.
- fixed a data structure bug, when a user parted a channel the channel wasn't
removed from the user's internal list of current channels... naughty naughty.
- /dcc send dialog and scripted file dialogs now remember the last directory
to be worked on.
- added a check to dcc receive, full file paths are now stripped off of
incoming dcc requests
- sorted list window's now have properly sized switchbar buttons under the
fixed-width setting
- added scripting interface for creating a sorted window and refreshing the
data in a sorted window. See scriptjirc.pdf under the Dialog functions.
Beta (8) Release 06.24.04
====
- fixed a bug with time+date stamp code miscalculating the current weekday
- added a logging feature, now you can log everything... great for turning in
your friends who brag about the latest DoS attack or creating the latest
virii.
- worked around a painting problem with the UI Options dialog under OS X
- refactored the /list -gui code so I now have a more generalized window that
can display data in the same way, made some small cosmetic fixes as well
- DCC_REQUEST set is now actually being utilized. It was there just not being
used for some reason.
- added a /dcc stats, it is the same as typing /dcc by itself except it comes
up in its own window and is updated automatically...
To go with this I added several sets for customizing this dialogs output
DCC_LIST_TYPE, DCC_LIST_NICK, and DCC_LIST_INFORMATION, I've also added
a "dcc" popup menu hook which has a local variable $this for referencing
the dcc connection. See the updated scripting docs for more info..
- popup menus will now invoke /list -gui for channel listings.
- switched default font to Java's "Monospaced" which is available on
every java platform.
- added a "fixed width buttons" option for the switchbar, under
Options->Switchbar the hack to make the fixed width buttons shrink when
the switchbar is filled is beyond ugly.
- adjusted the default size of the options window so it will layout
properly on other platforms *cough*linux*cough*
- Miscellaneous UI tweaks: font selector, miscellaneous options, script
manager, input field (opaqueness)
- Reorganized the Options->Interface Options dialogs.
- text layout tweaks: main display, statusbar, and input field all line
up with eachother when drawing text... there is a 2px buffer between
the edge of each component and the first character.
- fixed a bug with editbox font not updating immediately when the font
preference is changed
- keys bound with the "bind" keyword are no longer processed by java
itself. once your script gets ahold of the key then thats it.
consequently this fixes a bug with my Alt+n and Ctrl+n shortcuts putting
numbers in the editboxes when they where being used.
- internal help filenames no longer have spaces in them, fixing a problem
with jIRCii's help on Java 1.5 under Linux
- made some changes to the way font metrics are calculated for laying out
text. most fonts will now look more centered on the statusbar.
- fixed a null pointer exception when auto joining auto /window'd
channels...
- expanded irc parser host pattern to accept the = sign
Beta (7) Release 06.11.04
====
- added a kickass little toolbar, there is also an option to disable it
under Options->UI Options at first I didn't like it but now its kind of
grown on me.
- bug fix: multiple lines of text, when pasted will all be sent to the
server...
- added a /list -gui option which pops up a channel /list dialog with
sorting and searching abilities
- added a new popup menu hook "list" for the channel /list window. $0 =
channel $1 = users $2- = topic
- added a new popup menu hook "switchbar" for the jIRCii window
switchbar, $0 = the window name
- fixed a bug with 'on input' event and halt. once halt got used with an
on input event jIRCii would not process any more input (the halt got
stuck)... this one pissed me off when I was trying to write an xdcc script.
- clicking edit in the server editor will now select and scroll to the
same server in the server editor dialog.
- removed the scriptjirc and sleeplang html files from the jIRCii
distribution, I like the pdf better. The html versions of these files
will continue to be available on the jIRCii website.
- fixed a null pointer exception when auto connecting and auto joining
channels resulted in stuff happening before all the datastructures were
propagated...
- made regular expressions for nickname parsing more liberal, so jIRCii
shouldn't have problems parsing nicknames on servers using different
charsets (i.e. Korean nicknames)
- added an error message for attempting to reload a script that isn't
currently loaded
- fixed scripting documentation, I documented the wrong parameters for
sendReply() and sendRequest(); they both require three parameters... not
two.
- made multiserver session information querying commands take an index as
a parameter, so you can query information about other sessions from a
script in one multiserver session.. this affects getSessionColor()
and getSessionText()
- added a %localData hash variable to help out scripters. Local
variables are basically function parameters, stuff made local with the
local() function, event variables etc. %localData is a read-only
hashmap with all of the keys and values for all of the local data
To see all of the variables passed during a ctcp request event:
on request
{
foreach $var (keys(%localData))
{
echo("$var = " . %localData[$var]);
}
}
- After having my arm twisted, I've added an on exit event.
- if a variable is empty in the config file (not just non-existent)
jIRCii will now use the default value, this should allow anyone to
connect even people who fail to set a nickname, realname, email etc...
- rearranged some of the ui options in the interface section of jIRCii's
options.
- unbroke font previewing under Mac OS X.
Beta (6) Release 06.03.04
====
- added an IRC_ATTEMPT_CONNECT set to go with a message that is displayed
when jIRCii tries to connect to a server...
- altered the cosmetics for default.irc's FORMATTED_NAMES to allow for a
nick of up to 12 chars in length, anything longer is cut off... this is
only in default.irc - your script can do what it wants.
- fixed up default.irc's tab nick completion to not insert a space after
the nickname you just nick completed, and to not insert a space if the
nickname is the only word in the editbox...
- added keyboard shortcuts Alt+1.. Alt+9 for switching windows using the
keyboard...
- added keyboard shortcuts Ctrl+1.. Ctrl+9 for switching server contexts
using the keyboard...
- altered the socket timeout stuff to time the irc connection socket out
in 5 minutes rather than 30. If the irc server or client are not
responding to eachother (at least for the lag stuff) in 5 minutes then
there is definetly a problem.
- fixed a bug where you couldn't type to a dcc chat while not connected
to an irc server... thanks elf.
- added a Ctrl+W keyboard shortcut to create a window for the active
query...
- added keyboard shortcut Ctrl+D to close the active window
- $me now returns "<Unknown>" when not connected to a server, rather than
""
- added the ability to auto connect to certain servers on client startup,
use the server editor to flag this option.
- added a &serverInfoCommand($server) function for returning the /server
command for the given server with all the flags for the user options for
that server.
- hopefully fixed bug with autoperform on connect feature misidentifying
some servers and joining the wrong stuff for the wrong network.
- added an option for verbose script loading and unloading mainly to
shutup blue-elf
- updated to a new servers.ini released by Tjerk Vonck on 16 Apr 04
- small cosmetic changes to the help menu
- added &callInSession(<session index>, "/command") to execute a
command in another session...
Beta (5) Release 03.13.04
====
- altered some of the cosmetics of the help menu
- decided to make auto /window enabled by default. this goes against my
idea of what the client is all about but it probably should be done.
- as a corollary to the auto /window enabled by default, all of the echo
to active irc options have been enabled by default as well.
- added $window variable to SBAR_LEFT and SBAR_RIGHT sets.
- updated the servers.ini file to the one released by Tjerk Vonck on 25 Feb 04
- removed most of the outdated classes in the test package (unnecessary)
- double clicking a server in the server list now causes jIRCii to connect to
that server. thanks eric for complaining about that one.
- added several functions for querying information about the current server
connection: getServerHost(), getServerPort(), getServerPassword(),
isServerConnected(), isServerSecure(), and getServerNetwork()
- removed built in variables $myserverport and $myserver (redundant now)
- updated the Connection -> Connect menu to store all information about a
server connection including port, password, and ssl secure or not. This
information is used when reconnecting to the server.
- made the regular expression for detecting nick!user@host patterns a
little more liberal, mainly expanded the user part of the pattern. This
should fix a bug where nicknames don't show up at all i.e. "<> hello!"
instead of "<nick> hello!"
- color codes and such are now stripped out of topic when it is put in window
titlebar.
- added a tooltip to the DCC Dialog's local info option that mentions an IP
address can be manually typed in.
- added a perform on connect feature, any commands punched into the perform on
connect dialog for a specific network will be executed when connecting to that
network. useful.
- added functions for accessing the data contained in the servers.ini file.
- added an option to enable/disable the channel listbox or position it on
the left or right of a channel window. I think hyst asked for this.
- the titlebar of channel windows now shows the channel limit if the
channel has one set.
- fixed a problem with word clicking stuff... kind of miniscule but I'd
get the occasional exception because of it.
- added an on unload event... now scripts can clean themselves up after
being unloaded
- when someone says your nickname in a channel there nick will be
emphasized a little bit. (small change in the default script)
Stable (1) Release 02.25.04
====
- fixed problem with subroutines being called in a file other than the one they
were declared in. this was created by my bugfix for runtime warnings not
properly reflecting the file of the executing code.
- altered the way dcc ctcps are echo'd, they now just go to the active window or
to the status window pretty much. (same as normal ctcp's)
Beta (4) Release 02.18.04
====
- fixed small mismatch in default color.map and auto generated color.map
- fixed a race condition in channel user structures against the listbox
painting versus irc events... never really reared its head until I
joined a channel with over 1000 people in it. fixed.
- fixed a problem in -ischannel with empty input ""...
- altered the way built in
- altered <tab> binding a little, tab will either popup /msg <last nick
to msg you> if the editbox is empty or complete the current word to a
nickname.
- altered statusbar format to say jIRCii, how could I miss that :)
- Fixed the way the statusbar is refreshed when a property change occurs.
When the font is changed or the statusbar background properties are
changed everything should be on cue now.
- altered on input event to use tokenized parameters for passing data.
- added versionString() function to return the version string (basically
a date stamp of when the client version was released).
- finally altered and updated /sv and the ctcp VERSION reply.
- fixed interesting bug involving the use of the return statement with
foreach loops. Thanks to era for helping me track this one down at 5am.
- altered arguments in subroutines. Arguments passed in subroutines now
begin with $1 instead of $0. The $0 thing was creating way to much
confusion so I'm curbing it this way.
- altered sleeputils API to make string scalars check for null
initialization values. An attempt to pass a null value will result in
the null scalar being returned. This fixes some problems in the way
jIRC uses sleep as my tokenizer will return null values.
- stripped out most of the built in debug echoes...
- added a check to the script loader for user attempts to load an already
loaded script file twice. this will prevent bad things from happening.
- fixed bug where a runtime warning in a subroutine from another loaded
script would not properly reflect which script the error occured in.
thanks era for helping me catch this one. It was actually amazingly
easy to fix. Yay for good design :)
- a statusbar refresh is now forced when a nickname change event occurs.
Beta (3) Release 02.13.04
====
- removed some debugging stuff that would have made it impossible to bind
the tab key in scripts.
- renamed getBaseDirectory() to baseDirectory()
- /load will now complain if it can't find a script file you're attempting
to load.
- gave custom colors to the opening url message and to ident request
messages in default.irc
- fixed bug with user devoicing multiple times just toggling +v/-v.
Thanks naz.
- fixed a bug where refreshMenubar() wouldn't work (like anyone noticed)
- showOptionDialog("dialog name") now works properly showing the specified
dialog.
- added $null built in scalar to sleep has the numerical value 0 and the
string value "" ALWAYS!
- attempting to access an array or hash in sleep as a normal scalar will
result in an automatic conversion of the hash or array into a string
scalar.
- cleaned up AST tree generated by tree command in sleep console.
- fixed bug with using a localvariable as the temp variable for foreach
loops.
- implemented a parser fix for the $+ operator. strings like "$+ blah"
will no longer crash the parser... thanks naz for finding this nasty
bug. the parser just reports a syntax error.
- fixed a bug with $+; "\\ $+ $var" was not evaluating $var, now it does.
- fixed a bug with events; event listeners from unloaded scripts didn't
expire even when the script was reloaded. Definetly a good one to have
fixed.
- added a little bit of parameter checking to some of the string
predicates. I should do this for other stuff but to lazy. :)
- fixed getNormal(), getOps(), getHalfOps, etc.. to return actual
nicknames and nothing else... thanks mexis
- fixed searchAddressList() - it was totally broken...
- stabilized data being brought into sleep a little bit... looks to see
if data is null, if it is assigns it the actual null scalar rather than
a real null (which results in bad things)
- added more font size options to the font dialog, 13, 16, 18, and 19.
- relocated the code for the file system bridge into the sleep code.
- send ctcp message is now echo'd to active if user requests ctcp replies
in active as well.
- altered locations dcc echos are sent to - in general
- Auto /Window leave channel when closing windows now implies the channel
window should be closed on part. Now Jono should be happy!
- bind predicate now fires a script warning if scripter tries to bind to a
non existent predicate environment
- added IDENT_REQUEST set to go with ident event... altered default.irc
to use the set as well.
- fixed broken ident daemon... hopefully
- enabled the SO_KEEPALIVE option for dcc sockets. This way they'll die
if they are disconnected but didn't disconnect for some reason.
Otherwise they'll stay connected and idle for a long time :)
- altered the way notice echoes are handled, by default a notice always
goes to the status window on top of other relevant windows. Now if a
notice goes to the active window it won't go to the status window unless
its supposed to. (I know my notice echo stuff is confusing).
- spruced up /dcc output a little bit
- addItem("title", "command") can now take commands that begin with / or
not... doesn't matter/ser
- if a background type is selected to image but the image doesn't exist
then jIRC will just draw a solid colored background.
- added an INVITE set, also modified event processor to automatically fire
a set for an unknown event based on the event name. So say an irc DEATH
event was added. jIRC will parse this and automatically fire it as a set
named "DEATH" to the status window
- added built in command /clearall for Tijiez
- scripted tab nick completion - its in default.irc...
- added -ischannel predicate to determine if the passed string is a
*channel*. this does not say is it a channel that your on or not. It
just asks does the string begin with # or &. If you want to check if your
on a channel use if ($me ison "#whatever") { }
- added a groupNicks(@array, [n]) function that takes an array of users
and groups them into comma seperated groups of size n, default is 4..
these groups are returned as an @array
- bridged my tokenizer class (from jIRC) to sleep... documented in the
jIRC scripting docs
- added getDCCAddress($dcc_conn) function for getting the address of a
dcc.. thanks naz for pointing this one out
- added getCurrentDirectory() to file system bridge
- renamed the client to jIRCii
- added a parseSet("SET_NAME", "target", "parms") function for firing
custom sets.
- added fireEvent("irc data string) and fireEvent("event", %data) for
firing custom events.
- made /ver and /ping into nick completing commands.
- added the ability for use of hyperlinks to outside sites inside of jIRC
help files...
- fixed a sleep parser bug where expressions/scalars where not being
allowed within "$[align]varname"
- added shift(@array) and removeAt(@array, index) to sleep...
- scripted dynamic popup that remembers the last 5 servers in the
Connection menu item for Tijiez
Beta (2) Release 02.07.04
====
- fixed some problems with "on event" binding
- fixed problem with isin predicate in sleep
- made client friendlier to text entered accidentally when not connected
- made socket classes a little bit more resistant to errors that bubble up
but in actuality have little to do with the socket itself.
- fixed bug with connect button in option window disabling keyboard shortcuts
- scripted a server_error set.
- fixed notice sets making them less ghetto.
- fixed double click event firing even when no text was double clicked on
- fixed w2k specific problem where like you couldn't select multiple
nicknames in the listbox. Write once, debug every where.
- tweaked icon dimensions a little bit so now the mdi window icons
are positioned better in Windows, they look fine in the java
metal look and feel, and they are somewhat better in OS X. Its
one big compromise as far as I'm concerned. I'm not 100% happy with the
result but it will do.
- /clear|/cls by itself now clears the active window
- fixed stats bar disappearing after viewing background options
- fixed bug where dcc send start message appears twice.
- spruced up server outputs a little adding a little color. There are
now 3 colors for outputs, the channel/host color, nick/address color,
and the neutral color. Spruced up many numeric replies including /whois.
- fixed reply 301... it will now always show up when you whois yourself
or whois someone else. Otherwise it will be stifled. All of this and
no effect on the event itself.
- numeric reply 401 is now echo'd to active window if show whois in
active is turned on... (401 = no such nick/channel) thanks Tijiez.
- fixed server disconnect message when /server'ing to another server.
disconnect message now reflects the server you disconnected from.
- went to great pains to make the background images dialog a little easier
to use. If an option doesn't apply to your current settings it is
disabled.
- added a /ww command
- added a /help command (launches help dialog)
- implemented /run and /exec finally
- third parameter is now optional in the substr() command.
- added an option to enable/disable the statusbar in the UI Options dialog.
- added a check to jIRC for Java 1.4 or greater, if the user is not using
a modern vm then jIRC will exit.
- added a strip() function to strip control codes out of the parameter text.
- added a second parameter to openWindow() to make it open non-channel windows
inactive.
- added a (%) systemProperties() function for obtaining information about the
system...
- added an array() function for quickly initializing an array.
- removed .bmp from acceptable image type filter. Apparently java likes
to freeze when loading bitmaps.
- reworked the script loading stuff in a big way. Most of the work
consisted of centralizing the script loading in the sleep API's. I also
made loading a little smarter which will help just a *touch* with script
loading. This was mostly for the benefit of making sleep easier to use
for other app developers. I tested it but report any bugs to me please
- fixed a bug that was really messing up the irc data structures. The
mode parser did not expect -k to have a parameter associated with it.
As such the targets got messed up for subsequent modes in the same mode
string. This could really desynch the client. Should be okay now.
- Changed configuration defaults... jIRC will now use a single document
interface by default on every platform except Windows (were it defaults
to MDI). You can switch between SDI and MDI in the Options -> UI
Options dialog.
- Adjusted some of the blank space in the dialogs. Dropped forced white
space from 10 pixels to 5 pixels. To help accomodate for look and feels
that love to suck up screen space. Writing good looking dialogs for a
'skinnable' app is a pain in the ass... trust me.
- fixed a bug with the colormap (it only allowed colors 0-98), try ^k99
in the old beta... it will completely jack the display..
- reset the colormap... all slots have an entry and 1-16 are properly
coordinated with the defacto mIRC standard.
- added a baseDirectory() function which returns the directory where the
jirc files are located at.
- added an interpretation for Undernet reply 330 (User is logged in as)
- added a key binding to the menus.irc: Escape - minimizes active window
- /dcc accept now takes another optional parameter allowing you to
specify a new location for the file to be dumped to... if your
accepting a receive.
- added closeDCC($dcc_conn) method to close an active dcc... since my
/dcc close is kind of inadequate... :)
- expanded /dcc close a little to take: /dcc close [send|chat|receive] <nick>
- redid the dcc error messages a little so they keep the exception type
out of it.
- readded the /wall and /wallex commands, along with sets SEND_WALL and
SEND_WALLEX
- added a bunch of functions for manipulating the multiserver aspect of
the client... kinda kewl.. now you can code scripts to make the tabs
flash and stuph.
Initial Beta (1) 01.31.04
=====
This thing has been in development since 99, I've had other strains of
betas going up to beta 12. So don't think this is anything new...