
How to use WeirdX
====================================================================
Last modified: Thu Mar  2 14:37:21 UTC 2000


SUPPORTED PLATFORMS
===================
WeirdX is implemented with JDK 1.1.* & Swing 1.1.*
So, WeirdX will be available on any platform, which support them.
Here, we list supported platforms, which we have confirmed already.
If you succeed to run WeirdX on other platform, please add it to
this list. 

- Windows 95
- Windows 98
- Windows NT
- OS/2
- Intel Solaris 2.6.0
- Intel GNU/Linux, J2SE v.1.2.2 
  (feedback from David Golden)
- FreeBSD
  (feedback from Brian Gilman)
- Alpha OSF1, J2SDK.v.1.2.1 
  (feedback from Keith Schincke)
- MacOS 9 with MRJ 2.1.4, MacOS 8.6 with MRJ 2.1.x 
  (feedback from Tarun Reddy, Eric Albert)

REQUIREMENTS:
=============

The following softwares are required to use WeirdX.

- JDK 1.1.* & Swing 1.1* or Java2

OPTIONAL:
=========

WeirdX is also usable as an Java applet. If you have Java Plug-in,
WeirdX will run in a web browser, Internet Explorer, Netscape Navigator.
If you try WeirdX on Windows 95/98, we recommend to run WeirdX in a
web browser. If you run WeirdX as an application on DOS prompt,
it will run very slowly.

- Java Plug-in for JDK 1.1* or Java2 

- web browser.
	Internet Explorer or Netscape Navigator.
        Don't use Java2 plug-in on Opera. Opera will crash.

USAGE:
======
Before using WeirdX, check CLASSPATH includes swingall.jar in Swing 1.1.*
and current directory. Then type,
     
       javac -O com/jcraft/weirdx/*.java com/jcraft/util/*.java
       java com.jcraft.weirdx.WeirdX
# In this distribution, *.class files has been included, 
# so you can skip first step. 

If everything goes well, one window will be opened on your desktop.
This is an X Window System server. In default setting, WeirdX will use
display-name '<your hostname>:2.0' .

To run x clients on WeirdX, just specify '-display' option.
Suppose that WeirdX are running on some machine, named "foo",
and you have Un*x machine, named "bar". Try next command on machine "bar"

       xlogo -display foo:2.0

"misc" directory has some scripts for executing WeirdX easily.
At present, scripts for Unix, Windows and OS/2 are located.


USAGE AS AN APPLET:
==================
If you have not installed Java Plug-in, install it before going on.
Java Plug-in will be available from http://www.javasoft.com/ .
Copy "misc/weirdx.jar" and "misc/weirdx.html" to some directory,
which is accessible through a http server, then open weirdx.html with 
a web browser via a http server. If everything goes well, 
WeirdX will start in your web browser.
In default setting, WeirdX use display-name 
'<your hostname>:2.0' .

In some situations, JVM may throw the Security Exception.
WeirdX must gain access to TCP port(6002) and JVM may reject to do so.

XDMCP:
======
WeirdX supports XDMCP. If you want to use this functionality,
specify properties, 'weirdx.xdmcp.mode' and 'weirdx.xdmcp.address'
appropriately. In current implementation, 'indirect query' has not
been supported.
And this functionality can be used as a stand alone program,
so it will be useful for X Window System users, whose X server 
does not support XDMCP. Try,

  java com.jcraft.weirdx.XDMCP -query somewhere -display display-name
or
  java com.jcraft.weirdx.XDMCP -broadcast somewhere -display display-name

If everything goes well, xdm will open a login-window on your
X server. After you get a login-window, please kill the above java process
as soon as possible.
Caution: At present, any authorization mechanism has not been implemented.
So please use this functionality with your own risk.

Copy/Paste:
==========
Copy/paste operations between the native window system
and WeirdX(CUT_BUFFER0) has been supported. 
For example, you can copy/paste strings on 'xterm', 
which runs on WeirdX, to 'notepad' on Windows98.
At present, 'selection' has not been supported. So you can't copy strings
on TextField widgets of GTK,Motif to apps on Windows98.
However, 'xcutsel' will help you.

Multibyte Characters:
====================
WeirdX supports to display multibyte characters on the internationalized JRE.
If you need to display Japanese, Korean and Chinese characters on Weirdx, try
weirdx.display.charset=JISX,KSC5601,GB2312
At present, WeirdX supports Japanese, Korean and Chinese characters,
but only Japanese characters have been confirmed to be
handled correctly.
If you succeeded or failed to display others, please write us.

Keyboard:
========
In default settings, WeirdX supposes that key events are from
US layout keyboard. If your keyboard is other layout one, 
you can change internal keymap definitions by setting 
a property 'weirdx.display.keymap'.
If your keyboard is for U.K., try
weirdx.display.keymap=gb
At present, WeirdX supports gb(U.K. layout keyboard).

PROPERTIES:
==========
WeirdX has some properties as below,

* weirdx.display.width: numeral
  Width of root window. If you don't specify 
  this property, the property "WIDTH" will be used.

* weirdx.display.height: numeral
  Height of root window. If you don't specify this property,
  the property "HEIGHT" will be used.

* weirdx.displaynum: numeral
  default: 2
  If you specify "3", display-name, "hostname:3.0" will be used.

* weirdx.windowmode: InBrowser | MultiWindow
  default: InBrowser
  In specifying MultiWindow, each toplevel window, 
  whose parent is root window, will have its own window frame.

* weirdx.display.visual: TrueColor16 | PseudoColor8 | StaticGray8
  default: PseudoColor8
  In specifying 'PseudoColor8', 256 colors are used.
  On the other hand, in specifying 'StaticGray8', 256 gray scaled 
  colors will be used.

* weirdx.display.acl: [+hostname[,+hostname[,...]]]
  default: -
  WeirdX only supports ACL based on hostnames.

* weirdx.display.threebutton: yes | no
  default: no
  Three button mouse emulation is enabled.

* weirdx.display.charset: [charset[,charset[,...]]]
  Specified charsets will be handled.
  For Japanese characters, specify 'JISX'. For Korean characters,
  specify 'KSC5601', and for Chinese characters, specify 'GB2312'.

* weirdx.display.keymap: a name of keymap. 
  default: 101
  Specified keymap definitions is used.

* weirdx.xdmcp.mode: query | broadcast | no
  default: no
  If you require the XDMCP service, specify 'query' or 'broadcast'.

* weirdx.xdmcp.address: ip-address
  Specify a query address or a broadcast address.

* weirdx.xrexec: yes | no
  default: no
  If you require the rexec service, specify 'yes'.

* weirdx.myaddress: ip-address
  If you need rexec service,
  this property must be specified.
  This ip-address will be used to generate display name.

* weirdx.extension: names of extensions.
  default: DummySHAPE
  In current implementation, dummy of SHAPE extension is
  included. If you hate such a hack, leave this property in blank.

In running as an application, "config/props" will be referred.
