BashStyle-NG
Utilities
Score 72%
Description:

BashStyle-NG

=== Introduction ===

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)
Last changelog:

9 years ago

Overview of changes in v9.1 "Dial T for TNT"

=== Bug Fixes ===

* #187 (vim-rc):
set softtabstop instead of shiftwidth for setting tab length
* #188 (keybindings-rc):
some of the keybindings set from UI didn't take effect
* #189 (colorshell):
option colorshell_reset did not work
* #190 (bashstyle.sh/nx-rc):
improve start-up mechanism, so that PS1 definied in ${HOME}/.bashrc
does not override PS1 set by BashStyle-NG

=== Widgets ===

* added CellRendererClickablePixbuf from Tryton (http://www.tryton.org/),
with minor updates to be GTK+3 compatible

=== User Interface ===

* majorly revised the Custom Prompt Builder (both UI and Code):
- unified functions in python code where possible
- removed "Place in (...)" buttons
- only one "Empty", "Undo" and "Redo" button each for both TextViews
(it is now auto-detected which one of both is the currently active one)
- use monospaced font in the input fields
- add scrollbars to the Custom Prompt Builder (prevents window from getting
immensively huge when inserting large prompts like Equinox)
- add "Reset" button: reset to last saved user configuration
- add "Factory" button: reset to vendor or factory configuration
- when inserting functions or variables into PROMPT_COMMAND or PS1 the output
will be modified so that it conforms with where it's been added, example:
- ${eusercolor} for PROMPT_COMMAND and ${usercolor} for ${PS1} or
- $(systemkit usedram%) for PROMPT_COMMAND and \$(systemkit usedram%) for PS1

* restructure prompt color settings
++ before: two combined combo boxes (not optimal from usability view)
++ after : a separate combo box for each color setting

* re-arrange some settings in 'Advanced' category. Rename 'Extra' sub-section
into 'BashStyle-NG', 'Misc' sub-section into 'Bash Builtin'.

* remove AboutDialog-Window and make it a custom tab page instead

* re-align widget groups for the better looks
* show what category the user is currently in, in the header
* added missing revert-to-default icons for PWD Length Spinbutton
* show icon on the "Back", "Empty", "Undo" and "Redo" buttons again
* major restructuring and updating of widgets in all categories
* minor string changes

=== General ===

* add trap_add function. It allows adding multiple commands to a trap one after
another by grabbing the previous trapped functions and re-building the trap
(by Richard Hansen https://stackoverflow.com/a/7287873)

* record executed command and it's exist status. This will be available using
${lastcommand} (full length), ${lastcommandprintable} (truncated to max. 25
characters or filled with spaces to reach 25 characters, for prompts) and
${lastexit} variables. This is not recorded for:
- completion
- trap
- PROMPT_COMMAND

for not overriding the useful info with useless, aswell as for:

- echo ${lastcommand}
- echo ${lastcommandprintable}
- echo ${lastexit}

so users are able to grab the values in all cases. Add all three to the
Custom Prompt Builder.

* rename lscd_mkdir config into customcd_mkdir and make it apply for both lscd
and treecd
* add treecd_opts config (similar to lscd_opts)
* improve treecd (make it internally work like lscd)
* make colorshell a trap rather than embedding it in PROMPT_COMMAND
* remove PRE_PROMPT_COMMAND

=== Styles ===

* Renamed "Clock Advanced" Prompt to "Equinox" (the name change is handled
internally, the config updated automatically, no user interaction required)
* re-bind RETURN to C-l\C-j when Equinox is the active style. The Style is now
properly re-drawn after command execution (no more overlapping "arms")
* include ${lastexit} and ${lastcommand} as follows in Equinox:
( ✔: some command )─┤ -- for a successfully executed command
( ✘: some command )─┤ -- for a non-successfully executed command
* simplify Equinox code a little bit
* don't draw arms in Equinox if the terminal height is less than 16 lines

=== Bash Settings ===

* add GLOBIGNORE: everything to ignore from globbing. Default value: empty.
++ if you set it to ".:.." issueing '$ ls .*' will not include '.' and '..'

* add History Sync: sync history between simultaneously running sessions.
++ commands from other sessions become available to 'history' immediately,
++ to bash after reloading prompt ([enter])

* add dotglob: include hidden files (with leading dot) by default during
pathname expansion
* add extglob: enable extending globbing with regular expression like
extensions (see: http://mywiki.wooledge.org/glob#extglob)
* add nocaseglob: ignore case during globbing
* add nocasematch: case insensitive matching for 'case' and '[

socialinux

3 years ago

How to uninstall BashStyle-NG
compiled from source?

Report

C

Chrispy

3 years ago

simply: make uninstall

Report

socialinux

3 years ago

I had already tried.
Output is:
No rule to make target 'uninstall'

Report

C

Chrispy

3 years ago

? are you in the source directory? ... you may try

./make remove

aswell.

Report

bretzel

6 years ago

glib.GError: Failed to open file '/share/bashstyle-ng/ui/bashstyle7.ui

uh... there is no `/share` shouldn't be `/usr/share/...` ????



./configure ( even with --prefix=/usr )



and btw the file/subdir is actually correctly in `/usr/`share/...`

thanks

Report

bretzel

6 years ago

Digged a bit and just added ugly hack simple '/usr/[.....' on line 157 in bs-ng py file...

thus 'PREFIX' is empty
( Fedora 14 x64 in VMWare )


thanks again :-)

Report

C

Chrispy

6 years ago

? Normall BS-NG detects the prefix on-the-fly... what happens when you run this manually?:

pkg-config --variable=prefix bashstyle-ng

Report

moeenn

7 years ago

I donot really know what this is but it is definitely something awesome.....

Rated up..

Report

C

Chrispy

7 years ago

:D

It's a set of functions and stuff, to modify your bash, you can se a "pimped" bash prompt in the screenshot. Besides it also contains a graphical setup tool.

You can read the docs for more infos (documentation/index.html in the tarball)

Report

PhotonX

9 years ago

Hey,

a nice tool! But I get the following error on terminal start:

bash: None: command not found
/usr/bin/truncpwd: line 35: [: None: integer expression expected

The second line appears again on each command.

Also I get NonehomeNonephoton instead of /home/photon in some styles.

Also strangely the color settings don't change the font color (it's always black) but the background color.

Report

C

Chrispy

9 years ago

Hmm. I've sent you a PM.

I don't have that problems.

Report

C

Chrispy

9 years ago

Issue is solved. A really rare bug. [perhaps a broken pipe upon installation?]

For anyone who also has the "luck" to have that problem:

sudo make uninstall or dpkg --purge bashstyle-ng [depending on how you installed it]

rm -rf $HOME/.gconf/apps/bashstyle

re-install and you're done

Report

radzi

9 years ago

i try to set it...but i guess i miss a few-->

No value set for `/apps/bashstyle/font_color' [ 08:15:44 ]
No value set for `/apps/bashstyle/readline/scroll_h'
No value set for `/apps/bashstyle/readline/hidden'
No value set for `/apps/bashstyle/readline/editing_mode'
[ reez @ alexenderreez : /home/reez ]

Report

C

Chrispy

9 years ago

You need to either logout or kill the gconfd-2 (via killall gconfd-2)

Report

radzi

9 years ago

igot this error..

No value set for `/apps/bashstyle/font_color' [ 08:06:37 ]
No value set for `/apps/bashstyle/readline/bellstyle'
No value set for `/apps/bashstyle/readline/bellstyle'
No value set for `/apps/bashstyle/readline/bellstyle'
No value set for `/apps/bashstyle/readline/scroll_h'
No value set for `/apps/bashstyle/readline/hidden'
No value set for `/apps/bashstyle/readline/editing_mode'
bash: alias: ../cd ../: not found
No value set for `/apps/bashstyle/tmout'
[ reez @ alexenderreez : /home/reez ]

Report

spktkpkt

9 years ago

Very useful.

One thing: The 5th alias don't work.

Report

C

Chrispy

9 years ago

Thanks. I've found the issue, here's a temporary fix:

sed -e 's/\"alias/alias\ \"/g' -i /usr/share/bashstyle-ng/system/nx-rc

Report

spktkpkt

9 years ago

Thank you. :)

Report

9 years ago

Overview of changes in v9.1 "Dial T for TNT"

=== Bug Fixes ===

* #187 (vim-rc):
set softtabstop instead of shiftwidth for setting tab length
* #188 (keybindings-rc):
some of the keybindings set from UI didn't take effect
* #189 (colorshell):
option colorshell_reset did not work
* #190 (bashstyle.sh/nx-rc):
improve start-up mechanism, so that PS1 definied in ${HOME}/.bashrc
does not override PS1 set by BashStyle-NG

=== Widgets ===

* added CellRendererClickablePixbuf from Tryton (http://www.tryton.org/),
with minor updates to be GTK+3 compatible

=== User Interface ===

* majorly revised the Custom Prompt Builder (both UI and Code):
- unified functions in python code where possible
- removed "Place in (...)" buttons
- only one "Empty", "Undo" and "Redo" button each for both TextViews
(it is now auto-detected which one of both is the currently active one)
- use monospaced font in the input fields
- add scrollbars to the Custom Prompt Builder (prevents window from getting
immensively huge when inserting large prompts like Equinox)
- add "Reset" button: reset to last saved user configuration
- add "Factory" button: reset to vendor or factory configuration
- when inserting functions or variables into PROMPT_COMMAND or PS1 the output
will be modified so that it conforms with where it's been added, example:
- ${eusercolor} for PROMPT_COMMAND and ${usercolor} for ${PS1} or
- $(systemkit usedram%) for PROMPT_COMMAND and \$(systemkit usedram%) for PS1

* restructure prompt color settings
++ before: two combined combo boxes (not optimal from usability view)
++ after : a separate combo box for each color setting

* re-arrange some settings in 'Advanced' category. Rename 'Extra' sub-section
into 'BashStyle-NG', 'Misc' sub-section into 'Bash Builtin'.

* remove AboutDialog-Window and make it a custom tab page instead

* re-align widget groups for the better looks
* show what category the user is currently in, in the header
* added missing revert-to-default icons for PWD Length Spinbutton
* show icon on the "Back", "Empty", "Undo" and "Redo" buttons again
* major restructuring and updating of widgets in all categories
* minor string changes

=== General ===

* add trap_add function. It allows adding multiple commands to a trap one after
another by grabbing the previous trapped functions and re-building the trap
(by Richard Hansen https://stackoverflow.com/a/7287873)

* record executed command and it's exist status. This will be available using
${lastcommand} (full length), ${lastcommandprintable} (truncated to max. 25
characters or filled with spaces to reach 25 characters, for prompts) and
${lastexit} variables. This is not recorded for:
- completion
- trap
- PROMPT_COMMAND

for not overriding the useful info with useless, aswell as for:

- echo ${lastcommand}
- echo ${lastcommandprintable}
- echo ${lastexit}

so users are able to grab the values in all cases. Add all three to the
Custom Prompt Builder.

* rename lscd_mkdir config into customcd_mkdir and make it apply for both lscd
and treecd
* add treecd_opts config (similar to lscd_opts)
* improve treecd (make it internally work like lscd)
* make colorshell a trap rather than embedding it in PROMPT_COMMAND
* remove PRE_PROMPT_COMMAND

=== Styles ===

* Renamed "Clock Advanced" Prompt to "Equinox" (the name change is handled
internally, the config updated automatically, no user interaction required)
* re-bind RETURN to C-l\C-j when Equinox is the active style. The Style is now
properly re-drawn after command execution (no more overlapping "arms")
* include ${lastexit} and ${lastcommand} as follows in Equinox:
( ✔: some command )─┤ -- for a successfully executed command
( ✘: some command )─┤ -- for a non-successfully executed command
* simplify Equinox code a little bit
* don't draw arms in Equinox if the terminal height is less than 16 lines

=== Bash Settings ===

* add GLOBIGNORE: everything to ignore from globbing. Default value: empty.
++ if you set it to ".:.." issueing '$ ls .*' will not include '.' and '..'

* add History Sync: sync history between simultaneously running sessions.
++ commands from other sessions become available to 'history' immediately,
++ to bash after reloading prompt ([enter])

* add dotglob: include hidden files (with leading dot) by default during
pathname expansion
* add extglob: enable extending globbing with regular expression like
extensions (see: http://mywiki.wooledge.org/glob#extglob)
* add nocaseglob: ignore case during globbing
* add nocasematch: case insensitive matching for 'case' and '[

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
9.1
updated Sep 27 2015
added Feb 05 2008
downloads today
0
page views today 0