README
                                X.W.O.A.F
                           X Windows On A Floppy
                              Version 0.2.0g

                               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: Hacklin.htm
Xwoaf online help: xwoafhelp.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,
EITHER OXElmo email client,
OR rdesktop RDP client,
BUT NOT BOTH ON A FLOPPY
xcmd run bar,
edx text editor,
bcalc simple four function GUI/command line calculator
xcalendar date/day/time pop-up calendar.



The provided linux kernel 2.2.25 has builtin support for minix, vfat and ext2 file systems. Users can now mount, read and write to ide hard disks and standard floppies.

e.g. to mount floppy /dev/fd0 enter the following:
cd /
mkdir /a
mount -t vfat /dev/fd0 /a # insert a DOS floppy before this step!.

or to mount a vfat DOS partition, enter the following:
cd /
mkdir /c
mount -t vfat /dev/hda1 /c # assumes that 'C:' drive is /dev/hda1.



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 http://retawq.sourceforge.net/docu/index.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 Xfbdev or Xvesa Xserver.

binary is either /usr/X11R6/bin/Xfbdev or /usr/X11R6/bin/Xvesa

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:/bin/netstart
file:/usr/X11R6/bin/startx
which calls:
file:/usr/X11R6/lib/X11/xinit/xinitrc

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


run command:

'xcmd' is a simple xlib only run bar.

Invoked by itself, it will pop up under the mouse cursor, awaiting keyboard input for a command line.

If xcmd is invoked with a quoted string, the string will be displayed, allowing user editing prior to execution.

Pressing the 'Esc' key will abort without executing.

After text entry and/or editing, pressing the "Enter" key will execute the command line.


E-mail:

OXElmo is a text mode style email client.
Binary is /usr/X11R6/bin/OXElmo.
'q' to quit.
'?' or 'h' for help.
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.


Remote client:

rdesktop is a RDP MS connect client.
Binary is /usr/X11R6/bin/rdesktop.
Documentation is file:./rdesktop.htm.


Editor:

edx is a WordStar style X 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 softlink for '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.