[sword-devel] ncurses front end

sword-devel@crosswire.org sword-devel@crosswire.org
Sun, 30 Jul 2000 00:02:54 -0400 (EDT)

I would like to ask a second time if there is any interest 
in an ncurses based front end to sword.

I have put together  a rough  but functioning (barely) ncurses
based interface to sword.

I have rather arbitrily started calling it zebra.  I looked closely
at cheatah in throwing this together, but this is text only (black and white)
so zebra seemed reasonable.

What are the advantages of a program like zebra.

Sometimes you  only have a text based connection to a machine on which
you can install software (telnet).

some machines may have very limited graphical capabilities.
(hand held devices, although I don't know that sword runs on any
such devices yet.)

Interfacing to other programs such as text editors or scripts.

It can be called on the commandline, or interact through
standard io.  This means that it interfaces well with other programs.

simply typing :  zebra

gets me the ncurses interface.

I can type :  zebra -c l James1:1

and I get:

 James, a servant of God and of the Lord Jesus Christ, sends words of love to the twelve tribes of the Jews living in all parts of the earth.

I can type: echo "l James1:1"|zebra -f 
to get the same results. 

In particular I have written an emacs mode.  This means that you
can easily insert biblical reference while writing a file.

When I have sword,zebra, and my emacs mode loaded, then while I am 
editing in an emacs buffer, I can type cntrl C, l, and then type 
James1:1, and get the verse in my emacs buffer.

Similarly you can do searches, read commentaries , write personal commentaries
(I haven't tested writing to personal commentary yet.)

If I decided that I needed to do a regular expression search, even
though regular expresion searching isn't implemented yet, I can copy 
the entire bible to a buffer: cntrl C l, then gen1:1-Rev22:21
I then have my editor do the regular expression search.

The point is that the added flexibility of such an interface permits 
the use of many other independently developed tools with the interface.

anyway if you run linux you can try it at:

where there are srpm,rpm, and tgz format install files available


There is much work that should be done to this code.


Can someone explain why, if I declare and construct a VerseKey *vk
and then do :

VerseKey copykey=vk->clone();

or even

VerseKey copykey=vk;

All the information from vk is copied to copykey, except that chapter
and verse are set to 1.  The Book number, and everything else gets copied
to copykey.
So right now I have in my code, the very ugly:

VerseKey copykey=vk->clone();

completely unrelated to anything else in this email:

Is there any interest or effort in having sword compile for other machines?
It sounded like there was interest in palm, but what about other
operating systems like : mac os, bsd, solaris...

Richard Holcombe