jircii - frequently asked questions:

               .sS$$Ss.                           .sS$$Ss. .sS$$Ss.
               $$$$$$$$                           $$$$$$$$ $$$$$$$$
               $$$$$$$$                           $$$$$$$$ $$$$$$$$
               `?$$$$P'                           `?$$$$P' `?$$$$P'

         $$$Ss. $$$$$$ """""""$$$Ss. """""""$$$Ss. $$$$$$   $$$$$$
         $$$$$$ $$$$$$ $$$$$$ $$$$$$ $$$$$$ $$$$$$ $$$$$$   $$$$$$
         $$$$$$ $$$$$$ $$$$$$ $$$$$$ $$$$$$        $$$$$$   $$$$$$
  """""" $$$$$$ $$$$$$ $$$$$$        $$$$$$ $$$$$$ $$$$$$   $$$$$$
  $$$$$$ $$$$$$ $$$$$$ $$$$$$ 120107 $$$$$$ $$$$$$ $$$$$$   $$$$$$
  $$$$$$ $$$$$$ $$$$$$ $$$$$$        `?$$$$s$$$$P' $$$$$$   $$$$$$
  `?$$$$s$$$$P'                                        


Questions:

 1. What is jIRCii?
 2. Where can I get jIRCii?

 3. How do I create a shortcut for jIRCii on Windows?
 4. How do I get rid of the DOS Window when running jIRCii on Windows? 
 5. I'm having trouble opening some URL's on Windows.

 6. Why does jIRCii use Internet Explorer by default on Windows?
 7. Is there any way to minimize jIRCii to the system tray?
 8. How do I make Windows web browsers use jIRCii for irc:// links?

 9. What do the faded nicknames in the channel listbox mean?
10. What is a jIRCii theme?
11. How do I copy and paste in jIRCii?
12. How do I cycle channels in the status window?
13. Where does jIRCii store its settings?
14. How do I edit the jIRCii color scheme?
15. How can I change ________ in the default jIRCii script?
16. Is it possible to assign keyboard shortcuts in jIRCii?
17. How do I get 24-hour format time stamps?

18. What is the difference between a .THM and a .IRC file?
19. How do I reload jIRCii scripts?

20. What options need to be filled in to connect to an irc server?
21. How do I connect to multiple servers?  What command do I use?
22. How do I close the current IRC session?
23. How do I connect to an SSL server?

24. How do I create a list of channels to automatically join?
25. How do I set jIRCii to automatically connect to a server on startup?
26. How can I make the server tabs get my attention when something happens?

27. How do I specify my own local IP address information for DCCs?
28. What is Ident?  Do I have to use it?

29. How do I use a different Java look and feel with jIRCii?
30. How do I make my statusbar transparent?
31. How do I change the statusbar color?
32. How can I set a background image in jIRCii?
33. Can I make jIRCii windows transparent?
34. How do I strip jIRCii's GUI to only the essentials?

35. Why don't you allow plugins written in Java, C, Python, Visual Basic etc.?

36. Will you ever charge money for jIRCii?
37. Can I get the jIRCii source code?
38. Can I use portions of jIRCii's source code in my GPL project?
39. What do the release designations (stable, beta) mean?
40. How do I embed jIRCii into my website?

41. What development environment do you use?
42. Why write another Java IRC Client?
43. What clients did you rip^H^H^H receive inspiration from?
44. How long has jIRCii been in development?
45. Why don't you wait until you have more changes to do a release?

46. I disabled my jircii menubar, how do I get it back?
47. How do I reset the jIRCii settings?
48. My jIRCii window flashes or acts crazy occasionally, what's wrong?

49. How do I pronounce jIRCii?
50. How do I report bugs, feature requests, etc.?
51. Where can I find you on IRC?

52. Why can't I use Terminal and other fonts in jIRCii?
53. Can I use old school terminal-style box drawing characters in my script?
54. Can jIRCii display ANSI colors?

If a question you would like answered is not here then email rsmudge@gmail.com

