BashStyle-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:
ChangeLog:
10.7.4 (20220505) "Stargazer"
=============================
* 15th Anniversary
- The very first release of 'BashStyle' was released on 1st May
2007, so version 10.7.4 marks the 15th Anniversary version. I
never thought the project would live on a long time like that.
* Bug Fixes
- #274 'sufffix': fix wrongly named files, when mime-type leads
to non-exact match.
- #275 'systemkit': adopt 'freeram', 'usedram', 'totalram',
'usedram%', 'freeram%', to 'top' changes.
- #276 'reload_bash': fix resetting 'ERR' trap.
* Misc. Changes
- 'configure': add '/usr/share/gir-1.0' to gir paths to look
for.
- 'systemkit': ensure output from cpuload is always 3 digits,
ram usage always 5 digits (filled with leading zeros; for
inclusion in prompts).
- 'equinox': adopt to 'systemkit' changes.
- 'HISTFILE_TMP' envvar used by customized 'bashstyle-ng'
history functions renamed to 'BSNG_TMP_HISTFILE' to match
other 'bashstyle-ng' envvars. Also guard for 'reload_bash'.
- Remove year from copyright notices in all files, except
documentation, also E-Mail.
- Let configure substitute 'BSNG_YEAR' envvar from '.settings'.