.sssSS$$s.s$$$$$$ $$sss..   s$$$^`$ss.   $$$$$s s$$$$  .s$$$$$s   s$s
 .$$$$$'  `$$$ $$$$$$ $$$$$$$$$s $$'   `$$$$s $$$'   `$$$  $$$$$$$'  s$$'
s$$$$'      `$s $$$$ $$' $$$ $$$ $      d$$$$s $$     $$$   `$$$$'  s$$'
$$$$$sss..ssS$'s$$$'s$' .$$' `$$ $     d$$$$$'s$$sssss$$$ $$$s`$$  s$'
$$$$$$$^^^^$$s $$$$     $$$  s  s$           s$$$     $$$ $$$$s`$$s' by 
$$$$'       `$$s $$     $$$s $$$$$       ..sSb $$     $$$      s$`$s panasync
$$$'         $$$s $    .$$$$ `$$$$     d$$$$$$ $$$    $$$    .$'  `$s.
$$$s.      .s$$$$ $$  .$$$$$  `$$$$s.   $$$$$$ $$$s   $$$   s$     `$$$$s
`$$$$Xavier$$$$$'s$$s $$$$$$s   `S$$sss$$$$$'s$$$$$  s$$$ s$$s      `$$$'

[BitchX FAQ v3.0.1 by NovaHak <novahak@bitchx.org>............................]
[...................and power <power@power.zepa.net>..........................]
[BitchX by panasync...........................................................]
The latest BitchX version at the time of writing this FAQ is BitchX-1.0,
and If you have ideas or comments, read the section 7.1 about how to contact
the authors.

[Table of Contents.........................................................0.0]

1.0     BitchX - General Stuff
        1.1     What is BitchX?
        1.2     Where can I get it?
        1.3     What are the system requirements to run BitchX?
        1.4     What OS's does BitchX work on

        1.5     Installing BitchX with source
        1.6     Installing BitchX with binaries
        1.7     BitchX and TCL
        1.8     Other files
        1.9     BitchX scripts

2.0     Useful Features
        2.1     ircII Windowing - hidden windows
        2.2     ircII Windowing - multiple visible windows
        2.3     CDCC/XDCC
        2.4     Using BitchX XWindows
        2.5     BitchX toggles

3.0     Help for Windows 95/98/NT users
        3.1     Where can I get BitchX for Windows 95/98/NT?
        3.2     How do I set basic environment variables in BitchX?
        3.3     Can I still use .bitchxrc in Windows?
        3.4     How can I set my own quit messages in Windows?
        3.5     How do I load a script?
        3.6     What are some basic commands I could use?
        3.7     If I write my own script, how do I promote it?
        3.8     Is there a file I can make that contains a list of servers that
                I would like to use as default? 

4.0     PMBitchX
        4.1     What is PMBitchX, and where do I get it?
        4.2     How do I change my default irc nickname and username?
        4.3     How do I load the nick list?
        4.4     There are no menus, what do I do?
        4.5     How can I load a script and/or plugins at startup?
        4.6     The UNIX filenames don't work in PMBitchX, what is wrong?

5.0     gtkBitchX
        5.1     What is gtkBitchX, and where do I get it?
        5.2     What is needed to compile gtkBitchX from scratch?
        5.3     It looks like normal BitchX, shouldn't it have menus?
        5.4     Characters look strange.  How do I fix it?
        5.5     How do I paste?
        5.6     I am writing a script and want to use the gtk features, where 
                do I look for information?
        5.7     After installing gtkBitchX I run console BitchX and some keys
                don't work, what's going on?

6.0     Common questions asked in #BitchX
        6.1     What is bxglobal, and where do I get it?
        6.2     What is .bitchxrc and .ircrc, and how are they different?
        6.3     What are the color codes in BitchX?  How do I use them?
        6.4     How do I script in BitchX?  How do I find out what arguments
                should go to which function or command?
        6.5     I've heard rumors that BitchX has backdoors!
        6.6     What are the environment variables I can set before starting
        6.7     Can I spoof my host with BitchX?  I've seen people use
                BitchX to change their hostname before!
        6.8     Explaining the status bar.
        6.9     How can I add a user to my auto-op userlist?
        6.10    How can I change the version reply?
        6.11    How can I turn on timestamping?
        6.12    Can I play audio CD's in BitchX?

7.0     Miscellaneous
        7.1     Contacting
        7.2     Revisions of this document
        7.3     Top ten ways to get banned in #BitchX

8.0     Credits

[General Information.......................................................1.0]
1.1 What is BitchX?

        BitchX is a VERY heavily modified ircII client.  It includes many
        things such as built in CDCC (XDCC) offering, built in flood
        protection, etc. It is easier to script things in BitchX because
        unlike plain, vanilla ircII, half the script does not have to be
        devoted to changing the appearance of ircII.

1.2 Where can I get it?

        The main ftp site is ftp.BitchX.org

        The source file name is called ircii-pana-xx.tar.gz and the binary is
        BitchX-xxxx.gz . If the ftp or www site are not working, you best
        chance is to go on irc and join #BitchX on EFNet, and do /ctcp
        #BitchX cdcc list.