Begin jIRCii FAQ:

 1. What is jIRCii?
   
    jIRCii is a client for the Internet Relay Chat (IRC) protocol.  IRC is
    a chat protocol (duh!).  
 
    jIRCii is more than just a bare bones IRC Client though.  jIRCii 
    includes most of the features of an advanced IRC script.  Features
    such as advanced tab-key completion, over 70 common sense aliases,
    notify list, ignore list, etc.
   
    jIRCii is very adaptable i.e. you can IRC through multiple windows 
    with an interface that resembles mIRC, or you can IRC through a 
    single window with an interface that resembles ircii.

    It is also possible to customize jIRCii by writing scripts in the 
    perl-like language sleep.  Other clients have an awkward interface for
    interfacing scripts with their software.  Sleep is directly integrated
    with jIRCii in a common sense manner.  It is powerful enough to keep
    the advanced coder happy and easy enough to learn that first time 
    scripters can customize the client to their hearts content. 

    As a side note, jIRCii is written in Java, but don't let that fool 
    you.  This client was written with speed in mind.
 
    If your an old school IRC user looking for a solid modern client, 
    that isn't lame, then jIRCii is the IRC client you have been waiting 
    for.
 
 2. Where can I get jIRCii?

    You can download jIRCii addons, scripts, and themes
    at: http://jircii.dashnine.org/

 3. How do I create a shortcut for jIRCii on Windows?

    a. Right click on the desktop, select New, then select Create Shortcut
    b. In the location field fill in something resembling the following:
       c:\path-to\jircii.exe
    c. After clicking next, type whatever you want for the shortcut name.
       jIRCii usually suffices.
    
 4. How do I get rid of the DOS Window when running jIRCii on Windows? 

    When running jIRCii use javaw.exe or jrew.exe instead of java.exe or 
    jre.exe to launch jIRCii.
  
    Or simply launch jIRCii with jircii.exe.

 5. I'm having trouble opening some URL's on Windows.

    The clickable URL's feature does work.  However URL's containing an =
    sign will not open properly with jIRCii on Windows.  This is actually
    due to the way internet explorer parses command line arguments.  

    If you want all URL's to open properly try selecting a better browser
    for jIRCii to open URL's with.  You can change this setting under
    View -> Options -> Applications (at the bottom).

 6. Why does jIRCii use Internet Explorer by default on Windows?

    URL's in jIRCii are opened by executing a command.  The command is 
    dependent on what operating system your using.  If you use Windows,
    jIRCii will assume that the command to open URL's with it explorer.exe.
 
    To use a different application to open URL's and other files with go to
    View -> Options -> Applications (at the bottom).

 7. Is there any way to minimize jIRCii to the system tray?

    [Serge] has written an addon script called jIRCii-tray.zip and it is
    available at: http://jircii.dashnine.org/scripts.html

 8. How do I make Windows web browsers use jIRCii for irc:// links?

    To do this create a new file called jircweb.reg and open it in 
    notepad.  Then paste in the following:

    REGEDIT4

    [-HKEY_CLASSES_ROOT\irc]

    [HKEY_CLASSES_ROOT\irc]
    @="URL:IRC Protocol"
    "URL Protocol"=""

    [HKEY_CLASSES_ROOT\irc\DefaultIcon]
    @="c:\\jircii\\jircii.exe"

    [HKEY_CLASSES_ROOT\irc\shell\open\command]  
    @="\"c:\\Program Files\\Java\\jre1.5.0\\bin\\javaw.exe\" -jar c:\\jircii\\jerk.jar %1"

    The above example assumes jIRCii is installed in c:\jircii.  You
    may have to edit it if you put jIRCii elsewhere on your system.

    Once the file is edited just save it as a .reg file and double click 
    it.  Windows will ask you if you want to import the information into 
    the registry.  Click Yes and then you should be all set.

 9. What do the faded nicknames in the channel listbox mean?

    If a nickname is faded in the channel listbox then that means the user
    is idle.

10. What is a jIRCii theme?

    A jIRCii theme is simply the current colormap settings exported to a 
    script file.  jIRCii has up to 99 preset colors for displaying things
    like channel joins, private messages etc.  In jIRCii it is easy to 
    edit the preset colormap by simply holding down shift and clicking on 
    text in the display area.  

    Using the import / export theme feature under View -> Options -> Theme 
    Manager will allow you to share themes with your friends and use 
    themes your friends made.
  
11. How do I copy and paste in jIRCii?

    Someone did ask this, don't laugh.  Any text selected in the display 
    area will automatically be copied to the clipboard.

    Otherwise to paste text you can right click in the input box and select
    paste.  Or you can use the cut, copy, paste keyboard shortcuts specific
    to your operating system.

