BashStyle-NG 10.7


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
    • 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), 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://github.com/Nanolx/bashstyle-ng.git

=== Translations ===

  • Current Translations:
    • de (German) (Christopher Roy Bratusek)
  • New Translations:
    • Visit https://www.transifex.com/projects/p/bs-ng/ and apply for a team or request the creation of a new one.

=== Bugs ===

Visit https://gitlab.com/Nanolx/bashstyle-ng/issues

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
Downloads:

git file-roller deb

ChangeLog:

10.7 (20190910) "Kaffee Filtrino"
=================================

   * Important Information

        - Starting with this release Python 3.0.0 or newer is required
          to run BashStyle-NG.

   * Bug Fixes

        - #257 'GNU Nano' settings: fix setting UI colors.

        - #258 'GNU Nano' settings: update possible settings for new
          'GNU Nano' versions.

             x 'const' was renamed to 'constantshow'.

             x 'poslog' was renamed to 'positionlog'.

             x 'morespace' was replaced with 'emptyline'.

             x 'rebindkeypad' was removed.

        - #259 'ini handling': fix checking user settings being
          up-to-date on Bash startup.

        - #260 'make': fix BashStyle-NG .desktop file, manpage and
          'bashstyle-config-helper' not being uninstalled.

        - #261 'systemkit': fix 'systemkit dirsize' not working.

        - #262 'systemkit': fix 'systemkit battery' not working with
          recent 'acpi' versions.

        - #263 'systemkit': fix 'systemkit internalip' not working with
          recent 'ifconfig' versions.

        - #264 'ls color' settings: compat with some embedded terminals
          (like terminal in Geany IDE).

        - #265 'manpage color' settings: compat with some embedded
          terminals (like terminal in Geany IDE).

   * New Features

        - 'GNU Nano' settings: support for the following new settings
          has been added:

             x 'linenumbers': whether to show line numbers at start of
               line.

             x 'guidestripe': whether to draw a stripe at given position
               (0 = disabled) so help avoiding overlong lines.

             x 'errorcolor': set color for error messages.

             x 'selectedcolor': set color for selected text.

             x 'stripecolor': set color for the guidestripe.

             x 'numbercolor': set color for numbers.

        - 'GNU Nano' settings: allow bright variants for foreground
          colors.

        - 'GNU Nano' settings: change default value for 'nohelp' to
          'False', so commands are shown unless user wants to hide them.

        - 'list' applet: call 'ls -A' instead of 'ls -a' if hidden files
          should be included.

        - New Settings allowing to use 'bat' instead of 'cat', also
          allow setting default theme for 'bat' and tab width.

        - 'check' new flag 'P': check if a program exists, and print a
          message if not, example 'check P [program-to-check]
          [program-that-requests]'.

   * Misc.  Changes

        - Allow enabling/disabling BashStyle-NG from terminal via
          'bashstyle --enable' or 'bashstyle --disable'.

        - Rename user configuration from 'HOME/.bs-ng.ini' to
          'HOME/.bashstyle-ng.ini' (auto-migrate from old to new name).

        - Rename vendor configuration from '/etc/bs-ng_vendor.ini' to
          '/etc/bashstyle-ng_vendor.ini'.

        - Rename all icons from 'bs-ng-[ICONNAME].png' to
          'bashstyle-ng-[ICONNAME].png'.

        - Rename .desktop file from 'bs-ng.desktop' to
          'bashstyle-ng.desktop'.

        - Simplify 'gitkit cloneuser' / 'gitkit cloneorg', use 'wget' +
          'awk' + 'xe' instead of 'curl' + 'ruby'.

        - Improved 'gitkit' function for remembering SSH password.

        - Various internal improvements; Restructure resource files;
          Check for optional dependencies explicitely in all functions.

        - Improve Debian packaging scripts.

        - Configure 4.5.0: various internal changes and improvements;
          complete list of checks.

        - Make 2.0.0: various internal changes and improvements.

        - Made most included functions translatable.

        - Use 'eval_gettext' for translating Bash Scripts intead of
          outdated '$""' syntax.

        - Update german translation.