SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

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).


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.