12. How do I cycle channels in the status window?

    In the past, jIRCii bound Ctrl+X to do this ala BitchX.  Many Windows 
    users complained that they could not cut text and rogue contributors
    removed this feature.  

    To try to ease the pain, Ctrl+Z has been bound to the previous behavior
    of Ctrl+X.  jIRCii binds Ctrl+Z by default to switch the current active 
    query in case you are IRC'ing out of your status window (i.e. all auto 
    /window options turned off).  

    If you would like Ctrl+X to provide the service of cycling active channels, 
    paste the following into notepad, save it, and load it into jIRCii:

    bind Ctrl+X
    {
       cycleQuery();
    }

13. Where does jIRCii store its settings?

    jIRCii creates a folder called ".jIRC" in your home directory.  On UNIX
    systems your home directory should be kind of obvious.  On Windows your
    home directory will be something like:
    c:\documents and settings\your username\

    All of your settings are saved to this directory.  

14. How do I edit the jIRCii color scheme?

    First off you don't have to script a single line of code to do this.  
    Most of jIRCii colors can be edited by holding down shift and clicking 
    on text whose color you want to change.  

    To edit the colors in the nicklist you may have to hold down control, 
    shift, and middle click on the text whose color you want to change.

    To edit background colors in the text display hold down control, 
    shift, and click on the text whose background color you want to 
    change.
 
    Editing the color for the editbox text can be done under:
    View -> Options -> Windows UI

    Window background color options can be edited to your hearts content 
    under:
    View -> Options -> Backgrounds

    You may also download a jIRCii theme file and import it using the theme 
    manager to quickly edit the color scheme.

    If you come up with a cool theme on your own it is possible to export it
    using the theme manager so you can share your color settings with 
    others.
      
15. How can I change ________ in the default jIRCii script?

    jIRCii internally has two scripts loaded.  default.irc contains all of
    the default sets and a few commands.  menus.irc contains the popup and
    menubar menus.  

    Copies of these two files are distributed with jIRCii under the 
    extras/ directory.

    Feel free to edit the copies of these files in the extras/ directory. 
    To force jIRCii to load them simply place your edited copies in the 
    .jIRC/ directory located in your home directory then restart jIRCii.

    jIRCii always attempts to load internal resources from the .jIRC/ 
    directory before attempting to load them from its internal 
    distribution.

    For more information on this feature see the file scriptjirc.pdf 
    located in the docs/ directory of the jIRCii archive.
    
16. Is it possible to assign keyboard shortcuts in jIRCii?

    It is possible to do this.  However you must use jIRCii's scripting
    interface.  Just about any key combination can be turned into a keyboard
    shortcut via jIRCii's scripting interface.  An example to get you
    started:

    bind Ctrl+J
    {
       call('/join #jIRCii');
    }

    The above is an example of a scripted keyboard shortcut.  Pressing
    Control and J at the same time will cause jIRCii to execute the command
    /join #jIRCii.  To use this simply create a text file and name it
    myscript.irc.  You can then load this file using the jIRCii script
    manager.

17. How do I get 24-hour format time stamps?

    To change the timestamp format you will have to do a little bit of 
    scripting.  Open up your favorite text editor and enter in the following:

    set TIMESTAMP
    {
       return formatDate('HH:mm');
    }

    Then save the file as something .IRC.  You can then load this file via
    the jIRCii Script Manager (View -> Options -> Script Manager).

    In the code snippet above 'HH:mm' is a format string describing what
    the current date should look like.  HH in caps means the current hour
    in 24 hour format.  mm of course means the minutes. 
  
    For more information about the time/date format of formatDate() check out
    the Sleep 2.1 Manual: http://sleep.dashnine.org/

18. What is the difference between a .THM and a .IRC file?

    A .THM file is a jIRCii theme script.  These are created with the jIRCii
    theme manager under View->Options->Theme Manager.  A .thm file is the 
    format jIRCii uses to export a users color settings.  Theme files are
    loaded with the /theme command or via the Theme Manager.

    A .IRC file is a jIRCii script.  jIRCii scripts usually add new features
    to jIRCii.  These are created by users.  A jIRCii script is loaded with
    the /load command or via the Script Manager.

19. How do I reload jIRCii scripts?

    To reload a jIRCii script use the /reload command i.e.:
    /reload myscript.irc

    When reloading scripts you do not specify the full path to the script. 
    Once a script is loaded jIRCii knows where the script is located and will
    manage that detail for you.

