BashStyle-NG 9.2 11 comments

utilities-terminalBashStyle-NG is a graphical tool and function chain that lets you do more with GNU Bash

BashStyle-NG is a graphical tool and toolchain for changing the behaviour and look’n’feel of Bash, Readline, Vim, Nano and GIT.

Possibilities include:

  • Bash
    • 12 fancy pre-defined prompt styles
    • colors are customizable
    • random text color possible
    • random prompt style for each session possible
    • create your own prompt using UI
    • customizing pre-defined ones possible
    • alternatively monochrome prompts instead of colored
    • colored manpages (without using most)
    • colored output from ls and grep (matches)
    •  colors are customizable
    • rembering last visited directory (and restore upon new session)
    • customize bash history settings
    • lscd: customized variant of cd, showing content of directory after cd, can create directories that don’t exist, passing of customized ls parameters possible
    • un/setting shopts (shell options) for Bash 4.3 / 4.0-4.2 / 3.2+
    • customizable completion blacklist, timeout, welcome message and more
  • GIT
    • set GIT user name
    • set GIT mail address
    • set GIT editor for commit messages
    • set GIT colored output
  • Readline
    • un/set completion
    • un/set case sensitivity
    • un/set horizontal completion
    • un/set mark filetypes and folders
    • un/set include hidden files incompletion
    • customize almost 30 keybindings
  • VIM
    • un/set remember last position
    • un/set syntax highlighting
    • un/set auto indention
    • un/set case sensitive search
    • un/set incremental search
    • un/set display line numbers
    • un/set highlight current line/column
    • set dark or bright background
    • set line-wrap and tab-length
    • set color scheme
    • enable ruler/set ruler format
  • Nano
    • un/set search history
    • un/set syntax highlighting
    • un/set auto indention
    • un/set case sensitive search
    • fix backspace and numblock assignment
  • Extras
    • several extra functions for daily use
    • systemkit: show various system information, including cpu, system load, used/free/total ram and more
    • gitkit: various companion functions for GIT, like exporting the repo (like ‘svn export’), creating tar.gz/tar.bz2/tar.xz/.zip archives from repo, getting active branch/action/revision/revno from repo (for PS1)
    • math conversion functions: convasc, convbin, convdec, convhex, convoct, convtemp. Convert between ascii, binary, decimal, hexadecimal, octal or temperature units
    • random: create random strings (for example passwords) of various types
    • scripts for working with files: map (run a command on given files, for non-batch commands), batch (batch-perform actions on files), basefile (extract extension, filename with/without extension or filepath from full filename, similar to basename), randomfile (perform action on a random file, also has history, multiple executions support and more)
    • and several more (see /usr/share/bashstyle-ng/rc/functions/ for all)

=== Installation ===

Installation of BashStyle-NG is straight-forward. Configure and Make are Bash scripts aswell, so no other tools needed for build. For a full list of options see:

  • ./configure –help
  • ./make –help

1)    Check dependencies:    ./configure
2)    Build translations:    ./make build
3)    Install BashStyle-NG:    sudo ./make install

Alternatively you can build a package for Debian-based distributions via

1)    apt-get install fakeroot dpkg-dev
2)    dpkg-buildpackage -rfakeroot

If there are missing dependencies either Configure or dpkg-buildpackage will
tell you. Optional dependencies are marked as recommended for Debian packages.

=== Program Icons ===

BashStyle-NG uses Oxygen icons by default (supplied), but if the icons exist in your currently active GTK+ icon theme aswell, they will be used instead.

  • 32×32 pixel icons:
    • bs-ng Application logo
    • bs-ng-advanced Icon for ‘Advanced’ category in UI
    • bs-ng-alias Icon for ‘Alias’ category in UI
    • bs-ng-doc Icon for ‘Documentation’ in UI
    • bs-ng-custom Icon for ‘Custom Prompt Builder’ in UI
    • bs-ng-git Icon for ‘GIT’ category in UI
    • bs-ng-info Icon for ‘About Dialog’ in UI
    • bs-ng-keys Icon for ‘Keybindings Setter’ in UI
    • bs-ng-ls Icon for ‘LS Colors’ category in UI
    • bs-ng-nano Icon for ‘Nano Configuration’ in UI
    • bs-ng-readline Icon for ‘Readline Configuration’ in UI
    • bs-ng-shopts Icon for ‘Shell Options Configuration’ in UI
    • bs-ng-style Icon for ‘Style’ category in UI
    • bs-ng-toolbox Icon for ‘Custom Prompt Builder Toolbox’ in UI
    • bs-ng-vim Icon for ‘VIM Configuration’ in UI