1.3 What are the system requirements to run BitchX?

        You need about 1 megabyte free on a system with a UNIX OS.  Your
        terminal program should support ANSI if you want BitchX to show
        color and high ascii if you want the display to work exactly
        right.  If you run Linux or Win95/98/NT, don't bother.  For Linux,
        you should only worry about disk space and configuring your
        external devices (/dev/audio, etc) and network
        stuff.  For Win95/98/NT, BitchX will probably crash at times no
        matter what you do, since it's Windows ;) Don't worry about it.

1.4 What OS's does BitchX work on?

        BitchX now works with almost all UNIX OS's and Windows 32-bit.

        Here is the list of OS's that BitchX is reported to work on:
               Windows 95/98/NT
               BSDI 2.0/2.1/3.0/3.1/4.0
               SunOS 4.1.4, 5.3, 5.4, 5.5, 5.5.1
               Linux (All)
               HP-UX 9.x/10.x
               OSF/1 (DEC Alpha)
               FreeBSD 2.x/3.x/4.x
               DEC UNIX

        If you need binaries for those OS's, just go to the FTP sites, or
        ask in #BitchX for them. If your operating system is not listed,
        chances are that the source will compile, or that some person has
        a binary avilable. Usually get your binary from people that have
        ops in #BitchX.

1.5 Installing BitchX with source

        Download the source file, ircii-pana-xx-xx.tar.gz, and do this:
                gzip -d ircii-pana-xx-xx.tar.gz
                tar xvf ircii-pana-xx-xx.tar
                cd BitchX
                more INSTALLATION (Specific OS problems, etc...)
                make install (only if you are root - to install for system)

1.6 Installing BitchX binaries.

        All you really need is the BitchX binary, you might want some of
        the files in Section 1.8, though.

1.7 BitchX and TCL

        Yes! BitchX supports TCL scripts.  To use TCL with BitchX, you will
        have to enable it when you run the GNU configure script.  To do this
        you will have to type "--with-tcl" after "./configure"

        EXAMPLE: ./configure --with-tcl

        Most TCL scripts will run out-of-the-box in BitchX, although some will
        need modifications to work.

1.8 Other files

        Here is a list of other files that BitchX has:

        BitchX.reasons  Random kick messages, for /kick without a reason.
        BitchX.quit     Random quit messages, for doing /quit without an
        BitchX.help     The help file for BitchX (/bhelp).

        you may also put the ircII help files, then /set HELP_PATH to
        their directory. all the BitchX files go to the ~/.BitchX
        directory. ircii-x.xhelp.tar.gz - ircII base help files.

1.9 BitchX scripts

        If you want the latest version of a script, come to #BitchX, and
        do /ctcp #BitchX cdcc list, most of the script authors will
        usually be offering theirs. Another good resource for script
        reviews is fudd's page at http://we.got.net/~brian/ or openfaces
        official BitchX scripts site at http://scripts.bitchx.com/
[Useful Featuress..........................................................2.0]

2.1 ircII Windowing - hidden windows

        Okay, first of all, I personally do not know anything about the
        split windowing functions in BitchX/ircII.  I think (notice this is
        my opinion) that split screens are somewhat pointless and
        uncomfortable, although there are a few real life situations that
        may warrant it.

        Instead, I use hidden windows, which are really neat if I do say
        so myself.  To get started, let's try something easy.  Go to #BitchX
        on EFNet.  Type /window new hide and you should not really notice
        anything.  BitchX has created a new window for you, and that
        window, hereafter referred to as (2) is hidden.  To switch to it,
        press ALT+2.  It's that simple.  You will notice that it only has
        one status bar, but this can be corrected by executing the
        following in window 2:

        /window double on split on

        "double on" turns on the second status bar, while "split on"
        turns on the topic bar.

        Now you are ready to go, it's as easy as that.  There are somewhat 
        unlimited options with this type of windowing.  I will go through
        them one by one:

        Multiple Channels, Same Server: Simply type /j #channel in window
        2. To switch back to #BitchX in window 1, press ALT+1

        A one-line way to join a channel in a hidden window:
        /window new hide wap last double on split on channel #channel
        I alias this to /wnc, for "window new channel" like:
        /alias WNC {window new hide swap last double on split on channel $0}
        now you can just type /wnc #channel!

        Besides doing multiple channels and keeping them separate, you
        can also use these multiple hidden windows, your new friends, to
        organize your IRC life in these ways:

        /q <nick> in a window will make that window a dedicated query window
                  to <nick>

        /q =<nick> in a window will make that window a dedicated dcc chat
                  window to <nick>

        If you simply create a new window and dont do anything, it will
        automatically show things like /whois info and other normal /msg's
        in that window.

        You can even do multiple server connections to different IRC servers
        in one BitchX session.  To do this,
        type /server +irc.server.name in the window you want it to be in.

        Note: If for example, you have window 1 and 2 on EFNet, and window 3
        on Undernet, and you create window 4 and join a channel, it will
        join that channel on Undernet.

        Now you know the basics of ircII windowing.  More work will be
        done on BitchX's windowing, hopefully.  Only one more thing you
        need to know, how do I get rid of them?

        To kill a window, use /window kill.
        To kill a window on a different server,
        use /server -server.name.here and then /window kill.

