I just uploaded the terminal frontend I've been working on. It's based on Ruby and ncurses. The two main reasons I decided to make this was: 1) It runs natively on Linux. and B) You can use it in a terminal emulator on Android using a ssh connection to your normal computer.
The script is here:
https://github.com/matt-lowe/ProfanityFE
Here are some screenshot type things:
http://lichproject.org/download/prof...2013-07-10.png
http://lichproject.org/download/prof...-10-mobile.png
Mostly completed features:
regex highlights
thought window
injury window
death/logon/logoff/disconnect window
stance, mind, health, spirit, mana, stamina, encumbrance, roundtime, and stun progress bars
poison, disease, bleeding indicators
Planned features:
macros and arbitrary key bindings
customizable layouts
familiar, bounty, society, spells, voln, and lnet windows
room window (not the title and description, just people/creatures/objects)
arbitrary text windows (anything matching a custom regex gets redirected to the window)
kneeling, sitting, prone, dead, webbed, hidden, invisible, group, left/right hand indicators
other stuff I'll worry about later
This is a very early release. Basically nothing can be customized right now without editing the code. That's probably what I'll be working on next.
Regex highlights are cool. As you might guess, you can do things like /[A-Z][a-z]+ disk/ to highlight disks and the owner's name, without having to add a highlight for each player in the game. But you can also do weird stuff like /(?<!uncut )diamond/ to highlight "diamond", but only if "uncut " doesn't come before it.
It's not exactly user friendly yet... but if you want to play around with it here's how you might do that:
First, you'll need Lich 4.4.14.
Download profanity.rb from the link above. You can put it anywhere, but I just put it in my Lich folder.
Make sure you've set up quick game entry for a character in Lich.
Open a terminal type thing..
Change to the directory with lich.rb in it and start Lich with something like:
./lich.rb --login Charactername --without-frontend --detachable-client=8000
or
ruby lich.rb --login Charactername --without-frontend --detachable-client=8000
or
ruby.exe lich.rbw --login Charactername --without-frontend --detachable-client=8000
or something..
--without-frontend means it's not going to try to start a frontend and wait for it to connect to Lich and then connect to the game. It's going to get a login key and connect to the game without any way for you to see the output or give it input.
--detachable-client=8000 means it's going to listen for a client to connect on port 8000. The client can connect or disconnect as much as it wants, and Lich will stay connected to the game.
I don't intend for this to be the only way to use the frontend, but I play Shattered so I made it to work for me first.
Now, you can start Profanity and connect to Lich on the port you specified (8000 in the example).
On Linux, you may need to type "export TERM=xterm-256color" to enable 256 colors.
./profanity --port=8000
On Android, I've been using the terminal emulator named "Android Terminal Emulator" by Jack Palevich with preferences > terminal type set to screen-256color
ssh your_user_name@your_ip_or_dyndns_or_something
/path/to/profanity/profanity --port=8000 --custom-colors=no
On Windows... um.. you could use cmd.exe... but you probably shouldn't.
ruby.exe profanity.rb --port=8000
I haven't tried it on OSX. I assume it's the same as Linux.
--custom-colors=no means it won't try to redefine the terminals colors. The script asks the terminal if it supports changing the colors, and in the case of the Android Terminal Emulator, it lies. So to keep it from looking like complete crap, you have to turn custom-colors off.
Colors in the script are defined by html codes. In 256 color mode, with custom-colors on, it should have the appearance of unlimited colors. The script will continue to redefine the least recently used color slot whenever a requested color isn't defined. So as long as there are fewer than 256 colors on the screen at any given time, everything should be fine. When custom-colors is off, the script attempts to find the clostest matching available color.
Some keys:
page up/page down scrolls the current window up and down
alt+page up/alt+page down scrolls the current window 1 line
tab changes the current window, indicated by the scrollbar
command prompt should work as expected except ctrl+enter, alt+enter, ctrl+left/right, copy/paste are not yet working.
Typing .quit will close the frontend, but not exit the game.
Type .resync if the roundtime bar isn't right.
Don't type .e
Any other command starting with a period gets changed to a semicolon before it's sent, because it's easier to hit the period on Android.