WELCOME TO BASHISH2
Index
1 About Bashish
2 What's new for number two?
3 Getting started
4 Changing theme
6 Application themeing
7 Uninstalling Bashish
About Bashish
Bashish is a theme enviroment for text terminals. It can change colors, font, transparency and background image on a per-application basis. Additionally Bashish supports prompt changing on common shells such as bash, zsh and tcsh.
What's new for number two?
The second major release of Bashish consists of a major redesign and rewrite. It is not theme compatible with older releases.
Highlights of this release include:
* Cleaner enviroment, no longer use aliases or functions for application theming.
* Easy-to-use Dialog-based configuration.
* Multi-shell theme support.
* Better performance.
* Less bugs.
For a complete list of the changes from the 1.9 series, check the CHANGES document.
Getting started
First, run the 'bashish' command, it will ask you which shell you primary use and then try to configure automatic loading of bashish on that shell.
Second, restart Bashish.
Bashish should furthermore be configured on the shell you specified, if you use an additional shell, run 'bashish --configure'.
After the shell has been restarted, your terminal will appear almost as normal. The colors will default to a black background with grey text and ANSI colors with low saturation, your prompt will remain unchanged.
You can now select a theme for each applications and if wanted, one for the prompt.
Changing theme
Bashish has a slick and easy dialog-based interface for changing themes, it is started by running the 'bashishtheme' command with no options.
Application theming
Application theming works by placing a launcher with the name of the themed command in the search path. The launcher first themes the terminal, then runs the command with the same options as given to itself. And finally, when the command has ended its execution (or suspended), the launcher will restore the terminal to the prompt theme.
To the user, this launcher should be totally transparent:
* It does not use the standard input/output/error, thereby the user can
expect normal functionality when using pipes and redirecting input and
output.
* It handles multiple files and filenames with spaces correctly.
* It returns the same exit code as the launched command.
* It works even if not connected to a tty (eg. when executed from a GUI)
* It can be suspended and restarted.
* It will never launch itself.
To temporary disable theming for one application, set the BASHISH_DISABLED variable, eg:
$ BASHISH_DISABLED=1 joe
to disable theming for all applications in the current tty:
$ BASHISH_DISABLED=1;export BASHISH_DISABLED
in csh run:
% set BASHISH_DISABLED = 1; setenv BASHISH_DISABLED
to re-enable theming run:
$ unset BASHISH_DISABLED
The launcher itself will also disable theming for any of the application child processes by setting the BASHISH_DISABLED variable.
Modifying defaults and overriding theme parameters
The files $HOME/.bashish/bt/defaults/theme and $HOME/.bashish/bt/overrides/theme
Shell support
Bashish runs independently of the interactive shell in use, thus obscure shells as 'lsh' and 'osh' can perfectly be used with application themeing. As creating prompts for all supported shells would be a daunting task, prompts in general are only avaliable for bash, zsh and tcsh. Following are the shells which can automaticly start Bashish upon startup:
bourne shell compatible: ash bash dash ksh93 pdksh posh zsh
c-shell compatible: csh tcsh
Friendly Interactive SHell: fish
dos compatible: lsh
Old Enhanced Thompson shell: osh
Plan/9 shell for UNIX: rc
To start Bashish on an unlisted shell, start 'bashish' and insert $HOME/.bashish/launcher as the first element in your path.
Shells known not to be able to automaticly start Bashish:
the bourne shell: sh
sash shell: sash
notes about osh:
osh does not support prompt changing.
notes about rc:
In order to load Bashish automaticly, rc needs to be started as a login
shell (eg. by using the '-l' switch).
notes about lsh:
Lsh needs to be restarted in order to make it aware of prompt changes.
In order to make theming in pipes work, one must explicity set the TTY
variable to the output of 'tty'.
Terminal support
Bashish can change theme properties such as colors font and title on the following terminals:
Gnome-Terminal
XTerm
aterm
rxvt
rxvt-unicode
Linux console
mlterm
Other Terminals, which Bashish can only set title for:
PuTTY
Terminal (XFCE)
terminal.app (GNUStep)
BeOS Terminal
PowerShell
screen
multi-gnome-terminal
Terminals that currently only sets title but might get better support in the future:
KDE Konsole
CDE dtterm
SGI xwsh
MacOSX Terminal.app (help wanted!)
Terminals which Bashish can not theme at all:
Most hardware terminals such as DEC vt102 QNX phterm
Extended ascii character support
Bashish includes several themes which includes characters from the old MS-DOS charset CP437. While looking really cool, this is problematic for several codepages that have stripped away those characters in order to support non-english characters.
The recommended solution is to switch codepage to UTF-8. Some platforms unfortually lacks UTF-8 support (*BSD except Darwin). If you use UTF-8 you don't have to configure Bashish to get cool ascii-art prompts.
If you for one or another reason are unable to switch to UTF-8, you can instead use a font which is mapped as CP437 on top of ISO8859-1. This, however, is a disadvantage for non-english native speakers since they can not use their native tounge at the prompt.
To use a CP437-mapped font, depending on the terminal download any of the following:
bitmap fonts for rxvt-unicode, xterm, eterm, aterm, wterm:
artwiz-aleczapka - very good looking free bitmap font collection.
http://artwizaleczapka.sourceforge.net/
Install the font and either in your theme or in ~/.bashish/bt/defaults/theme change XFONT to point to the selected font.
scalable font for gnome-terminal / konsole:
ASCII.ttf - This is a font created by Eistee, it is free for
noncommercial use.
It's a bit fuzzy hinted, but works as a terminal font.
Note that the fontname is "New".
Download from http://www.apollosoft.de/ASCII/
To make Bashish themes aware of the CP437 font, you need to set "BASHISH_LANG=CP437" in $HOME/.bashish/bt/defaults/prompt.[sh|ksh|bash|zsh] for tcsh enter "set BASHISH_LANG=CP437" in $HOME/.bashish/bt/defaults/prompt.[csh|tcsh]
Removing Bashish
Remove user configuration and autoloading of Bashish by running
'bashish --uninstall'.
To entirely remove Bashish from your system, consult your package manager
manual , or if you installed from source: the INSTALL document in the source package.
Solaris 10 specific notes
You need to add /usr/openwin/bin and /usr/local/bin to your shell specific rc-file (~/.bashrc for bash).
