.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 ............................] 
[...................and power ..........................]
[BitchX by panasync...........................................................]

_______________________________________________________________________________
[Foreword..................................................................0.0]
*******************************************************************************
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
		BitchX?
	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)
		IRIX
		HP-UX 9.x/10.x
		OSF/1 (DEC Alpha)
		FreeBSD 2.x/3.x/4.x
		DEC UNIX
		Ultrix
		AIX
		IRIX

	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 
		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
			argument.
	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  in a window will make that window a dedicated query window
                  to 

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

        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
	such).

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

	ADD            BACK           BALANCE        BIND
	CHANNEL        CREATE         DELETE         GOTO
	GROW           HIDE           HIDE_OTHERS    HOLD_MODE
	KILL           KILL_OTHERS    LASTLOG_LEVEL  LEVEL
	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
	client.

2.3 CDCC/XDCC

	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  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 .

		auto_nslookup
			Automatically lookup numerical IPs
		flood_protection
			Turn on/off flood protection
		ctcp_flood_protection
			Turn on/off CTCP flood protection
		pubflood
			Kick people from the channel for public floods
		kickflood
			Ban people from the channel for kick floods
		deopflood
			Ban people from the channel for deop floods
		joinflood
			Ban people from the channel for join floods
		nickflood
			Ban people from the channel for nick floods
		beep
			Turn on/off the beep sound
		dcc_autoget
			Auto get DCC files that are sent to you
			Note: This will not autoget 0 byte files
			      like /dev/null or something
		msglog
			Log messages while away
		llook
			Automatic link looker
			Note: Many opers automatically K'line for this
		auto_whowas
			Automatically /whowas a nick if they aren't on IRC
		verbose_ctcp
			Show verbose CTCP requests
		cloak
			Hide CTCP information so people can't, for example,
			/ctcp you VERSION.
		operview
			Split a window for server messages
		shitlist
			Turn on/off your shitlist
		kick_ops
			Weather or not to kick ops in the channel
		annoy_kick
			Kicks users who use annoying text.  This includes
			bold/inverse/underlined text.
		userlist
			Turn on/off your userlist
		hacking
			Protect against nethacks (servermodes)
		nick_completion
			Turn on/off nick completion
		auto_rejoin
			Auto rejoin a channel when kicked
		aop
			Turn on/off your autoop
		auto_away
			Turn on/off your auto away
		auto_reconn
			Automatically reconnect to the server if disconnected
		bitch
			Only allow ops in the channel if you have then on
			your userlist.
		dcc_fast
			Fast DCC transfers
		kick_if_ban
			Kick a user if they have an active ban for them.
		ftp_grab
			Automatic FTP URL grabber.
		http_grab
			Automatic HTTP URL grabber.
		display_ansi
			Display ansi
		log
			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 
	people).

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
	                from
	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  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
	                6668
	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 
	folder.

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 " 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 " if the script is in your $HOME
	directory then just type "/load ~/" or if you want the
	script to load everytime you start BitchX then type this in your 
	"bx-rc"

	## 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 / forwards all messages received to another
				     nick or channel
	/addshit   add's a person to your shitlist
	/ajoin  auto join's a channel when BitchX starts up
	/away  set's you as being away, and turn's BX msg log on
	/ban  ban's a nick from the current channel.  Shortened way of
	            doing /mode   +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
	      however.
	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  Opens up a dcc chat window so you can chat to someone.
	/ctcp   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
	      channels. 
	/dcc Another 'sortof' information service.  Go into BitchX and type
	     "/dcc help" for more
	/deop  Removes operator status from 
	/devoice  Removes voiced status from 
	/disconnect Disconnect's you from the server
	/dns  give's the DNS address of the given hostname
	/exit Same as disconnect only it closes BitchX too
	/fset  set's various format's in BitchX
	/ftp  [login] [password] [-p port] An actual ftp client
	                itself built into BitchX, downloads files via dcc
	/ignore   Ignores a specific nickname from a specific
				 channel
	/join  Joins a channel, alias= /j 
	/k  Kicks the  off the channel (they *can* rejoin)
	/kb  Kickban's the  off the channel (they *can't* rejoin)
	           usually the ban is removed automatically after 600 secs.
	/leave  Leaves the specified channel, if no channel is given
			 you leave the current one.  Alias= /l  /part
			 
	/msg   Send a message to the 
	/nick  Changes your nickname
	/op  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 
Changes servers /set Set variables in BitchX /shitlist View your shitlist /topic Changes the topic for a channel (usually only ops can do this) /version Shows BitchX's internal version /whois Shows the stats for a what channel's there on etc. ALIAS= /wi /whowas See who was on IRC with your /window Has many different outcomes, type /window help for more 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: http://scripts.bitchx.com/contrib.php3 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 irc.cs.cmu.edu irc.core.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: irc.mindspring.com: irc.cs.cmu.edu: irc.core.com: 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! _______________________________________________________________________________ [PMBitchX..................................................................4.0] ******************************************************************************* 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 (sound). You can obtain the latest version (BETA 1) from ftp.BitchX.org/pub/BitchX/binaries/PMBitchX-75p3-OS2-i386.zip 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 desire. 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. _______________________________________________________________________________ [gtkBitchX.................................................................5.0] ******************************************************************************* 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 information? 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 user@computer.com. 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 /save 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 channel. 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] *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. _______________________________________________________________________________ [Miscellaneous.............................................................7.0] ******************************************************************************* 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 and power :Received a few 'bug reports' on the FAQ, just fixed it up a bit. 9/18/99 :BitchX FAQ v3.0.0 by NovaHak :Added PMBitchX and gtkBitchX section (requested by NuKe) 8/9/99 :BitchX FAQ v2.0.2 by NovaHak and power :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 :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. =) _______________________________________________________________________________ [Credits...................................................................8.0] ******************************************************************************* 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 _______________________________________________________________________________ [EOF.......................................................................EOF] *******************************************************************************