2.2 ircII Windowing - multiple visible windows

        Tired of the single-window approach to IRCing? Well then, master
        the windowing commands built into BitchX (and trusty ol' ircII,
        as well).

        With the windowing commands, you can create as many windows as
        will fit on your screen, and assign each to a channel, assign one
        to receive all  your /msg's (or even script something to create
        auto-query-windows when someone /msg's you, like in mIRC, or some

        Here are the standard ircII windowing commands available (/help window)

        ADD            BACK           BALANCE        BIND
        CHANNEL        CREATE         DELETE         GOTO
        GROW           HIDE           HIDE_OTHERS    HOLD_MODE
        LIST           LOG            LOGFILE        MOVE
        NAME           NEW            NEXT           NOTIFY
        NOTIFY_LEVEL   NUMBER         POP            PREVIOUS
        PROMPT         PUSH           REFNUM         REMOVE
        SCROLL         SERVER         SHOW           SHRINK
        STACK          SWAP           UNBIND         WINDOW

        The way to use these are to bind them to particular keys.. I like
        to make ^W a meta character (/bind ^W meta2_character), and then
        use the NEW, SHRINK, GROW, with 2 key strokes, like ^W n for a new
        window, ^W s to do a SHRINK, etc. 

        BitchX already has some of these binds built in. (/bhelp window)
                [window shortcuts]:
                     ^W- - Shrinks current window 1 line
                     ^W+ - Grows current window 1 line
                     ^Wm - Moves current window down 1 line
                     ^Wl - Lists current windows
                     ^Wk - Kills current window
                     ^Wh - Hides current window
                     ^Wb - Balances window sizes
                     ^Wn - Swaps to next window
                     ^Wp - Swaps to previous window
                      /# - Shows window number (1-4)

        Of course, there doesn't appear to be one to actually create the
        windows, so what I'd do is a "/bind meta2-c window new".

        So, you're up with one window going.

        hit ^W-c, and bingo, your screen is chopped in half... You can
        tell which window is the "current" window by the ^^^^^^^ in
        regular BitchX.  With  some scripts, it may be harder to tell which
        one is current (usually can be determined by which window the
        usermode appears on, or on your input  prompt, which may be the
        channel name).

        Ok, now you're ready to /join in the new window... The next most  
        valuable command is the NEXT_WINDOW, which I have bound to ^O, of
        course, its personal preference... Make it an easy to hit key
        because you'll be toggling like a bitch, once you have several
        windows up...

        To Shrink, or Grow, ^W- or ^W+... It's really quite simple once
        you got it down.

        Another handy feature, is to actually have each window connect to
        a different server! The way to do this is get into an empty
        window, and do "/window server irc.blah.com"... This way, you can
        be on EFNet, Undernet, Dalnet, etc., etc., all with the same


        BitchX offers built in support for public file offering called
        CDCC.  As this is not what is normally used by mIRC & ircII
        scripts, which for the most part use XDCC, BitchX will recognize
        XDCC requests as CDCC requests.  /CDCC <command> will give you a
        list of options.  In BitchX, /CDCC without an argument will give
        you a list of arguments/commands you can use.

2.4 Using BitchX with XWindows

        Lately, there have been a lot of requests for help with getting  
        color and function keys working in XWindows in the channel.
        Before you ask for help in the channel, please make sure that you
        have obtained the xterm variant called rxvt, and the font
        vga11x19.  These should be readily obtainable from sunsite.unc.edu
        or one of its mirrors.  If you fail to find it there, try 
        http://torgo.ml.org/las, the Linux Archive Search.  When you start
        rxvt, run it with the options "-bg black -fg white -fn vga11x19".
        If you do not have vga11x19, get it! Meanwhile, use the font vga
        as a substitute.  If function keys don't work, you may need to add
        this to ~/.bitchxrc:

                /bind meta3-1 chelp
                /bind meta3-2 CHANNEL_CHOPS
                /bind meta3-3 CHANNEL_NONOPS
                /bind meta3-4 CDCC_PLIST
                /bind meta3-5 DCC_PLIST
                /bind meta3-6 DCC_STATS

        Those are the default BitchX function key bindings and should work
        as such.

