
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
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)
5 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 '[[' commands
=== Keybindings ===
* add 'Revert' column: revert setting to last saved user value
* add 'Default' column: revert setting to vendor or factory default
* removed 'Reset Keybindings' button (no longer needed with clickable Pixbuf)
* add 'None' column: allow keybindings without modificator (only useful for
keys like TAB for example to bind menu-complete to it)
* removed Advanced > Tab Rotation, added menu-complete to Keybindings instead.
- if you want to re-enable this feature set menu-complete in Keybindings to TAB
with no modificator checked
* new standard keybindings:
++ menu-complete-backward (default: Ctrl-Tab)
++ backward-kill-line (default: Alt-k)
* new custom keybindings:
++ rerun-root (rerun last command as root, default: Alt-r)
++ list-keys (list all bound command and their keybindings, default: Alt-p)
* made TreeViewColumn headers translatable
=== Readline ===
* New Readline options:
- colored-stats: if visible-stats is true, color them using LS_COLORS
- skip-completed-text: when completing, don't duplicate text after cursor.
example: if you have type: '$ sh' and then do completion
'$ /bin/b[TAB]sh' it will end up '$ /bin/bash' when this
setting is On, '$ /bin/bashsh' when this setting is Off
=== Vim ===
* New color schemes provided:
- Molokai
- Vivi Chalk
- Meta 5
- Woju
- Lightning
- Paper Color
- Solarized
* New Vim options:
- expandtabs: convert a [TAB] into [SPACE]s
- wildmenu: show possible command completions above vim command line and
cycle through using [TAB], very similar to Bash/Readline
- foldenable: enable folding of large code blocks
- foldlevelstart: at what level of code to start folding (0 for immediate
folding, 99 for no folding)
- foldestmax: maximum level of nested foldings
- foldmethod: method to determine when to fold either indet (default),
marker, manual, expression, syntax or diff
=== Nano ===
* New Nano options:
- enable_mouse: enable full mouse support (copy, select ...)
- no_wrap: disable wrapping of long lines
- log_position: remember position in file when exiting and restore when
opening the file again
- tab_size: column-width of [TAB]s
- tab_to_spaces: convert a [TAB] into [SPACE]s
- set_uicolors: master option to enable the following options
- function_color_fg: text color for function descriptions
- function_color_bg: background color for function descriptions
- key_color_fg: text color for key bindings in help
- key_color_bg: background color for key bindings in help
- status_color_fg: text color for status messages
- status_color_bg: background color for status messages
- title_color_fg: text color for titlebar
- title_color_bg: background color for titlebar
=== LS Colors ===
* code simplification
* set ls-color for '*' (fallback) first
* add ls-color options for:
- symbolic links
- sockets
- pipes
- block devices
- character devices
=== Make 1.0.4 ===
- less verbose upon 'install'
- less verbose upon 'clean'
- tweaked output colors
- fixed message output for 'check_root_message'
- moved some messages from function into messages module
- minor tweaks
=== Translations ===
* updated German translation
5 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 '[[' commands
=== Keybindings ===
* add 'Revert' column: revert setting to last saved user value
* add 'Default' column: revert setting to vendor or factory default
* removed 'Reset Keybindings' button (no longer needed with clickable Pixbuf)
* add 'None' column: allow keybindings without modificator (only useful for
keys like TAB for example to bind menu-complete to it)
* removed Advanced > Tab Rotation, added menu-complete to Keybindings instead.
- if you want to re-enable this feature set menu-complete in Keybindings to TAB
with no modificator checked
* new standard keybindings:
++ menu-complete-backward (default: Ctrl-Tab)
++ backward-kill-line (default: Alt-k)
* new custom keybindings:
++ rerun-root (rerun last command as root, default: Alt-r)
++ list-keys (list all bound command and their keybindings, default: Alt-p)
* made TreeViewColumn headers translatable
=== Readline ===
* New Readline options:
- colored-stats: if visible-stats is true, color them using LS_COLORS
- skip-completed-text: when completing, don't duplicate text after cursor.
example: if you have type: '$ sh' and then do completion
'$ /bin/b[TAB]sh' it will end up '$ /bin/bash' when this
setting is On, '$ /bin/bashsh' when this setting is Off
=== Vim ===
* New color schemes provided:
- Molokai
- Vivi Chalk
- Meta 5
- Woju
- Lightning
- Paper Color
- Solarized
* New Vim options:
- expandtabs: convert a [TAB] into [SPACE]s
- wildmenu: show possible command completions above vim command line and
cycle through using [TAB], very similar to Bash/Readline
- foldenable: enable folding of large code blocks
- foldlevelstart: at what level of code to start folding (0 for immediate
folding, 99 for no folding)
- foldestmax: maximum level of nested foldings
- foldmethod: method to determine when to fold either indet (default),
marker, manual, expression, syntax or diff
=== Nano ===
* New Nano options:
- enable_mouse: enable full mouse support (copy, select ...)
- no_wrap: disable wrapping of long lines
- log_position: remember position in file when exiting and restore when
opening the file again
- tab_size: column-width of [TAB]s
- tab_to_spaces: convert a [TAB] into [SPACE]s
- set_uicolors: master option to enable the following options
- function_color_fg: text color for function descriptions
- function_color_bg: background color for function descriptions
- key_color_fg: text color for key bindings in help
- key_color_bg: background color for key bindings in help
- status_color_fg: text color for status messages
- status_color_bg: background color for status messages
- title_color_fg: text color for titlebar
- title_color_bg: background color for titlebar
=== LS Colors ===
* code simplification
* set ls-color for '*' (fallback) first
* add ls-color options for:
- symbolic links
- sockets
- pipes
- block devices
- character devices
=== Make 1.0.4 ===
- less verbose upon 'install'
- less verbose upon 'clean'
- tweaked output colors
- fixed message output for 'check_root_message'
- moved some messages from function into messages module
- minor tweaks
=== Translations ===
* updated German translation
socialinux
6 years ago
compiled from source?
Report
Chrispy
6 years ago
Report
socialinux
6 years ago
Output is:
No rule to make target 'uninstall'
Report
Chrispy
6 years ago
./make remove
aswell.
Report
bretzel
10 years ago
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
10 years ago
thus 'PREFIX' is empty
( Fedora 14 x64 in VMWare )
thanks again :-)
Report
Chrispy
10 years ago
pkg-config --variable=prefix bashstyle-ng
Report
moeenn
10 years ago
Rated up..
Report
Chrispy
10 years ago
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
12 years ago
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
Chrispy
12 years ago
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
Chrispy
12 years ago
I don't have that problems.
Report
radzi
12 years ago
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
Chrispy
12 years ago
Report
radzi
12 years ago
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
12 years ago
One thing: The 5th alias don't work.
Report
Chrispy
12 years ago
sed -e 's/\"alias/alias\ \"/g' -i /usr/share/bashstyle-ng/system/nx-rc
Report
spktkpkt
12 years ago
Report