20. What options need to be filled in to connect to an irc server?

    When you first launch jIRCii the options dialog will be open.  To 
    connect to an IRC server you merely need to fill in the User 
    Information stuff which includes your Real Name, Email Address, 
    Nickname, and Alternate Nickname.

    Real Name does not have to be your actual full name.  Some people put 
    in a witty quote or something cool.  This information is displayed
    when people /whois you.

    Likewise Email Address does not have to be your actual email address.
    Just put in something that looks like an email address and we'll be
    square.

    With this information filled in you should be ready to connect to an
    irc server.
 
21. How do I connect to multiple servers?  What command do I use?

    jIRCii is a multiserver IRC client.  To create a new server connection
    you can use the /newserver command.

22. How do I close the current IRC session?

    To close the current IRC session simply close the "Status" window. 

23. How do I connect to an SSL server?

    To connect to an SSL (Secure Socket Layer) with jIRCii simply
    use:

    /server -ssl server.hostname portnumber

24. How do I create a list of channels to automatically join?

    It is possible to set jIRCii to execute commands upon connecting to
    a server using the Perform on Connect feature.  You can define
    a list of commands to be executed for each network you connect to.

    To configure the Perform on Connect feature:
   
    a. Click View -> Options
    b. Select the Perform dialog in the listbox to the left
    c. Enable "Perform these commands when connecting"
    d. Click the "Add" button and add whatever network you want to setup 
       commands to perform on connecting for.
    e. Select that network in the network listbox.
    f. Enter in commands you want to execute whenever you connect to a server 
       on that irc network. For example:
      
       /join #jIRCii
       /join #mychannel

    The perform on connect feature can be used to execute any commands you
    want when connecting to a server.

25. How do I set jIRCii to automatically connect to a server on startup?

    a. Go to View -> Options -> jIRCii Setup.
    b. Select the server you want to automatically connect to on startup.
    c. Click Edit.
    d. Another dialog will come up.  Click Edit again.
    e. Check the box that says "Connect to server on client startup"
    f. Click Ok

    You'll notice that the server you just edited is now colored blue in the
    server list.  Any servers configured to be connected to on startup
    will be blue.

26. How can I make the server tabs get my attention when something happens?

   The normal answer I give to a feature request like this is to script
   it.  Fortunately it has already been scripted.  You can download 
   flash.irc, an addon script that adds this functionality at:

   http://sleep.dashnine.org/scripts.html

27. How do I specify my own local IP address information for DCCs?

    If you would like to set a specific IP address that others use to 
    connect to you to receive files via DCC then:
    a. Go to View -> Options -> DCC Options

    In the field that says "DCC IP Address" type in the IP address you
    want jIRCii to use for your local information.

    You can also set jIRCii to use two automatic options.  Normal method
    obtains your IP address from your computer.

    Server method uses the IP address that the IRC server your on saw you 
    connect from.

    Having your dcc ip address setup correctly is very important.  When 
    sending a file to a user, jIRCii will send your dcc ip address to the 
    users irc client, and their irc client will connect to you at that dcc
    ip address to receive the file.

    If you have any doubts on what to use then set jIRCii to use the
    Server method.
 
28. What is Ident?  Do I have to use it?

    Ident is an outdated protocol that many IRC servers expect your computer
    to respond to.  Essentially it is an Identification server.

    When you connect to a server, the server connects to your computers
    ident server to ask it which user on your computer is connecting to 
    their irc server.   

    This is from the old days when most people connecting to IRC used UNIX.
    Since UNIX is a multi-user system many users from the same machine could
    be connecting to the irc server at once.  IRC admins wanted to know 
    which user from the UNIX machine was connecting so they knew who to 
    complain about if a user was misbehaving.

    Since Windows isn't a multi-user system or even a server system for that 
    matter, it is very likely that your system does not have an ident server 
    running.   In this case you will want to leave the ident server built 
    into jIRCii running.

    Many UNIX systems don't enable ident by default any more.  Mainly for a 
    security issue.  The good news is this doesn't matter to you because if
    you are using a UNIX system as any user other than root, the system 
    won't let jIRCii run the ident server.  

    Short answer, if your using Windows leave ident running.  It is setup
    for you by default.

    If your using MacOS X, Linux, or any other *NIX variant then you don't
    need to enable ident.  In fact don't enable it.
 