2.5 BitchX toggles

        BitchX has a built-in toggle menu to turn on and off commonly
        used features of the client.  To see this menu, type /toggle.
        To turn something off or on, type /toggle <name>.

                        Automatically lookup numerical IPs
                        Turn on/off flood protection
                        Turn on/off CTCP flood protection
                        Kick people from the channel for public floods
                        Ban people from the channel for kick floods
                        Ban people from the channel for deop floods
                        Ban people from the channel for join floods
                        Ban people from the channel for nick floods
                        Turn on/off the beep sound
                        Auto get DCC files that are sent to you
                        Note: This will not autoget 0 byte files
                              like /dev/null or something
                        Log messages while away
                        Automatic link looker
                        Note: Many opers automatically K'line for this
                        Automatically /whowas a nick if they aren't on IRC
                        Show verbose CTCP requests
                        Hide CTCP information so people can't, for example,
                        /ctcp you VERSION.
                        Split a window for server messages
                        Turn on/off your shitlist
                        Weather or not to kick ops in the channel
                        Kicks users who use annoying text.  This includes
                        bold/inverse/underlined text.
                        Turn on/off your userlist
                        Protect against nethacks (servermodes)
                        Turn on/off nick completion
                        Auto rejoin a channel when kicked
                        Turn on/off your autoop
                        Turn on/off your auto away
                        Automatically reconnect to the server if disconnected
                        Only allow ops in the channel if you have then on
                        your userlist.
                        Fast DCC transfers
                        Kick a user if they have an active ban for them.
                        Automatic FTP URL grabber.
                        Automatic HTTP URL grabber.
                        Display ansi
                        Log channel activity
