home *** CD-ROM | disk | FTP | other *** search
Text File | 2005-05-08 | 56.8 KB | 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...
-