=== GIT Access ===

You can get the latest in-development version by running:

git clone git://

=== Translations ===

  • Current Translations:
    • de (German) (Christopher Roy Bratusek)
  • New Translations:
    • Visit and apply for a team or request the creation of a new one.

=== Bugs ===


before reporting bugs please make sure that you got the latest version of BashStyle-NG.

=== Features Requests ===

If you got an Feature Request or a new Idea for BashStyle-NG, then don’t hesitate to post it! If you can provide patches, then that’s even better.

License: GNU GPL v3

git file-roller deb


9.2.0 “Galvanize”

* Bug Fixes
– #191 (make): gtk-update-icon-cache was not properly invoked
after make install

– #192 (custom prompt builder): inserting prompt parts from
GtkComboBoxes did not work

– #193 (nano): setting Nano UI Colors an Tabs to Spaces did not

– #194 (colors): color definitions have not been properly
exported to external scripts, which thus always displayed
monochrome output

– #195 (nx-rc): fixed filtering out ‘trap’ from ‘lastcommand’
storing [Mingye Wang]

– #196 (nx-rc): fixup ‘lastexit’ value storing [Mingye Wang]

– #197 (nano) (vim) (readline) (keybindings): fixup file
existence checks which are intended to prevent file conflicts
when multiple Bash sessions are started at the same time
[Mingye Wang]

– #198 (nx-rc): fixup detection of vendor ini version on first
load of nx-rc if no user ini exists

– #199 (reload): fixup reload to properly restore the complete
environment, including BashStyle-NG and Bash Programmable

– #200 (dd_opts): ensure setting DD_OPTS is properly done.

– #201 (ls_colors): setting Tar/XZ color from UI didn’t work.

– #202 (configure): fixed last arguement passed to configure not
being honoured.

