README
                                X.W.O.A.F
                           X Windows On A Floppy
                              Version 0.1.4

                               Basic HELP

Copyright (C) 2005, Terry Loveall. All files released under OSI approved licenses. See individual source for details.

email: <loveall@iinet.com>
Xwoaf home page: http://www.modest-proposals.com/Hacklin.htm

!!!! When all else fails, READ THE SCREEN !!!!

This single floppy based linux X-window package attempts to provide the basic applications and file functions required for a communications node on the Internet. With suitable network interface card based access (T1, DSL modem or cable modem) to the Internet,

Xwoaf provides:
jwm Win95 clone window manager,
retawq (fast!) text mode web browser,
OXElmo email client,
edx text editor,
bcalc simple four function GUI/command line calculator
xcalendar date/day/time pop-up calendar.

File functions are provided by:
rxvt X-terminal program,
busybox, the built in monolithic binary containing linux command line apps and
txplor: a dual-pane, tree-based filemanager.

NOTE: To edit any local URL linked file in this help file, Right-click on the URL, select 'SendTo:' and then select 'Editor'.

The three X-apps txplor, retawq and OXElmo all started life as curses based text-mode terminal apps. I hacked together an equivalent X-curses API which only uses libX11 and libc based upon code I wrote for edx.


Retawq:

Text mode Web Browser/Help-file viewer (The app used to view this file)
binary is /usr/X11R6/bin/retawq.
Help file is file:/Retawq.html.

A text mode web browser that also supports passive ftp and nntp.

'q' to quit.
'h' for help.
Tab key moves to next link, Shift-Tab key moves to prev.
Up/Down cursor keys scroll by one line.
PageUp/PageDown and Home/End as expected.
Left-Arrow prev URL, Right-Arrow next URL.
Backspace prev URL, Shift-Backspace next URL.
Scrollbar is accurate only after the current page is finished downloading.
To copy to clipboard from anywhere on window, left-click and drag.
To paste text from clipboard to line input, right-click.
Press 'g' or ^L to manually enter a URL.
Press 'R' or ^R to reload URL.
Press ^i to switch between split windows.
Press Esc key to stop any on-going processes, e.g. line input, menus or looong URL loads.


X-Windows:

Uses X11R6 XFree86 3.9N Xvesa Xserver.

binary is /usr/X11R6/bin/X.

Only three getty's are active. You only have 2 text mode consoles. The third is reserved for X.

To switch to the main text mode console from X, press 'Ctrl-Alt-F1'.

To switch back from either text mode console to X press 'Alt-F3'.

After exiting X windows, reboot either with the three finger salute 'Ctl-Alt-Delete' or type 'reboot' <Enter>.

To change the configuration for X-windows, mouse, networking and whatever else, examine and edit file:/etc/rc.d/sysinit. Sysinit generates the following configuration files at system boot:
file:/etc/networks
file:/etc/inetd.conf
file:/etc/passwd
file:/etc/group
file:/etc/host.conf
file:/etc/hostname
file:/etc/hosts
file:/etc/hosts.allow
file:/etc/hosts.deny
file:/etc/issue
file:/etc/resolv.conf
file:/usr/X11R6/bin/startx
which calls:
file:/usr/X11R6/lib/X11/xinit/xinitrc
file:/bin/netstart (This file exists only when using a static IP address)

BTW file:/etc/rc.d/sysinit gives a good overview of just what is necessary, after booting the linux kernel, to configure, logon to a networked linux system and run X.

You may need to relink the mouse in /dev. Default mouse is /dev/psaux.
Other available options are com1 on ttyS0 or com2 on ttyS1. e.g.:
'cd /dev;rm -f mouse;ln -s ttyS0 mouse;cd -' or
'cd /dev;rm -f mouse;ln -s ttyS1 mouse;cd -'
USB anything is not supported.


Busybox:

For the list of available busybox commands, type 'busybox' at the command line. PPP is not supported.


Networking:

DHCP for ethernet is the default network logon. file:/etc/default.script is the commented and verbose shell script which the busybox udhcpc code uses to execute the DHCP functions.

To enable static IP addressing set the variable 'DHCP' in file:/etc/rc.d/sysinit. to 'no' to disable dhcp. Then you must configure sysinit using your static IP address, netmask, broadcast IP address, gw IP address and DNS server IP addresses.


Console text editor:

The impervious e3 editor in wordstar mode is available for editing files at the terminal.

binary is /bin/e3

REQUIRES a filename to operate, displays help screen otherwise.
^k^q to exit.
Alt-h for help. Help not available from _within_ e3 under rxvt, but does display if e3 entered without a filename.


X app help:

Jwm (Joe's Window Manager):

The window manager 'jwm' is a Win95 simplified clone. Default MS Window key-bindings.

binary is /usr/X11R6/bin/jwm

There is a pop up task bar at the bottom of the root X window. Move the cursor to the bottom of the screen to un-hide it.

Use the task bar to hide or bring a window to the top.

Window policy is click-to-focus.

'Ctrl-Alt-Backspace' or 'Start->Exit' to exit X.
'Alt-Tab' to switch between active app windows.
'Alt-Space' to pop up the active window menu.
'Alt-F4' to exit active window app.
'Alt-Escape' to pop up 'Start' menu.
'Alt-#' (replace '#' with a number) to switch desktops, when enabled. However, Xwoaf as configured only has one desktop.

'Start' button menu and window manager configuration located in file:/root/.jwmrc. Can be edited with: 'Start->Edit Config->Edit this menu' selection.

Click on the 'load' button to start 'top' in an rxvt terminal.

Click on clock to start calendar (see below).


Console:

Starts up an rxvt terminal with presets in file:/usr/X11R6/bin/Cmd.


Explorer:

binary is /usr/X11R6/bin/txplor.

A dual pane directory tree/file list filemanager.
Press '/' for pane sensitive Commands.
Press '/' followed by 'q' to exit.
Press 'a--z' to move cursor to next dir/file starting with that char.
Press Tab to switch between panes.
Mouse click in non active pane switches to that pane.
Mouse click in active pane selects dir/file under it.
Mouse double-click in active pane executes/views selected file per file:/usr/X11R6/bin/mime_start.

Scrollbar works on active pane.
Up/Down cursor keys move selection up/down one.
PageUp/PageDown and Home/End as expected.
To copy to clipboard from anywhere on window, right-click and drag.
To paste use Shift-Ins. (Recommended only in line input!)
Directories ending in the character '/' contain sub-directories.
Left mouse double-click, <Enter> key or right-arrow to expand.
Left-arrow to collapse.


browser:

see Retawq text mode Web Browser above


E-mail:

OXElmo is a text mode style email client.
Binary is /usr/X11R6/bin/OXElmo.
'q' to quit.
'?' or 'h' for help.
Documentation is file:/Elmo.txt.
Tutorial is file:/Elmo_tutorial.txt.
Mail directory file:/root/mail.
Mail template is kept in file:/usr/local/share/elmo.
To empty /root/mail/inbox and clear downloaded headers, execute the shell script 'clrmail' from a command line.

You will need to edit file:/root/.elmorc to enable your email account.
(Right click on file:/root/.elmorc, select 'SendTo:', select 'Editor' to edit).
Complete the individual items: in 'smtp_acc' (where to send email) and 'pop_acc' (your email account).

set smtp_acc {
-- name: ISP_name
-- server: ISP_SMTP_host_name_or_IP_address
-- my_name: 'your_email_name'
-- email: your_email_address
-- port: 25
-- username: your_ISP_logon_name
-- password: your_ISP_logon_password
-- ssl: no
}

smtp_acc NOTES:
To prevent spam abuse, many ISPs are requiring a logon name and password to send email. Recommend using the same username and password as in pop_acc, below.

The 'my_name' field above requires enclosing tick (') marks.
Leave 'port' number unchanged unless you know otherwise.
Leave 'ssl' field alone. ssl support not compiled.

set pop_acc {
-- name: ISP_name
-- server: ISP_SMTP_host_name_or_IP_address
-- username: your_ISP_logon_name
-- password: your_ISP_logon_password
-- port: 110
-- count_max: 0
-- ssl: no
}

pop_acc NOTES:
Leave 'port' and 'count_max' unchanged unless you know otherwise.
Leave 'ssl' field alone. ssl support not compiled.


Editor:

A WordStar style text editor.
Binary is /usr/X11R6/bin/edx.
^k^q or 'Alt-F4' to exit.
F1 key for help.
F2 key to save.
F3 key to open a new file.
Accepts file input from 'stdin' for use as a viewer. (Has softlinks for 'less' and 'xless' pointing at it).


Calendar:

Provides a printout of the month, what day it is and the time the calendar executed. Shell script located in file:/usr/X11R6/bin/calendar. Uses busybox 'cal' and 'date' functions. Displays in edx.
^k^q or 'Alt-F4' to exit.


Calc:

Homegrown four function basic GUI and command line calculator. Binary is /usr/X11R6/bin/bcalc.
'q' to exit.
'bcalc 5 + 6 x 3' will display '33' on the command line. Or use keyboard or mouse in GUI (NOTE: due to command line limitations, use 'x' or '\*' for multiply).


Edit Config:

This sub-menu invokes the editor on specific xwoaf configuration files.
See X-Windows: above for list.


SendTo:

'SendTo:' appears on the right click pop up menu for both retawq and txplor.

'SendTo:' operates using the binary /usr/X11R6/bin/menu along with the two shell script files:
file:/usr/X11R6/bin/sendto and file:/usr/X11R6/bin/.sendto.

Right clicking on a URL in retawq pops up a menu with a 'SendTo:' option. Selecting 'SendTo:' pops up a menu of operations to perform on or with the selected URL. Enables retawq to act as a file manager.

Right clicking on a file in txplor will pop up the same menu of operations to perform on or with the selected file.


SendTo:->Exec:

Uses shell scripts file:/usr/X11R6/bin/x and file:/usr/X11R6/bin/mime_start to evaluate the passed parameter from the calling app.
For use in right button generated 'SendTo:' mode from within either the file pane of Explorer filemanager (aka txplor) or the retawq web Browser.


SendTo:->HexView:

Uses builtin busybox 'hexdump' command on specified file, with piped output to edx.
Has command line alias script of 'hv'.
'Alt-F4' to exit.


SendTo:->EditMenu:

Edit the 'SendTo:' menu text file.
Edits file:/usr/X11R6/bin/.sendto.
See 'Editor' above and this file for help.


My thanks to:

mungkie at: http://www.angelfire.com/linux/floorzat/2diskXwin.htm. He released the basic uClibc, busybox and libtinyX11 package together as the 1diskxwin package and did a nice job.

Arne Thomassen for his cooperation in hacking up retawq. See: http://www.arne-thomassen.de

Joe Wingbermuehle for jwm. Finally! A _small_ task bar based window manager. See: http://joewing.net

Albrecht Kleine for the beautifully crafted e3. See: http://www.sax.de/~adlibit/

rzyjontko for elmo, the curses based email client OXElmo is derived from. See: http://elmo.sourceforge.net

Werner Bregulla for writing the original ytree. See: http://www.han.de/~werner/ytree.html

The author of retawq wrote his own standalone X and has released retawq with an Xlib only curses interface.

Haven't heard back from the the original author of ytree, which I hacked into txplor.