BashStyle-NG 8.99 11 comments

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

BashStyle-NG consists of a graphical tool and a functionchain.

The graphical tool (bashstyle) is used to easily change a huge amount options
regarding Bash, Readline, VIm and Nano. The configuration is stored using ConfigOBJ.

The functionchain is used to realize the setup when starting a new Bash.
Besides a diversity of additional functions or wrappers is provided.

Another thing shipped is dirinfo (a simple, in-progress directory-indexing
mechanism for the shell), aswell as a first-run-wizard.

12 different prompt-styles are shipped, all of them can be modified using the
GUIs built-in custom-prompt-builder (CPB).

Every option and every function is described in the documentation.

Screenshots (click for larger size):

bs-ng-style bs-ng-nebula bs-ng-clock-advanced

License: GNU GPL v3

git file-roller deb

Download required ConfigObj 5.x (with Python3 support, sources included):



Overview of changes in v8.99 “Nice Sprites”

=== NOTES ===

  • The first-run-wizard (bsng-wizard) has been removed, relevant options
    have been merged into the main application, be sure to run the UI
    (Style for colorshell, else Advanced > Extras/GIT) after upgrade to
    re-adjust your settings that got lost by this change.
  • This release removes the html-documentation. Instead every options will
    have a tooltip showing the name of the configuration variable (or —
    if none) and the description of the setting [work in progress].

=== Bug fixes ===

  • #155 (configure): when using –python configure flag that given python interpreter was not used to check if required modules are available
  • #156 (text2morse): python3 support in text2morse
  • #157 (readline): when changing settings for readline they didn’t take effect immediately
  • #158 (lockfile): the lockfile module required additional fixes to fully work with both python2 and python3
  • #159 (pkgconfig): install pkgconfig file into ${PREFIX}/share/pkgconfig, not ${PREFIX}/lib/pkgconfig
  • #160 (nx-rc): fixed history settings from ui were not always applied on the shell
  • #161 (colorshell): random selection of colors in colorshell hasn’t really been random
  • #162 (config): if a vendor configuration (/etc/bs-ng_vendor.ini) exists, let the revert configuration icon on GtkEntry and GtkSpinButton revert to vendor configuration instead of factory configuration
  • #163 (colorshell): fix colorshell not being available to all prompt styles
  • #164 (styles): fix PRE_PROMPT_COMMAND not available to monochrome versions of ayoli, clock, clock-ad and poweruser prompt styles [if you create a function of that name in ${HOME}/.bashstyle.custom you can hook into those style’s PROMPT_COMMAND (the other styles don’t have PROMPT_COMMAND) so you can freely create one for them)]
  • #165 (colors): fixed pscolor not being set
  • #166 (styles): fixed that most styles called trunc_pwd instead of truncpwd
  • #167 (truncpwd): change the way truncpwd obtains it’s settings, so that it always works as expected (and only loads them once)
  • #168 (custom prompt builder): fixed custom prompt builder not properly inserting default styles into the textbuffers for further customization
  • #169 (truncpwd): when maximum length of pwd is 0 don’t truncate it all.
  • #170 (config): when configuration file exists, but is broken, restore either vendor or factory default configuration for the user
  • #171 (wrappers): if you felt brave enough to enable dirinfo wrappers, they still didn’t work properly, because of a change in the setup mechanism that wasn’t reflected in the wrappers
  • #172 (clock-ad) (truncpwd): when changing to a user not having BashStyle-NG set-up prompts were incorrect, as some required settings for truncpwd, respectively clock-ad’s internal pwd-truncating function, were not set

=== Wizard-Merge ===

*** the following options have been merged from the wizard into the main
application: colorshell, colorshell_reset, use_lscd, lscd_opts, cd_writer,
dd_noerror, restore_directory, debug_verbose, user_birthday, git_user_name,
git_user_mail, git_color, git_editor, git_aliases, git_signkey,

*** everything but the above as been dropped.

=== New Features ===

  • Keybindings (Emacs editing mode)
    •   This allows you to change 29 default bash/readline keybindings. (2 of them are not used by default).
    •   Additionally theres a 30th, custom, keybinding: complete-path. If you press the assigned key while the cursor is at the end of a string resembling an executable, the complete path will be added to the command line.
  • reload function: a clean function to reload .bashrc (x2cd)
  • quickscript function: writes all commands in history to a file. starting point is the last occurence of “###” (joedhon)
  • filename function: prints only filename from a path
  • filepath function: only prints containing directory from a path
  • filenoext function: prints only filename without extension from a path
  • filext function: only prints file extension from a path
  • showip function: displays your external IP address
  • ngroups function: system default ‘groups’ lists all user-groups you’re in ngroups lists all user-groups you’re NOT in. (gniourf_gniourf)
  • ols function: ls -l with octal file permissions
  • explain git aliases in ui
  • ls alias to git (prettified version of log)
  • lsb alias to git (sort branches (local + remote) by last activity)
  • git_zip function: create zip archive from master
  • git_undelete function: re-checkout all accidently deleted, tracked files
  • git_funmsg function: random, funny commit message
  • git_hub function: open github url for a repository using x-www-browser
  • git_revno function: get classic revision number (like in SVN)

=== Misc. Changes ===

  • improved user interface (GtkIconView and GtkNotebook combination)
  • make whiptail an optional dependency (with the removal of bs-ng-wizard it is only required for ‘dirinfo –create’)
  • several improvements in “clock advanced” prompt style
  • look for python3 by default, fallback to python
  • updated copyright notices 2007 – 2014


Leave a comment

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

11 thoughts on “BashStyle-NG 8.99

  • 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