29. How do I use a different Java look and feel with jIRCii?

    For those that don't know look and feels are a skinnining mechanism 
    for Java.  An update to date selection of look and feels can be found
    at: http://javootoo.com

    To use a look in feel in jIRCii simply download the look and feel and
    extract from the look and feel archive a .jar file.  As an example
    we'll use the liquid look and feel, the jar is liquidlnf.jar

    Next you will have to find out the class name for the look and feel.
    In the case of liquid look and feel the class name is:
    com.birosoft.liquid.LiquidLookAndFeel

    With this information gathered you will just execute jIRCii using the
    following command line:

    MacOS X, Linux, and other UNIX OS's:
    java -classpath /path-to/jerk.jar:/path-to/liquidlnf.jar 
                    rero.test.WindowTest 
                    -lnf com.birosoft.liquid.LiquidLookAndFeel

    Windows (you can't use jircii.exe to do this):
    javaw -classpath c:\path-to\jerk.jar;c:\path-to\liquidlnf.jar 
                     rero.test.WindowTest 
                     -lnf com.birosoft.liquid.LiquidLookAndFeel

30. How do I make my statusbar transparent?

    a. Go to View -> Options -> Backgrounds.
    b. Click on the statusbar in the preview thing in the top half of the 
       dialog.
    c. For type of background select "Transparent"
    d. Select the Setup tab to change the tint color of the transparency
    e. Select the Tint tab to adjust the level of transparency

31. How do I change the statusbar color?

    a. Go to View -> Options -> Backgrounds.
    b. Click on the statusbar in the preview thing in the top half of the 
       dialog.
    c. For type of background select "Solid Color"
    d. Select the Setup tab to change the color of the statusbar
    
    Feel free to experiment with different combinations of background 
    options.  
  
32. How can I set a background image in jIRCii?

    a. Go to View -> Options -> Backgrounds
    b. Click on the window in the preview thing.  The window is the inner 
       most rectangle.  
    c. For type of background select "Image"
    d. Select the Setup tab to change the image used in the background.

    You can also set background images for the statusbar or MDI desktop.
    Just click on which element of the display you want to edit in the 
    preview thing.  The label in the middle of the dialog will reflect
    which element of the display your editing background properties for.

33. Can I make jIRCii windows transparent?

    You can't make jIRCii windows themselves transparent.  However you
    can setup an effect known as pseudotransprency. 

    The psuedotransparent effect is acheived by using the same image for
    a background in jIRCii as you use on the desktop.

    a. Go to View -> Options -> Backgrounds
    b. Click on the window in the preview thing.  The window is the inner
       most rectangle.  
    c. For the typ of background select "Image"
    d. Select the Setup tab to set the image used for the Window background
    e. Choose the same image you use for your desktop wallpaper.
    f. Select the Transform tab to set how the image should be displayed.
    g. Check the box that says "Align image with Desktop" 
    h. repeat steps b thru g for the statusbar and the desktop background

    Selecting align image with desktop will force jIRCii to anchor the image
    to the corner of your desktop rather than the corner of the jIRCii 
    window.  If you use the same image transform in jIRCii as you used for
    your desktop wallpaper then the backgrounds in jIRCii should line up
    perfectly with your desktop wallpaper.
   
    You can also do some further background customization here.  For example
    you may want to make the background image in the jIRCii windows darker
    than your desktop wallpaper.  This can be accomplished by adjusting the
    alpha tint under the Tint tab.

    In short the jIRCii Background Images dialog is confusing at first 
    however it is also very powerful offering a large number of possible
    configurations for your window backgrounds.  This is the only eye candy
    you'll get so enjoy it.

34. How do I strip jIRCii's GUI to only the essentials?

    Yes, the true power of jIRCii is you can have a GUI client that feels like
    mIRC or you can strip it down to the bare essentials so you feel like you
    are irc'ing out of a terminal window.  The choice of which extreme and to
    which extent is yours.  

    To disable all of the GUI elements in jIRCii:
    a. Select View->Options->Auto /Window
    b. Disable auto /window for everything (you can reenable this stuff later
       but ideally, I assume you want to IRC out of one window, correct?)
    c. Select the "GUI Setup" item from the left hand side tree control.
    d. Uncheck all items under "Interface Elements"
    e. Select the ""Switchbar" item from the left hand side tree control.
    f. Uncheck "Enable Switchbar"
    g. Click "Ok".

    Now on some operating systems, upon restarting jIRCii, you will notice
    a 1 pixel border around the jIRCii window.  If you want to get rid of this
    (afterall, every pixel is valuable) then type the following in a jIRCii
    window:

    h. /eval setProperty("notabs.border", 0);

    Now comes the final step:

    i. restart jIRCii for everything to take effect.

    Before you know it, you'll be irc'ing console style.  pHEAR!

35. Why don't you allow plugins written in Java, C, Python, Visual Basic etc.?

    Some people have asked me why I use sleep and not some masterpeice of 
    a language like Python.  Short answer is this:

    Generally scripting languages written on top of Java take advantage of 
    a neat Java mechanism known as reflection.  This mechanism makes 
    potentially every function and object in Java available to the 
    scripter exactly as it would be in Java.  The benefit of this is a lot 
    of power.  The disadvantage is you get a scripting language that had 
    no thought put into the design of its own interfaces with the 
    application environment.  The end result is usally something that is 
    not very easy for new programmers to pick up on.  If you already know
    the Java API insid and out along with the applications internal API
    why not just modify the source code?    

    Sleep on the other hand is flexible about how it integrates into an
    application.  Using sleep it is simple to make the language feel like
    it fits into the application.  The interfaces with the application (in
    this case jIRCii) are thought out.  The end result is something that
    is better integrated and easier to use, especially for new 
    programmers.

    As for plugins and such.  Why not just modify the source code?

36. Will you ever charge money for jIRCii?

    No.  jIRCii is my gift to the IRC community.  Therefor I can't charge
    money for the client.  However I may charge for shipping and handling.

37. Can I get the jIRCii source code?

    Yes!  jIRCii is an open source client.  jIRCii source code and 
    binaries are released under the artistic license.  

    You can download the source code at:
    http://jircii.dashnine.org/

    The Sleep source code is available for download as well at the 
    Sleep Scripting Project:

    http://sleep.dashnine.org/

    Sleep is now released under the LGPL.  jIRCii uses the Sleep version
    02.28.05.  Sleep 2.0 is in beta and not used in jIRCii yet. 

    See license.txt for more information on what freedoms the artistic 
    license grants you.  

    The artistic license apparently isn't GPL compatible by default.  It 
    is my intention that pieces of my source code can be used in any open
    source project so long as I receive some form of credit for the code
    I wrote.  If you modify it please note that too.

38. Can I use portions of jIRCii's source code in my GPL project?

    Short answer, yes.  I grant you permission to use any jIRCii code "I
    wrote" licensed under the artistic license in your GPL project and to
    license your modifications under the GPL.  

    I personally choose not to use the GPL for jIRCii as the viral nature 
    of the license feels like a bit of a lock-in to me.  However feel 
    free to do what you need to do.  :)

