Overview
tanasinn is a terminal emulator extension for Firefox/Thunderbird/SeaMonkey, which is supported on Windows(XP/Vista/7) + Cygwin / Mac / Linux / FreeBSD.
License
This software is distributed under Mozilla Public License 1.1(MPL 1.1).
Highlighting features
- Full Gecko based user interface (HTML Canvas + XUL), flexible and easy to customize.
- Multi-platform, now supports Mac / FreeBSD / Linux (Tested in Ubuntu) / Windows(XP/Vista/7) + http:/#/www.cygwin.com[Cygwin] (requires Python for POSIX environment).
- Supports ISO-6429/ISO-2022 compatible parsing
- Supports plugin architecture. 200-over various plugins are provided by default. Plugins support Plug-and-Play installing & uninstalling.
- Detach/Attach. Retaining TTY session during closing/restarting browser. you can reconnect suspended terminal session.
- Including debugger. You can run it in step-execution-mode or trace-mode and observe terminal I/O sequence in real-time.
- Precise emulation, passes VTTEST Menu 1, 2, 3, 4, 6, 7, and 8.
- Supports basic features, scroll-back, alternate screen, visual bell, audio bell ...etc.
- IME is supported.
- Supports VT52 compatibility mode.
- Supports http:/#/en.wikipedia.org/wiki/Tektronix_4010[Tektronix 4010/4014] compatibility mode (on progress).
- Supports Sixel Graphics mode.
- Supports Various character attributes, Italic, blink, slow blink, underline, negative,...etc.
- Supports some ancient lost commands, such as DECDHL/DECDWL, DECDLD/DRCS(Dynamically Redefined Character Set)。
- Supports double width characters. but it is not render bidi languages correctly.
- Localization supported, using gettext-like method. you can edit localize resource from command line.
- You can select variable character encoding supported by Gecko.
- Supports transparent window. it is useful when www-browsing while working at terminal.
- Supports mouse emulation. xterm normal reporting, wheel scrolling, UTF8/URXVT/SGR extended styles, and DEC Locator Event mode are implemented.
- Supports Any event motion tracking (DECSET/DECRST 1003)
- Supports Highlight mouse tracking (DECSET/DECRST 1004)
- Supports Alternate scrolling mode (DECSET/DECRST 1007)
- Supports title mode/title stacking
- Supports PASTE64(OSC 52, Base64 copy/paste)
- Text selection / Rectangle text selection.
- Supports copy / paste in Drag & Drop or keyboard shortcut.
- Supports move / re-size through dragging operation.
- Supports 256 terminal colors, you can assign 32bit colors for them.
- Vimperator / Keysnail like commandline interface.
- This can be installed as a plugin for Vimperator/Muttator. It hooks "" and "gF" mappings if you want.
- Supports trackpad gesture mappings, such as pinch, swipe, rotate.
Requirements
- Firefox 4.02pre+ / Thunderbird 7.0a1+ / SeaMonkey 2.1+.
- Python for POSIX (2.5+, Mac, FreeBSD, Linux, or cygwin version) Python for Win32, ActivePython, etc... are not supported because they depend on many POSIX functions 'os.fork', 'os.openpty' ..etc.
- POSIX environment. If you are running Windows, you need to install cygwin at C:\cygwin.
Download
https://addons.mozilla.org/ja/seamonkey/addon/tanasinn/
Install
Build Firefox/Thunderbird/SeaMonkey extension(XPI package):
.Mac, FreeBSD, Linux, Cygwin
git clone TANASINN_GIT_REPOSITORY
cd tanasinn
./configure
make
If build process succeeded, target XPI file tanasinn@zuse.jp is to be generated. enjoy it!
Install as Vimperator/Muttator plugin:
You need to make some symbolic links into Vimperator/Muttator runtime directory
Mac, FreeBSD, Linux
git clone TANASINN_GIT_REPOSITORY
cd tanasinn
ln -s $PWD $RUNTIME/tanasinn
ln $PWD/modules/tanasinn-vimp.js $RUNTIME/plugin/
.Windows Vista/7 + Cygwin
git clone TANASINN_GIT_REPOSITORY
cd tanasinn
$(cygpath $COMSPEC) /c mklink /D "$(cygpath -w "$RUNTIME/tanasinn")" "$(cygpath -w "$PWD")";
ln $PWD/modules/tanasinn-vimp.js $RUNTIME/plugin/
Windows XP + Cygwin
To make Windows native symbolic link, you may need to install http:/#/www.microsoft.com/download/en/details.aspx?DisplayLang=en%2cen&id=17657[Windows Server 2003 Resource Kit Tools].
git clone TANASINN_GIT_REPOSITORY
cd tanasinn
$(cygpath $COMSPEC) /c linkd.exe "$(cygpath -w "$RUNTIME/tanasinn")" "$(cygpath -w "$PWD")";
ln $PWD/modules/tanasinn-vimp.js $RUNTIME/plugin/
$RUNTIME is Vimperator/Muttator runtime directory such as '$HOME/.{vimperator,muttator}'.
Launching
You can launch a terminal session from context menu.
[tanasinn] -> [New session]
Or, you can use GCLI integrated "tanasinn" command. Press and type as follows:
tanasinn <command line>
If it is Installed as Vimperator/Muttator plugin: You can also use the following integrated vimperator commands:
:tanasinnstart <command line>
Troubleshooting
※ If tanasinn does not work, try creating tanasinn.js at your home directory, as follows:
.%USERPROFILE%¥.tanasinn.js or $HOME/.tanasinn.js
process.cygwin_root = "C:\\cygwin";
process.bin_path = "/bin:/usr/bin:/usr/local/bin:/opt/local/bin";
process.python_path = "/usr/bin/python"
Operation
It is similar to well-known terminal emulators, like xterm. but including specific features as follows.
shift + shift (shift key twice)
switch input focus between terminal and commandline textbox.
shift + mouse drag
move window.
alt + mouse select
select rectangle region. (like Terminal.app)
alt + shift + drag
3D rotation
Supported escape sequences
See https://github.com/saitoha/tanasinn/wiki/_pages
Bug reports and patches
Patches and bug reports are are encouraged. > saitoha user@zuse.jp, or contact my twitter account(http://twitter.com/kefir_).