		-------------------------------
		rxvt support for greek keyboard
		-------------------------------

		A. Haritsis <ah@doc.ic.ac.uk>

rxvt supports both ELOT-928 (ISO-8859-7 standard) and IBM-437 keyboard
translations for greek character entry. It is possible to start rxvt windows
in any of the two translations, making it possible to use both translations
modes simultanesuly on the same screen! No need to convert your files back
and forth if you don't want to.

When in greek mode, type ; or : twice to emit the respective symbol.
No need to switch language mode back and forth!

rxvt ISO-8859-7 includes mappings for the following (usually forgotten):
anw teleia =  ;.
<<	   =  ;<
>>	   =  ;>
  Also:
Copyright  =  ;c
Section    =  ;s

For Greek Elot-928 or IBM-437 keyboard for rxvt & X greek entry support
you will need to:

1) compile rxvt with an ANSI C compiler (eg gcc) as follows:

   Use the  --enable-greek  option in  configure , or edit config.h and
   define GREEK_SUPPORT

   Then your rxvt executable with greek support should be created.  Install
   it as you would do for the normal rxvt.  There is no need to change its
   name.  It works fully as a normal rxvt but if you press the 'toggle'
   keysym (see below) it will switch into greek translation mode.  The extra
   memory it takes in less than 4 kBytes.

2) install greek elot & ibm437 fonts(s) for X-windows
   eg.
	cp a_greek_font.pcf.Z /usr/lib/X11/misc/

   and ammend the fonts.dir and fonts.alias in /usr/lib/X11/misc/. Greek
   fonts are available as a separate file which you can download from
   sunsite (/pub/Linux/X11/misc/greek-xfont-pack.tgz).  A new release of a
   FULL set of fixed (and proportional and Type1 for use by netscape etc)
   can be found in the HCR archive - see at end).  I might upload them at
   sunsite et all as well.

3) include the following in your X resources:
	rxvt.font: grfixed	(or the name of your preferred greek font)
	rxvt.bits: 8				(default)
	rxvt.greektoggle_key: Mode_switch	(default)

   where grfixed is an alias for one of the elot-928 font in the pack.

   Remember that the default keyboard translation is ELOT928.  If you need
   to start rxvt with suppport for IBM437, use the command line of rxvt to
   set mode & font (command line option -grk4 can do this).  Remember to use
   an Elot font with the Elot translation mode and a 437 font with the
   IBM437 mode.

   You can choose any keysym you wish as the "toggler" greek_switch_keysym.
   Choosing `VoidSymbol' will effectively _disable_ the greek keyboard.  
   The default is keysym `Mode_switch'.

   For XFree86 this is defined in the /usr/lib/X11/Xmodmap.* files as:
	keycode 113 = Mode_switch  (it is the Right Alt key or ALtGr)
   You may define it to be something else with a command like:

	xmodmap -e "keycode ... = Mode_switch"

   or changing your ~/.Xmodmap file (see xmodmap(1) and X(1) about this).  
   I personally prefer the AltGr key on PC X terminals since it allows fast
   switching. Of course this might not be liked by left-handed people.  You
   can redefine it to whtever you like under X, but I would NOT recommend
   keycodes that have other uses.

5) Not all programs are 8-bit clean -- ie, they sometimes strip the top bit
   of a character which is essential for the greek fonts.

   Unfortunately bash is one of these programs (at least I couldn't figure
   out how to make it to work). Use tcsh instead: it is 8-bit clean.

   You will generally need to include in your ...rc files:

   For sh/bash:
	LC_CTYPE=iso_8859_1; export LC_CTYPE
	LESSCHARSET=latin1; export LESSCHARSET
	
   For bash to be 8-bit clean, add the following lines to ~/.inputrc:
	set meta-flag on
	set convert-meta off
	set output-meta on

   For csh/tcsh:
	setenv LC_CTYPE iso_8859_1
	setenv LESSCHARSET latin1

Still some applications will have problems.  Emacs has its own support for
greek characters achieved with the .el script written by sarantos@csd.uch.gr
(for 19.20 +).  It might be possible to have greek support via emacs
invocations with the -nw argument (with this version of rxvt) but I have not
tried it.  Elvis (vi clone) works fine.  I highly recommend vim version 3.15
and later.  I have added support for making native languge vi'ing very easy
(see langmap option). It's by far the most powerful vi (or maybe editor :-)
I have ever seen.

If some (terminal-based) applications do not work, please direct complaints
to their authors stating that you would like them to be 8-bit clean.

I will soon release a linux version of an 8-bit clean curses lib and
versions of some useful programs that work with it (eg ytalk).  Watch the
HCR archive.

Do not expect programs that are not running within an rxvt window to have greek
keyboard support. For this, it will be needed to change the Xlib so that it
supports 4-state FSMs (rather than only 2 - I do not count shift keys or caps
lock) for keyboard entry (required for greek keyboards).

And something amusing and (maybe) useful: some filesystems (including SunOS
and Linux filesystems -- haven't checked others) allow names with 8-bit
characters; so you can create files or directories with names containing
greek characters!

Enjoy,

Angelo Haritsis <ah@doc.ic.ac.uk>

For more greek related tools/fonts etc, have a look at the
HELLENIC RESOURCES ARCHIVE (HCR) : ftp://dolphin.doc.ic.ac.uk/pub/greek/
maintained by the above author.