39. What do the release designations (stable, beta) mean?

    No one has asked me this yet. However I'm going to answer because I'm 
    sure someone is curious. 

    In general a stable release doesn't have much new in it. I like to 
    release betas that contain a ton of changes and new features. Betas 
    are usually tested primarily by me before being released. A stable 
    release usually contains one or two bug fixes and is based off of a 
    recently released beta. As such stable releases are considered stable 
    since they've been tested by people other than me. 

40. How do I embed jIRCii into my website?

    jIRCii is coded to be packaged and deployed via Java Webstart.  I used
    to provide a signed jerk.jar file and hosting for this purpose.

    At this time my hosting is a bit of a mess and my free certificate has
    expired.  If there is demand for this feature email me and maybe we
    can work something out.   rsmudge@gmail.com

    If you want to embed jIRCii into your website on your own then follow
    these steps:

    1. obtain jerk.jar
    2. sign it (as jIRCii requires full permissions from Java webstart)
    3. create a .JNLP file; for an example, download: 
       http://openjdk.java.net/irc/openjdk.jnlp
    4. post your signed jerk.jar and .JNLP file to your website.  

    You are now ready to rock.  More details on Webstart can be found at:

    http://java.sun.com/docs/books/tutorial/deployment/webstart/index.html

    This feature does require that your web site users have Java 1.4.2 or
    later installed.