[Help for Windows /95/98/NT users..........................................3.0]
3.1 Where can I get BitchX for Windows 95/98/NT?

        To get BitchX for Windows, you need to goto 
        http://www.BitchX.org/download.html and look for the Precompiled i386
        Win95/98/NT version.  Alternitivley you could try ftp.BitchX.org.
        You could also join #BitchX on EFNet and type "/ctcp #BitchX cdcc list"
        to see if anyone is offering it.

       *NOTE: http://www.BitchX.com just points to http://www.BitchX.org,
              there is the same thing's on whichever URL you point your browser 
        too.  However, the BitchX.net domain is not yet official, but that is a 
        different matter.  There is a difference in the ftp address, 
        ftp.BitchX.com is different from ftp.BitchX.org (they're still the 
        official ftp sites however, they're just maintained by different 

3.2 How do I set basic environment variables in BitchX?

        To set most basic environment variables under Windows 95/98 you use the
        autoexec.bat under NT you use the WinNT Registry.  To help things work
        properly it helps if you have a $HOME directory.  This is where the ~
        (tilde) point's to in a UNIX environment.  Below is how to set a few
        'basic' environment variables:

        HOME:           Set's the $HOME directory where script's etc are loaded
        EXAMPLE:        set HOME=/novahak

        IRCNICK:        Set's the default nickname to use, otherwise "Unknown"
                        is used
        EXAMPLE:        set IRCNICK=NovaHak
        IRCUSER:        Set's the default username to use, otherwise "Unknown"
                        is used again
        EXAMPLE:        set IRCUSER=novahak

        IRC_HOST:       Set's the virtual hostname to use.  See Section 4.7 for
                        more details
        EXAMPLE:        set IRC_HOST=check.out.my.cool.domain.name.org

        IRCNAME:        Set's the "ircname".  When doing a /whois <nick> it is
                        displayed next to the nick. also known as the realname.
                        The default is: * I'm to lame to read BitchX.doc *
        EXAMPLE:        set IRCNAME=* I have read BitchX.faq *

        IRCSERVER       Set's the default server to use.  If not set then a 
                        list of default servers is loaded by BitchX
        EXAMPLE:        set IRCSERVER=irc.mindspring.com

        IRCPORT:        Set's the default port to use, usually between 6665 and
        EXAMPLE:        set IRCPORT=6667

        IRCUMODE:       Set's the default user mode
        EXAMPLE:        set IRCUMODE=+i

        IRCRC:          Sets the filename to use instead of irc-rc
        EXAMPLE:        set IRCRC=~/novahak-irc-rc

3.3 Can I still use ~/.bitchxrc in Windows?

        NO! The Windows equivilant to UNIX's "~/.bitchxrc" is "bx-rc" placed 
        in the $HOME directory.  You can still use the same commands in here
        though.  There is an example .bitchxrc by power called 
        "example-.bitchxrc" located in the 'doc' directory in your BitchX 

3.4 How can I set my own quit messages in Windows?

        In the ~/bx-conf directory there is a file called "BitchX.quit" with a
        huge list of quit messages, I think they were created by BlackJac.
        Delete all these and put a few or just one of your own in.  Or, if you
        don't have that, go into BitchX and type 
        "/set default_reason <quit msg>" or just create the "BitchX.quit" file.
        *NOTE: There is also a file called "BitchX.kck" this contains random 
               kick messages.

3.5 How do I load a script?

        In BitchX type "/load <path to script>" if the script is in your $HOME
        directory then just type "/load ~/<scriptname.bx>" or if you want the
        script to load everytime you start BitchX then type this in your 

        ## this command loads the osiris script by shiftee
        ^load ~/osiris/os.bx

3.6 What are some basic commands I could use?

        There are loads of 'basic' commands you could use, I am just going to
        mention the most useful ones.

        /about Gives you some info from panasync about the client itself
        /addforward <nick>/<channel> forwards all messages received to another
                                     nick or channel
        /addshit <nick> <channel> add's a person to your shitlist
        /ajoin <channel> auto join's a channel when BitchX starts up
        /away <reason> set's you as being away, and turn's BX msg log on
        /ban <nick> ban's a nick from the current channel.  Shortened way of
                    doing /mode <channel> <nick> +b
        /ctcp A command with alot of various parts to it. Only one command
              at a time can be done. /cdcc by itself will display this list
        CHANNEL   - public timer channel. Channels can be a comma separated
                    list of channels.
        DESCRIBE  - change description of pack
        DOFFER    - remove pack from the offer list
        LIST      - list the packs you have offered
        LOAD      - load packs saved to .cdcc.save or specified name
        MINSPEED  - minspeed for cdcc ( #.##)
        NOTICE    - notify the channel of offered packs
        OFFER     - add a pack to the offer list
        PLIST     - publicly list your offered packs
        QUEUE     - view entries in the send queue
        SAVE      - save your offerlist to .cdcc.save or specified name
        SEND      - send a pack to user
        RESEND    - re-send a pack to user
        TSEND     - tdcc send a pack to user
        TRESEND   - tdcc resend a pack to user
        RESUME    - mirc resume
        TIMER     - public list timer in minutes
        NOTE      - add note to pack number
        TYPE      - toggle between public and notice
        ECHO      - toggle echo on/off
        STATS     - display cdcc statistics
        SECURE    - adds a password to a pack

        /channel Uses the current channel as default and runs up a huge list of
                 who is in the channel, basically a huge /whois without the
                 channels and server that the people are on.
        /chat <nick> Opens up a dcc chat window so you can chat to someone.
        /ctcp <nick> <argument> Basically an information service, to find out 
                                more open BitchX and type /bhelp ctcp
        /cset is a command used to set many differant options related to
        /dcc Another 'sortof' information service.  Go into BitchX and type
             "/dcc help" for more
        /deop <nick> Removes operator status from <nick>
        /devoice <nick> Removes voiced status from <nick>
        /disconnect Disconnect's you from the server
        /dns <hostname> give's the DNS address of the given hostname
        /exit Same as disconnect only it closes BitchX too
        /fset <variable> set's various format's in BitchX
        /ftp <hostname> [login] [password] [-p port] An actual ftp client
                        itself built into BitchX, downloads files via dcc
        /ignore <nick> <channel> Ignores a specific nickname from a specific
        /join <channel> Joins a channel, alias= /j <channel>
        /k <nick> Kicks the <nick> off the channel (they *can* rejoin)
        /kb <nick> Kickban's the <nick> off the channel (they *can't* rejoin)
                   usually the ban is removed automatically after 600 secs.
        /leave <channel> Leaves the specified channel, if no channel is given
                         you leave the current one.  Alias= /l <channel> /part
        /msg <nick> <message> Send a message to the <nick>
        /nick <newnick> Changes your nickname
        /op <nick> Gives someone Operator Status
        /quit Quit's IRC, disconnect's you from your server and closes BitchX
        /save Saves any changes you have made to BitchX
        /server <address> Changes servers
        /set Set variables in BitchX
        /shitlist View your shitlist
        /topic <topic> Changes the topic for a channel (usually only ops can do
        /version Shows BitchX's internal version
        /whois <nick> Shows the stats for a <nick> what channel's there on etc.  
                      ALIAS= /wi <nick>
        /whowas <nick> See who was on IRC with your <nick>
        /window <argument> Has many different outcomes, type /window help for

3.7 If I write my own script, how do I promote it?

        If you write your own script then send an e-mail to brian@got.net
        or openface@puckrock.com with your script attached, give a description
        about what it does etc. and give him your e-mail address, your web page
        address (if you have one).  Oh yeah, and give as much information as
        possible.  You can also submit your script at this address: 

3.8 Is there a file I can make that contains a list of servers that
    I would like to use as default? 

        Yes there is, if you make a file in your home directory called 
        "irc-serv" you then type the address of each server on it's own 
        individual line.
        EXAMPLE:   irc.mindspring.com
        and you could go on and on, the above are EFNet servers, there are 
        other servers such as: Ircnet, Dalnet and Undernet but you will find
        that most the action resides with EFNet.  If you like, you may also
        specify which port's to use by doing this:
        One more thing, for those of you who haven't got a clue what I mean by
        the term 'IRC' it means 'Internet Relay Chat' if you didn't know that
        then I suggest BitchX isn't for you!
4.1 What is PMBitchX, and where do I get it?

        PMBitchX is an OS/2 Graphical User Interface (GUI) version of the
        original BitchX by panasync.  Many of the GUI enhancements are based 
        on the OS/2 client OpenChat.  The current features are: multiwindows,
        resizeable windows, font's configurable, scriptable pulldown menus, 
        full BitchX script compatibility, floatable nicklist window, properties
        notebook, file font and popup dialogs, and multimedia enhancements 

        You can obtain the latest version (BETA 1) from

4.2 How do I change my default irc nickname and username?
        These are set by environment variables, the four most important 
        variables are IRCNICK, IRCNAME, USER and HOME.  If you are using BETA 3
        and up the installation program should have set these for you.  
        Otherwise you will have to put these variables in your CONFIG.SYS, or 
        edit the PMBITCHX.CMD file and use that to start your IRC session.

4.3 How do I load the nick list?

        At the input prompt type /loaddll nicklist, and then type /nl to 
        activate the nicklist window.  In the current version of the nicklist
        plugin, run /nl only once, because the second time you run /nl it 
        should close the window, but it does not do it correctly so you won't
        be able to get the nicklist back.

4.4 There are no menus, what do I do?

        At the input prompt type /load bxmenu.bx, this will load the default 
        PMBitchX script adding all the functionality most users desire.

4.5 How can I load a script and/or plugins at startup?

        Go to the HOME directory pointed to by the HOME environment variable, 
        and create a file called bx-rc, this is the equivilant to .bitchxrc in
        UNIX. In that file enter the commands to load the dll's and scripts you

4.6 The UNIX filenames don't work in PMBitchX, what is wrong?

        Due to filename restrictions on FAT systems the BitchX filenames have
        been shortened for OS/2.
5.1 What is gtkBitchX, and where do I get it?

        gtkBitchX is a port of PMBitchX to XWindows using the gtk 
        (Gimp Toolkit) windowing library.  It includes all the features of 
        PMBitchX, except in a UNIX environment.

        You can get gtkBitchX from ftp.bitchx.com or on #BitchX EFNet, do this:
        /ctcp NuKe cdcc list

5.2 What is needed to compile gtkBitchX from scratch?

        To compile gtkBitchX from scratch you will need the following: 
        GTK 1.2.0, ZVT from gnome-libs 1.0.12, imlib 1.9.4 and pthreads.  
        glibc 2.1 or higher is recommended if on Linux.

5.3 It looks like normal BitchX, shouldn't it have menus?

        The GUI features are scripted.  There is a file called menu.bx in the 
        doc directory in the package (~/BitchX/doc).  To get the menus copy 
        menu.bx into your home directory and type /load ~/menu.bx in BitchX.

5.4 Characters look strange.  How do I fix it?

        Install a vga compatible font such as vga.pcf and then do this:
        /set DEFAULT_FONT vga | /save | /window font vga 

5.5 How do I paste?

        When menu.bx is loaded there are paste options on the BitchX pulldown
        menu and also on the popup menu.  Or you use the command /pmpaste.

5.6 I am writing a script and want to use the gtk features, where do I look for

        There are doc's in the BitchX-docs project (~/BitchX/bitchx-docs) which
        will give you the info needed, to view them in gtkBitchX type /ehelp.

5.7 After installing gtkBitchX I run console BitchX and some keys don't work, 
    what's going on?

        You are probably loading menu.bx in your .bitchxrc.  Since gtkBitchX 
        (and menu.bx) make use of keybindings that don't exist in console 
        BitchX problems can occur.  Remove the ^load menu.bx from your 
        .bitchxrc when using console BitchX.
[Common questions asked in #BitchX.........................................6.0]
6.1 What is bxglobal, and where do I get it?

        Unless you are root, you won't have to worry about bxglobal.
        BitchX runs fine without it.  What is it?  Nothing more than a
        global .bitchxrc

6.2 What is .bitchxrc and .ircrc, and how are they different?

        .bitchxrc and .ircrc are both variants of the same thing, a file 
        loaded up by BitchX automatically.  What are the differences?

        .ircrc          this is loaded by all ircII clients, only put stuff
                        that will work with base ircII scripting here.  Also,
                        this is loaded upon connecting to a server.
        .bitchxrc       this file is loaded as soon as BitchX starts.
                        Put all BitchX-specific scripting here.

6.3 What are the color codes in BitchX?  How do I use them?

        %K - Dark Gray                          %k - black
        %G - bold green                         %g - dark green
        %Y - yellow                             %y - brown
        %C - bold cyan                          %c - cyan
        %B - bold blue                          %b - blue
        %P and %M - bold purple/magenta         %p and %m - and purple/magenta
        %R - bold red                           %r - red

        %n - null color (will nullify colors before it)
        %0 %1 %2 %3 %4 %5 %6 %7 %8 %9   - background colors
        %F flashing foreground
        %U underline text.

        To set color in formatting and status (/set FORMAT_* and /set
        STATUS_*), you don't need to do anything special.  To use colors
        in echo, say, etc., try using /eval echo $cparse("%Bblue%n") and
        so forth.

6.4  How do I script in BitchX?  How do I find out what arguments
     should go to which function or command?

        To script, you should have at least some experience using the
        client so you know how things SHOULD react, etc, etc.  There is no
        designated  "guide" to scripting, just look at the scripts that
        come with the BitchX source, or ircII scripts that you already
        have/can get.  

        On the second question. First of all, try looking in BitchX.help
        (/bhelp). If it's not in there, try the base ircII help file.
        Also, look in scripts and see if you can try figure out the
        syntax/arguments a particular command  should have. Check and see
        whether it is a script defined function.  Try reading the script
        to see whether it is defined in there.  If you're too lazy to do that
        you might try /load'ing the script and comparing the /load'ed
        scripts output with that of typing it in at the command prompt.
        (/eval echo $func(args) and /command).  If it's definitely an
        "undocumented feature", e.g. you can't find out what its' use is,
        ask in the channel, someone may be able to help.

6.5  I've heard rumors that BitchX has backdoors!

        The person who started that rumor was some idiot Undernet ircop 
        who didn't know what he was talking about posting on bugtraq.
        First off, he is talking about something which he has no
        knowledge  of.  BitchX is a program, not a script, and there are
        no bugs/backdoors in it other than the accidental bugs a normal 
        program that is under development would have.  

        Secondly, I doubt greatly that it's safe to trust the judgement of 
        someone who gives programs a snap judgement on the name of it
        alone.  It's obvious from the phrasing of the article that he
        thinks BitchX is a script, not a program, and from that we can
        surmise that he has not even tried it. The only "backdoors" in
        BitchX are those of a program under constant development and
        revision -- bugs may turn up, but they are fixed as soon as they
        are discovered.  

6.6 What are the environment variables I can set before starting BitchX?

        Assuming you are using the bash shell, this is how you would do it:

        bash:~$ export VARIABLE="value"

        Variable        Value
        IRCSERVERS      "server:port server2:port2 server3:port3" 
        IRCNICK         "nickname"
        IRCNAME         "* I have read BitchX.faq *"
        IRC_HOST        "virtual hostname here" (see sec. 3.7 for details)

6.7 Can I spoof my host with BitchX?  I've seen people use
    BitchX to change their hostname before!

        No!@#  BitchX is NOT a spoofer.  To spoof your hostname, you need
        external programs.  Please don't ask how to do this in #BitchX,
        you will at the very least be ignored, as spoofing is illegal as
        well as lame.

        BitchX can be used to utilize virtual hosts (multiple hostnames 
        registered to the same machine), so that you can decide what
        hostname you would like to use.  This is not spoofing, because the
        virtual host is already  registered to your machine.  The way to
        do this would be to set an environment variable called IRC_HOST
        before you start BitchX.  For example, if I were using the bash
        shell on computer.com, which also had an alias called data.org, I 
        would do this:

        bash:~$ export IRC_HOST="data.org"
        bash:~$ BitchX MyNick irc.server.com

        Note, if you are using tcsh, use  `setenv IRC_HOST "data.org"`

        When I connect to the server, I would then /WHOIS MyNick, I
        should then show up as user@data.org, instead of

        If you do not know if your shell has virtual hosts on it, ask your
        shell admin, DO NOT ASK IN #BitchX.  If you are your own shell
        admin and still do not know if you can use virtual hosts, might
        I suggest that you read some books, or hire someone that knows
        something. :)

6.8 Explaning the status bar.

        On the right-hand side, you see: [U:a:S:b:h], this gives you a quick
        look at some of the options that are turned ON and off in BitchX.
        An uppercase letter means the option is on, while a lowercase
        letter means the option is off. 
        U=userlist, a=autoop S=shitlist b=bitch h=hacking.

        When you join a channel, you see something like:
        [O/35 N/128 I/4 V/0 F/0], this gives you a quick overview of
        the status of the people in the channel.
        O = number of ops in the channel
        N = number of non-ops in the channel
        I = number of IRCOps in the channel
        V = number of voiced users in the channel
        F = number of people on your friend's list in the channel

6.9 How can I add a user to my autoop userlist?

        /adduser nick #channel friend,i_ops
        /cset * aop on
        /set aop on

        i_ops will op the user instantly on join, for a delayed autoop,
        dont use the i_ops flag.

        more than one #channel may be specified by seperating each
        channel by a comma: /adduser nick #channel1,#channel2,#etc 
        friend,i_ops - To add a user for all channels, use a * for the

        For a complete list of available user flags, /bhelp userlevels

6.10 How can I change the version reply?

        /fset format_version Hi, this is my new version reply.

        You can change nearly all the responses that BitchX gives. Type
        /fset for a complete list of format's that you can change. You can use
        the % color codes covered in section 3.3 in most of the formats.

6.11 How can I turn on timestamping?

        To turn on timestamping, add a $0 to the format.  
        Example, to turn timestamps on for public channel messages, you
        would type:

        /fset format_public [$0] %b<%n$1%b>%n $3-
        This would make public messages look something like:

        [2:32am] <Venoma> *lix*

6.12 Can I play audio CD's in BitchX?

        Yes, you can.  Before you compile BitchX, modify the Makefile
        and turn on the CDROM features.  

        Use the following commands in BitchX to control the cdplayer:

        /cdplay   /cdpause   /cdstop   /cdvol   /cdlist   /cdeject

        *Note: There is also a plugin available which can be dynamically
               loaded. /loaddll /path/to/module.so. Several plugins are
               available like blowfish, cdrom, amp etc.

7.1 Contacting

        For more information about this FAQ, and for comments, you can
        talk to NovaHak(novahak@bitchx.org) or power(power@power.zepa.net) on
        EFNet IRC.

        If you have any further questions on PMBitchX, or gtkBitchX you can
        contact the author, NuKe@EFNet, or [NuKe]@EFNet on #BitchX and if you
        have a bug report for him, then e-mail (dbsoft@technologist.com)

        Join the BitchX user mailing list to ask questions or discuss
        BitchX's newest features.  Most of the BitchX development team are
        subscribed to this list.  Send an email to
        majordomo@lists.bitchx.com with "subscribe bitchx" in the body of
        the message (without the quotes).

        If you want information about BitchX, you can talk to the author 
        panasync (edwards@bitchx.dimension6.com) on IRC, or join #BitchX on
        EFNet, and ask your question,. please do not ask him questions that you
        can ask in the #BitchX channel, or learn from reading this FAQ,
        the BitchX.help, or other help sources, as he is a busy man.
7.2 Revisions

        10/22/99        :BitchX FAQ v3.0.1 by NovaHak <novahak@bitchx.org>
                         and power <power@power.zepa.net>
                        :Received a few 'bug reports' on the FAQ, just fixed
                         it up a bit.

        9/18/99         :BitchX FAQ v3.0.0 by NovaHak <novahak@bitchx.org>
                         and power <power@power.zepa.net>
                        :Added PMBitchX and gtkBitchX section (requested by NuKe)

        8/9/99          :BitchX FAQ v2.0.2 by NovaHak <novahak@bitchx.org>
                         and power <power@power.zepa.net>
                        :Added section for Windows NT/95/98.  Basic commands,
                         misc stuff etc.  Found a few spelling errors which have
                         been taken care of =]

        1/1/99          :BitchX FAQ v2.0.1 by power <power@power.zepa.net>
                        :Added new features/information.  Changed the look
                         of the FAQ.    

        6/11/97         :Fixed grammar & punctuation.  Fixed spelling errors.
                        :Added Yngve's section on ircII window manipulation.
                        :Added questions asked on #BitchX section. v1.5.4.
                        :Changed the look of the FAQ again.

        6/8/97          :v1.5.0 came out.  Rush job, quickly formatted and
                         checked for errors.  Some overlooked.  Changed
                         the "look" of the FAQ.

        ??/??/??        :BitchX FAQ v1.0.0 by IceBreak and sh00p came out.
7.3 Top ten ways to get banned in #BitchX
        We've compiled this little list of the top 10 ways to get banned
        in #BitchX EFNet.  These are in no particular order.

        10.     Using excessive caps/puncuation/colors
                        Asking your question in a humane way will get
                        your point across, you do not need to CAPS it
                        or use colors/bold/underline/inverse.  You also
                        need not use excessive puncuation.  OK?!??!????

         9.     Repeating your questions often
                        This is extremely annoying.  Ask your question
                        once. This is extermemly annoying.  Ask your
                        question once.  We will get around to you and 
                        give you an answer.  If we don't answer your
                        question, ask again in 5 or 10 minutes. This
                        is extremely annoying.  Ask your question once.

         8.     Asking to ask a question
                        This is is beyond lame.  Why ask if you can ask
                        a question? Anyway, just ask in the channel and
                        we'll try to answer the best we can.

         7.     Asking for ops/voice
                        No, we will not op you.  This is the sure way to
                        earn yourself a ban.  Only cool people get voiced
                        so if an op doesn't know you, don't ask to be
                        voiced.  If you know an op and want a voice,
                        send them a private /MSG and see if they will.

         6.     Making any reference to mIRC
                        mIRC is not to be mentioned.  We can't stand
                        Windows or Khaled.  The only time mIRC can be
                        brought up in the channel is if you're planning
                        to takeover #mIRC or something.

         5.     Asking questions not related to BitchX
                        This is why there are channels like #linux,
                        #linuxhelp, #linuxos, #lamers, #imoncrack, etc.
                        Only ask questions that relate to BitchX.

         4.     Making derogatory statements about females
                        We all love females.  Lately there have been
                        quite a few that have been hanging out in #BitchX...
                        (no this is not an offer for netsex, god!) We
                        respect our lady-friends.

         3.     IRC'ing as root
                        Oh my god, they hacked your box, those bastards!

         2.     Asking about/for scripts that we disown (ICE/BX,crackrock)
                        These scripts are not supported by #BitchX, and will
                        NOT be distributed in the channel.  If you ask for
                        these scripts, bewm.

         1.     Not speaking english in the channel or being stupid/lame
                        Speak english.  That's what we speak in #BitchX...
                        (with the occasional ebonix), if we can't understand
                        your question because your speaking Iraqie, please
                        don't bother to join the channel.  
                        Act decent, no being excessively lame or stupid...of
                        course, panasync is exempt from this rule. =)
Contributors to this FAQ:
        panasync        (edwards@bitchx.dimension6.com) <- kick ass client, man
        NovaHak         (novahak@bitchx.org) <- yowsa!
        power           (power@power.zepa.net) <- eep!
        Xavier          (jak@numb.org) <- the new guy
        IceBreak        (ice_break@hotmail.com) <- original FAQ and new one
        sh00p           (shupijr5@wfu.edu) <- where the hell are you man? 
        Yngve           (yngwie@glock.triax.com) <- ircII windowing
        #BitchX EFNet   <- keep being a great place to chill in, guys