
txplor, a hacked version of the original ytree 1.75 by Werner Bregulla.
Hey, thanks Werner. A breath of sanity in a single pain linux world.

Updated Mar. 3, 2004 by Terry Loveall
email: loveall@iinet.com
Home URL: http://modest-proposals.com/

The name was changed to protect Werner from my mistakes.

--------
License:
ytree is copyright by Werner Bregulla and released under the GPL. So is
txplor.

No warranties or binaries are provided. COMPILE AND RUN AT YOUR OWN RISK.
--------

Orginal mods made to give curses based ytree an Explorer type double pane,
left is directory tree, right file-list. Attempted to use CUA command chars.

Latest mod throws an xlib only curses wrapper on it. Can also be built in the
original manner using libcurses.so to run from a text terminal. Default is to
build and link to libX11.so.

------
Build:
Do _not_ immediately run './configure'. Makefile already has the mods required
to build.

Makefile.in has not been modified to reflect the new XBR option.

Run 'make' and see if it compiles without errors.

My build/execution environment is: 
Slackware 7.2
gcc version 2.95.3 20010315 (release)
XFree86 Version 4.2.0 / X Window System running FB on an ATI Rage Pro.

To build the old curses based version, comment out the 'XBR = XBR' line at
the top of Makefile, 'make clean;make'.

My xcurses (named xbr) mods to the source can be found by searching for the
string 'XBR' used in '#ifdef' and '#ifndef' statements.

Change to the utils sub-directory, unpack menu-2.03.tgz, run 'xmkmf -a' and
'make' to build 'menu'. 

--------
Install:
Copy txplor, menu and the shell scripts to somewhere in your execution path,
e.g. '/usr/local/bin'. 

BTW If the support program and shell scripts cannot be found in the execution
path, txplor in either version, will only operate as a directory
tree/file-list viewer.

Make softlinks somewhere in your execution path for 'edx' and 'xless' to your
desired replacements.

----------
Operation:
To exit txplor, press '/' followed by a 'q'.

'./txplor' from the build directory gives standard ytree 1.75 behavior of the
current directory as a tree root. 'txplor /' provides access to all of the
directories.

Single ascii characters invoke a search for the next active pane dir/file-name
starting with the character.

Command execution selection must be prefixed with a '/'.

<Tab> key switches between dir and file panes. Also exits bigwindow
single-page mode.

<Esc> cancels all line input operations but not initial dir/file loading.

Keyboard navigation is with the <Tab>, <Enter>, arrow, Page-Up/Page-Down and
Home/End keys.

Mouse operation:
Mouse operation selects the active pane with a single left mouse click. 

A further single left mouse click selects the dir/file-name under the mouse. 

A double-click on a selected dir expands the subdirectoies if present. Left
arrow collapses the sub-tree.

A double-click on a file in the file window applies the shell script 'x' to
the full path/name filespec. See utils/README for detailed operation.

All of the above mouse operations are left button functions.

The single vertical scrollbar controls the active pane.

Right button mouse click pops up a 'SendTo:' menu for the hilighted file.
Does not work on the directory pane.

Right button click&drag hilights text which is copied to the XA_PRIMARY
xclipboard buffer for subsequent paste to external apps. Paste to txplor
line input is not supported, at this time, since it requires an explicit
callback to a general character handling routine. (do you really want to paste
4000 random characters to txplor?).

Left button click&drag also hilights text but requires integration with the
app to copy with keyboard input. Good for twiddling with the mouse.

---------------
Stray comments:

The xlib version of txplor detachs from the command line and puts itself in
the background. Use the command line '-b' to disable.

The xbr.c and xbr.h files are converging on being a usable generic drop-in
replacement for curses but is not there yet. Building curses based txplor
with -Wall generates no warnings. Xbr xcurses generates warnings from nop
defs for terminal functions irrelevent in X. -Wall is disabled in Makefile.

I have to implement an intermediate buffer for the paste data and feed it one
character at a time to the app. Most curses apps are command character driven
so I hesitate to blanket paste to them. If a generic callback to receive
paste characters is available, the logic is in place to support that.

The xbr.c init() function parses command line data and removes it from the
apps initialization view. Seperate initialization functions for X and the app
require command line parameters to be grouped with X first.

Enjoy,
Terry Loveall

----------------
Original README:
----------------
                                  #
                                ##
                     ##  ##   #####  ## ###   ####    ####
                    ##  ##    ##     ##  ## ##  ##  ##  ##
                   ##  ##    ##     ##  ## ######  ######
                   #####    ## #   ##     ##      ##
                     ##     ###  ####     ####    ####
                #####



Description
	ytree is a DOS-XTREE(tm) similar file manager.

Author
	Werner Bregulla eMail: werner@frolix.han.de

Platforms
	- SYSV R3.2/R4 
	- Interactive 
	- LINUX 2.x
	- The Hurd
	- NeXTstep 2.1
	- Irix 5.2
	- AIX 3.2
	- HPUX
	- SUNOS 4.1 / Solaris 2
	- ULTRIX 4.3
	- DEC-UNIX / OSF1
	- WIN32 with DJGPP 
	  (see http://www.lightlink.com/hessling/
	   and http://www.delorie.com/djgpp)
	- FreeBSD
	- OpenBSD
	- QNX

Building
	In most instances, it should be sufficient to
		modify the Makefile (Default is linux)
		type 
			make
                	su
			...enter password...
			make install
			exit
			ytree

	For customizing ytree edit ytree.conf and copy it to $HOME/.ytree

Copyright
	This program is distributed as free software under the GNU
	license (see COPYING for more information).