41. What development environment do you use?

    Don't laugh, I use pico as my text editor.  I should be shot.  Or
    maybe given an award for writing over 40,000 lines of code in pico.

    I don't use any kind of IDE.  My mainstay right now is the KDE 
    Konsole.  Konsole seems to be the best tabbed terminal app I've used 
    so far.  I have one tab setup for compiles.  Another tab setup for
    running jIRCii from the console.  All other tabs are for individual 
    files.

    For a build tool I use Apache Ant.  Ant is awesome if your doing 
    Java programming.  I use a couple of home brew shell scripts to 
    package jIRCii and thats about it.

    This might sound kind of crude but it has worked for me.  The only
    place I really lose is by not having a gui environment for designing
    dialogs.  Since all RAD tools I've tried sucked, I opted just to write
    a framework for easily creating dialogs.  Problem solved.
  
    Hardware wise I have a first generation 12" Powerbook running MacOS X
    10.3.4.  jIRCii development in the past has been done on Linux using
    the same type of environment and on Windows using editplus.  

42. Why write another Java IRC Client?

    I don't own a TV or a playstation and I needed something to do.

43. What clients did you rip^H^H^H receive inspiration from?

    Years ago back when I was an IRC scripter.  I wrote an addon called
    mIRCii.  mIRCii was essentially a multi-server addon for mIRC.  You
    irc'd through one window using /window to open other windows if you so
    desired.  jIRCii to some extent is mIRCii turned into a full blown
    client.

    I stole the shift+click color editing idea from the client OpenChat.
    OpenChat is essentially a graphical version of ircii.  I think the 
    goals of jIRCii and the goals of OpenChat are pretty similiar.

    I was heavily inspired by the client irssi in terms of tab completion.
    That client tab completes everything.
   
    The scripting language sleep was of course heavily influenced by perl.
    Some bits of the hADES and ircii scripting interfaces made there way
    into sleep.

    I learned a lot from other clients in terms of what not to do.  Many
    clients have gone overboard on the GUI side.  IRC is a text based 
    protocol.  As such jIRCii was heavily inspired by text based irc 
    clients.  You may also notice that jIRCii tries to keep graphical 
    elements to a minimum and that most things can be disabled in the 
    options dialog.  Although I did find that usage of jIRCii didn't start 
    picking up until I added a graphical toolbar.   Hrmmm...

    mIRC gets points for heavy influence by default.  Since mIRC is the 
    client most people use.

44. How long has jIRCii been in development?

    I started writing jIRCii when I was in high school.  This was mostly
    an effort to learn Java.  jIRC was my senior project for my high school
    "research and development" course.  This was back in 1998-1999.

    I became lazy and just used jIRC as a programming playground for the 
    longest time.  It was a fun project to try out different ideas on.

    Unfortunately a high school kid who can program is not necessarily a 
    good software engineer.  jIRCii went through a couple of rewrites as I
    tried out different ideas for organizing my code so it would be easier 
    to work with.  I never succeeded at the easy to work with part.

    On July 28, 2001 I released jIRCii Beta 1 to a closed group of beta 
    testers.  This beta process went all the way up to a beta 10 with 
    several source code only releases of a beta 11.  Beta 10 was released
    on July 19, 2002.  So about a year long beta process.

    Again I had a period of laziness.  Sometime in April of 2002 I wrote
    the core of sleep in a weekend.  I integrated sleep into jIRCii and
    soon realized many of the shortcomings of trying to use a programming
    language that was written in a weekend.  I knew a rewrite of sleep
    was necessary.  

    I rewrote sleep and then found I couldn't integrate it because I 
    changed sleep to much and the old sleep API's were to far entrenched 
    into the jIRC codebase.  Essentially my code was so damned complicated
    that I had to stop development because even doing something simple
    required a lot of thought and even then I usually ended up breaking 
    stuff.

    During the summer of 2003 I started brainstorming an idea for how to
    manage the design of jIRCii.   I decided to develop individual 
    frameworks that were each easy to test on an individual basis.  Once
    each of these frameworks were written I would then in theory write
    a little bit of code to tie them all together and voila a functioning
    peice of software.

    For my last semester of college I pitched the idea of completing a 
    large software project as an independent study.  With the motivation 
    of a grade hanging over my head I worked my ass off and arrived at
    jIRC beta 1 sometime in January of 2004.  Fortunately the design 
    idea I had worked out beautifully.  jIRCii and sleep were over 40,000
    lines of code together yet adding new features and editing existing
    functionality was pretty trivial.  Working on this project became fun
    again.

    After graduating I did work on jIRCii here and there until I arrived 
    at what your now using today.  This is now a pretty complete irc
    client.
    
    Short answer:  I've been working on this client for a looong freaking
    time.  