* Configuration File Changes
– Additionally to factory and vendor (/etc/bs-ng_vendor.ini)
configuration BashStyle-NG now also checks for user backup
($HOME/ configuration when resetting

– Before using user backup or vendor configuration in any way do
a dry-load to ensure the files are in proper shape, if they
contain errors skip them

– When the configuration file can’t be loaded due errors, let
BashStyle-NG auto-reset the configuration using user backup
(if it exists) > vendor configuration (if it exists) > factory
configuration (in that order).  This prevents BashStyle-NG
from crashing if there’s something wrong with the user
configuration file

– Added new Category “Configuration” which allows to:

+ Backup
+ Restore (from user backup configuration)
+ delete Backup configuration
+ Reset (reset from vendor or factory configuration) the
+ Edit various configuration files (uses xdg-open to open
files), namely:

x .bashrc
x .bashstyle.custom (bashrc-extension always loaded
after BashStyle-NG, thus can use BashStyle-NG
variables and functions reliably)
x .vimrc.custom (vimrc extension that is not managed
by BashStyle-NG)
x .inputrc.custom (inputrc extension that is not
managed by BashStyle-NG)

also shows version of user, user backup, vendor and factory
configuration files (None for vendor and user backup if they
don’t exist)

– icon name for this category in UI: bs-ng-config

– after configuration is restored or reset the application is

* StartUp Mechanism Changes
– Before BashStyle-NG embedded into /etc/bash.bashrc or
/etc/bashrc to add a startup entry to $HOME/.bashrc.  Now if
$HOME/.bashrc does not contain a startup entry for
BashStyle-NG the user is presented a tab page upon UI start
asking whether to add the entry.  Also works when the startup
entry for BashStyle-NG is commented out, or if the entry is
from a previous installation of BashStyle-NG that had a
different installation prefix.

* Prompt Part Changes

– PS2 / PS3 / PS4 changes: Before there’s been an option for
PS234.  Setting this to “>” resulted in

+ PS2=”>”
+ PS3=”>>”
+ PS4=”>>>”

Now there’s an separate option for each (including a color
option each)

– additionally PS2 / PS3 / PS4 export does now honor
enable_colors setting

* History Syncro Changes

– BashStyle-NG 9.1 introduced a custom history sync
functionality (for syncing history over simultaneously running
sessions), which turned out to break Bash $HISTCONTROL, as it
modified the history from outside.  This is now worked around
by custom functions replacing the $HISTCONROL of Bash since it
fails due to the custom history handling functions.  Please
note that this might slow down Bash a bit if you have a huge

* New Functions

– xmltagdelete: delete tags from xml files, see ‘xmltagdelete

– 2048.bash: 2048 game in Bash, see ‘2048.bash –help’

* New Settings

– Added option to display progressbar for ‘dd’, requires version
8.24 or newer.

* Documentation

– Add texinfo documentation describing all features of
BashStyle-NG (work in progress).
– currently documented:
+ Introduction
+ News (ChangeLog)
+ Configuration file handling
+ Advanced options (UI section)
+ Style options (UI section)
+ Shell options (UI section)
+ UI icon names
– Add manpage for ‘bashstyle’ executable.
– Add ‘Documentation’ icon (‘bs-ng-doc’) icon in UI, opening the
documenation using ‘xdg-open’.

* Misc.  Changes

– undobuffer: enforce Gtk version 3 to be loaded (makes a
startup warning shut up

* Configure

– 4.3.7
+ code review
+ fixed bug #202

– 4.3.6
+ add ‘–docdir’ switch back
+ add ‘–mandir’ switch

– 4.3.5
+ remove system bashrc detection
+ remove -profiledir switch
+ remove -bashrc switch
+ minor string changes

– 4.3.4
+ remove -quiet switch
+ globally define PYMAXVER and PYMINVER (python minimum and
maximum versions)
+ globally define PYAMXVER_P and PYMINVER_P (printable
python minimum and maximum python versions for configure
+ remove unused variable

* Make

– 1.0.9
+ code review

– 1.0.8
+ compress manpages upon ‘./make build’
+ install info and html documentation upon ‘./make install’
+ install manpages upon ‘./make install’
+ add a few more strings
+ build README from doc/userdoc_introduction (‘./make

– 1.0.7
+ build NEWS from doc/ (‘./make news’)
+ build doc/ from doc/userdoc.texi (‘./make
+ build doc/html from doc/userdoc.texi (‘./make html’)

– 1.0.6
+ fixed bug #191

– 1.0.5
+ update for no longer installed profiledir and profile
+ minor string changes

* Translations

– Updated german translation

Leave a comment

Your email address will not be published. Required fields are marked *

11 thoughts on “BashStyle-NG 9.2

  • ichbinder

    I installed the deb packet on mint but when will start bashstyle they tell me they need configobj.

    workaround was:
    sudo aptitude install python-configobj


  • Pingback: BashStyle-NG: Αλλάξτε δυνατότητες και συμπεριφορά στους editors (Readline-Vim-Nano)

  • Pingback: BashStyle-NG: Παραμετροποιήστε και κάντε περισσότερα στο τερματικό/κονσόλα

  • DeL00M

    Hello! Can’t install on ubuntu 14.04 cause of it have installed python 3.4 and bashstyle need <3.4
    Any suggestion?

  • Ruan Paes

    Can I use the BashStyle in Slackware 14.1 64?
    If yes, how I do this? How can I compile it?

    Sorry for my English.

    • Nano Post author

      I don’t see, why you couldn’t. There’s nothing to compile, just to check dependencies and build translations. It’s simple as:


      if it complains about missing dependencies you will need to install them.

      ./make build
      sudo ./make install (su -c ‘./make install’)

      That’s it. In case of bugs in Slackware support, try again with the lastet version in the git repository. If the issue persists, you can file a bug report at