45. Why don't you wait until you have more changes to do a release?

    Good question.  You may notice the main package jIRCii classes are 
    stored in is named "rero".  I named the jIRCii package this because
    I wanted to remind myself of Eric Raymond's advice for creating a 
    successful open source project: "release early, release often".  

    As such I've been releasing jIRCii quite often.  In fact any time
    I've either temporarily exhausted my todo list or made a mass of
    changes I do a release.  This benefits jIRCii and its users in a 
    big way.  The quick turn around allows me to gather near realtime
    user feedback on choices I make with jIRCii's development.  With
    this feedback I can identify and fix problem areas, avoid having 
    a bad release in the wild for to long, and really develop the 
    client I want to write and that users want to use.

    In short, I feel each change I make is another step towards
    making jIRCii into an awesome IRC client.  I feel it is worth
    letting users keep up if they choose to do so.

    If you don't like the fast turn around time of jIRCii releases
    then I recommend downloading a released labeled stable and just
    waiting until the next stable release ignoring betas in between.  

46. I disabled my jircii menubar, how do I get it back?

    Open up the options dialog using Alt+O.  From there navigate to 
    "GUI Setup" near the bottom.  Make sure the box "Show menubar" is
    checked.   Press OK and your menubar should be back.  

    If this doesn't work it may mean jIRCii is not loading menus.irc.  
    This could be due to a rogue script that got loaded.  The best thing 
    to do in this case is to reset your jIRCii settings.

47. How do I reset the jIRCii settings?

    You should only need to do this if your jIRCii settings become really 
    messed up.  Symptoms of messed up settings include nothing happening
    when jIRCii starts up, a blank statusbar, menus not working or showing
    etc.

    To reset the jIRCii settings you'll need to locate and delete the .jIRC
    folder.  The .jIRC folder is where jIRCii stores all of your settings.

    MacOS X, Linux, *NIX:
    The .jIRC folder is located in your home directory.  By default it is a
    hidden directory.  To delete it just open a terminal and type:

    rm -rf ~/.jIRC

    Windows:
    The .jIRC folder is located in something similiar to:
    c:\documents and settings\your user name\
 
    Do a file search for .jIRC and delete it.   

48. My jIRCii window flashes or acts crazy occasionally, what's wrong?

    Java uses a lot of video card hardware tricks to enhance performance.
    Unfortunately buggy video card drivers can cause problems with the
    way Java apps render stuff on the screen.  One option is to update
    your video card driver.

    Another option is to disable some of the hardware acceleration with
    Java.  You can do this by launching jIRCii with the following options:

    java -Dsun.java2d.ddoffscreen=false 
         -Dsun.java2d.pmoffscreen=false
         -Dsun.java2d.d3d=false     
         -Dsun.java2d.noddraw=true 
         -jar jerk.jar

    The above is actually one line of text, I've broken it up for the sake
    of readability.
 
49. How do I pronounce jIRCii?

    jIRCii is named after the infamous UNIX IRC client: ircii.  I pronounce
    it jay-eye-are-cee-two.  

50. How do I report bugs, feature requests, etc.?

    At this time we don't have a message board or issue tracker.  Your best
    option is to email me: rsmudge@gmail.com

    Another option is to come to #jIRCii on EFNet.  A number of jIRCii users
    idle on this channel and complain about what I haven't fixed yet.  They
    are sort of a support group for users with complaints.  You might like
    them.

51. Where can I find you on IRC?

    I'm on EFNet (irc.prison.net, irc.mzima.net, etc.) in #jIRCii.  

52. Why can't I use Terminal and other fonts in jIRCii?

    Java supports only true type fonts (.ttf) files.  This is a disadvantage
    because yes, you can't use fonts such as Terminal.

    However it is also a major advantage.  Many ttf fonts support much of the
    unicode character set.  Meaning, if you have the write mapping any 
    true type font can be used to display any character you would like.

53. Can I use old school terminal-style box drawing characters in my script?

    Yes.  Since jIRCii displays text in unicode it is possible to display
    Cp437 (IBM Codepage 437) terminal style box drawing chars in your 
    script.

    There are two options for this.  1) you can find a unicode character
    table and just specify the individual characters with \uNNNN to use
    them in your script.  2) you could simply use the buildCp437String()
    function built into jIRCii to remap a string of characters into
    the what you would expect if you were using a Terminal font.  

54. Can jIRCii display ANSI colors?

    At this time, the answer is no.  However this capability can be
    scripted.  I have no intention to add this support to jIRCii at this
    time.

