Next: First Start, Previous: Installation, Up: Top
This lists user-visible changes, and which releases they occurred between. For more detailed information see the git log.
Each release lists incompatible changes at its top.
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.
sufffix
: fix wrongly named files, when mime-type leads to non-exact match.
systemkit
: adopt freeram
, usedram
, totalram
,
usedram%
, freeram%
, to top
changes.
reload_bash
: fix resetting ERR
trap.
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
.
BSNG_YEAR
envvar from .settings
.
bashstyle-rc
: prevent error messages on first start
configure
: make python version check more robust
gettext
: due a bug in eval_gettext
strings starting with dashes lead to issues in camelcase
, random
and randomfile
functions, so use old school $'...'
syntax as quick fix.
gitkit
: fix cloneuser
command not working.
history sync
: fix terrible bug that could cause complete loss of history when many Bash instance are started at once and trying to access the history file.
bashstyle_history
: custom ’history -D’ param now also deletes single commands in history (eg: history -D geany
previously only deleted geany some_file
, but not geany
, now both will be deleted).
colors
: add possibility to set colors for GCC messages.
gitkit
: add listuser
and listorg
commands for listing repos from a GitHub user or GitHub organization.
advanced
: add possibility to set useragent string for cURL
.
advanced
: add possibility to set useragent string for wget
.
bashstyle_history
: custom history -D
param now accepts multi-word commands for deletion.
bashstyle_history
: new custom history -g
param to grep history for simple pattern.
bashstyle
: add -l
/--log
action to view BashStyle-NG log file.
lscd
, treecd
: fix error messages when cd-ing into empty directory caused by gettext string evalutation.
bat
: on some distributions bat
is called batcat
, support both.
HOME/.bashstyle-ng.log
) from UI (About > BashStyle-NG Logfile).
fd-find
to suggested packages in Debian GNU/Linux packaging scripts.
GNU Nano
settings: fix setting UI colors.
GNU Nano
settings: update possible settings for new GNU Nano
versions.
const
was renamed to constantshow
.
poslog
was renamed to positionlog
.
morespace
was replaced with emptyline
.
rebindkeypad
was removed.
ini handling
: fix checking user settings being up-to-date on Bash startup.
make
: fix BashStyle-NG .desktop file, manpage and bashstyle-config-helper
not being uninstalled.
systemkit
: fix systemkit dirsize
not working.
systemkit
: fix systemkit battery
not working with recent acpi
versions.
systemkit
: fix systemkit internalip
not working with recent ifconfig
versions.
ls color
settings: compat with some embedded terminals (like terminal in Geany IDE).
manpage color
settings: compat with some embedded terminals (like terminal in Geany IDE).
GNU Nano
settings: support for the following new settings has been added:
linenumbers
: whether to show line numbers at start of line.
guidestripe
: whether to draw a stripe at given position (0 = disabled) so help avoiding overlong lines.
errorcolor
: set color for error messages.
selectedcolor
: set color for selected text.
stripecolor
: set color for the guidestripe.
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.
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]
.
bashstyle --enable
or bashstyle --disable
.
HOME/.bs-ng.ini
to HOME/.bashstyle-ng.ini
(auto-migrate from old to new name).
/etc/bs-ng_vendor.ini
to /etc/bashstyle-ng_vendor.ini
.
bs-ng-[ICONNAME].png
to bashstyle-ng-[ICONNAME].png
.
bs-ng.desktop
to bashstyle-ng.desktop
.
gitkit cloneuser
/ gitkit cloneorg
, use wget
+ awk
+ xe
instead of curl
+ ruby
.
gitkit
function for remembering SSH password.
eval_gettext
for translating Bash Scripts intead of outdated $""
syntax.
gitkit
applet: handle the case where TMPDIR
is unset.
check
function: check if dig
is installed before executing check m
.
basefile
function: fix noext
option.
round
function: fix output not being visible in all cases.
check
: perform various non-standard checks, used like test
.
n
: check if arg is a valid number (int, float, hex, octal), example: check n 4.4
.
i
: check if arg is a valid integer, example: check i 4
.
f
: check if arg is a valid float, example: check f 4,4
or check f 4.4
.
h
: check if arg is a valid hex, example: check h 301DE8
.
o
: check if arg is a valid octal, example check o 24
.
hc
: check if arg is a valid hex color, example check hc FFF
or check hc 000000
, #
may optionally lead.
s
: check if arg is a valid string, example check s "How do you do?"
.
p
: check if arg is a special character, example check p ?
.
c
: check if arg1 contains arg2, example check c "Thanks, I'm fine." "I'm"
or check c 1423532 235
.
sw
: check if arg1 starts with arg2, example check sw Hello H
or check sw 12412 124
.
ew
: check if arg1 ends with arg2, example check ew Goodbye e
or check ew 1422412 2412
.
b
: check if arg is a valid boolean, example check b $myvar
. check
recognizes the following as boolean value:
true
, True
, TRUE
, 0
false
, False
, FALSE
, 1
bt
: check if arg is valid boolean true, example check bt $myvar
.
bf
: check if arg is valid boolean false, example check bf $myvar
.
m
: check if arg is a valid mail address, example check m "test@dom.tld"
. check
matches against a regex and uses dig
to see if the domain is available, will verbosely inform what’s wrong (in case).
-z
for randomfile
append filename to command without separating space, for example randomfile geeqie -r File: -- $HOME/Pictures/*
.
gitkit
applet:
push
: first push to upstream, then push tags and at last push to all mirrors found in .git_mirror
file.
taga
: add tag and push to remote, example: gitkit taga TAG [-m MESSAGE COMMITID]
.
tagd
: remove tag locally and remote, example: gitkit tagd TAG
.
tagr
: rename a tag (technically removes tag and readds it with new name) locally and remote, example: gitkit tagr OLDNAME NEWNAME
, preserves first line of tag annotation and commit pointed to.
tagc
: make a tag point to a different commit (technically removes tag and readss it pointing to new commit) locally and remote, example: gitkit tagc TAG COMMITID
, preserves first line of tag annotation.
gitkit
start an ssh-agent
in combination with ssh-add
so that the afore mentioned new features (and ordinary git
remote commands) don’t require you to type in your password everytime. You can customize whether to use that feature, how long ssh-agent
should remember the passwords and what keyfile to use (fallback $HOME/.ssh/id_rsa
). The timer is separate in each Bash session. See options Remember SSH Key
, Time to remember
and SSH RSA Keyfile
in the Git
section of BashStyle-NG.
empty
: you can now specify whether to look for empty files (example: empty f [PATH]
), or directories (example: empty d [PATH]
) only. Like before if no arg is passed (or arg is a path) it will search for both empty files and directories in given path or in PWD
.
nseq
function: allow passing the lowest number, aswell as the field separator (example: nseq 0 5 _
).
ngroups
function: if run as root, allow passing a different user than current (example: ngroups USER
).
bashstyle
launcher: new switches --ini-get
and --ini-set
allow getting or setting configuration values from command line.
topdir
function.
assign
function.
DATADIR/bashstyle-ng/rc/functions
to DATADIR/bashstyle-ng/functions
.
ruler
function.
history
not properly working when history sync
is active.
history -D COMMAND
which deletes all entries of a given command from the history, example:
history -D rm
will delete all occurences of rm
from the history. history -D
does exact matches, so for example rmdir
is not removed from history, if rm
is passed as COMMAND
.
localvar_inherit
, requires Bash version 5.0.
next-screen-line
and previous-screen-line
, requires Readline version 8.0.
cd
or BashStyle-NG lscd
or treecd
.
history
or BashStyle-NG History Sync
or History Isolation
.
bashstyle -v
and About Page now show the release codename, too.
BSNG_SESSION_TIME
contains the BashStyle-NG startup time in +%I-%M-%S-%N
format.
jpg
to jpeg
tar.gz
to tgz
tar.bz2
to tbz
-h
in addition to --help
, minor changes
batchrename
: proper verbose output
randomfile
if neither -r
or
-p
are used.
README
, TODO
, Debian GNU/Linux package description.
systemkit
did not accept the given directory
for function for counting files, directories or overall items, instead it always
used PWD
. Now it respects a given directory
and uses PWD
if
none was given.
systemkit
result of function for countine files,
directories or overall items were off by 1 in some cases.
randomfile
could not handle parameters
passed to the application, e.g.: randomfile geeqie -r -- /home/test/Pictures/*
does now work as intended.
HOME/.randomhistory
exists before doing
anything when -f
, -l
, -L
or -i
are given.
dd
options don’t work.
systemkit
:
randomfile
,
using -p
, --print
parameter.
PWD
, use like randomfile geeqie --
.
2048
game
bashtips
function
batch
function
hilow
game
quickscript
function
remount
function
wininfo
function
xmltagdelete
function
systemkit
:
apkdump
:
sufffix
quiet by default, add -v
, --verbose
switch,
to get verbose output, if desired.
-v
, --verbose
switch to batchrename
, to get verbose
output, if desired.
countvisibleitems
work, when PWD
is a
symlinked directory.
openhub
parameter support more than just github.com
origins (for example gitlab projects are now properly opened in browser, aswell), also
rename openhub
parameter into openweb
.
topdir
function, returns the deepest existing toplevel directory for a
given path, returns 1
if none found at all.
camelcase
function, transforms a string (test_string-a b
) in
either camelcase (TestStringAB
) or word-by-word uppercase (Test String A B
).
Equinox
and Power User
prompt styles now also use the
showuser
function instead of bash built-in $
prompt variable.
lscd
and treecd
changes:
lscd
and treecd
,
which is of course not supported, so if both were enabled, lscd
was used, always. This
is fixed now, as the user interface now only lets enable one or the other, not both.
lscd
and treecd
strings localizable.
Equinox
and 4.4+
Sections
10.0
systemkit bios
is called as non-root user a message is printed
accordingly (instead of just exiting without further notice).
openhub
feature, when there is more than
one remote.
-p
and -P
command line args were mixed up.
tree
is installed, if not, override the
user’s choice to use treecd
instead of cd
.
equinox
style when terminal
has not enough lines of height to draw all user-requested prompt part.
sed
substitutions (left-over from very (very) early BashStyle-NG
versions)
in the clock
prompt style.
grep -c
instead of grep xx | wc -l
.
ayoli
prompt style.
equinox
prompt style in
the custom-prompt-builder
was bugged since the introduction of
lastcommand
prompt part.
systemkit --dirsize
was broken.
apkdump
: grab information about android packages (apk) using
aapt.
sufffix
: fixes the suffix for given files.
batchrename
: batch renames all files in a directory using the
NNN-NAME.SUFFIX
naming scheme, where NNN
is the number of the file
inside the directory (filled up with leading zeros if required, eg. 01
or
001
) and NAME
is given by the user.
-d
, --doc
command line arg to bashstyle, which opens
the HTML documentation using xdg-open
.
-P
, --python
command line arg
of the bashstyle launcher script.
config-update-helper
.
bashstyle-config-helper
launcher script.
config-update-helper
.
-b
, --backup
command line arg to bashstyle, which will
backup the user configuration.
-r
, --restore
command line arg to bashstyle, which will
restore a previously backed up user configuration.
-R
, --reset
command line arg to bashstyle, which will
reset the user configuration to vendor values (if vendor configuration exists
and is up to date) or factory values.
-u
, --update
command line arg of bashstyle was not mentioned
in -h
, --help
message.
bashstyle.1
manpage.
bsng-help
to bashstyle-help
.
check_opt
, instead do a check in each script on it’s own.
custom-prompt-builder
.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
nx-rc
to bashstyle-rc
, that means,
you’ll have to re-enable BashStyle-NG
in your $HOME/.bashrc
. Upon
first start BashStyle-NG
will offer you to do so, on it’s own.
Additional notes for Git repo users:
nx-rc
will be auto-removed when re-enabling from UI,
as of commit 2ff6c0, if you transisted before that commit, be sure to remove
nx-rc
references from your $HOME/.bashrc
manually.
PAGER
to be
less
, else colorizing manpages might fail, if an other pager is used.
BashStyle-NG
in $HOME/.bashrc
from user interface in certain cases.
BashStyle-NG
in
$HOME/.bashrc
, so that Bash
does not run into errors on startup
when BashStyle-NG
was uninstalled, but the startup entry still exists.
Aswell as when it was installed to a different prefix, without having adjusted
the startup entry in $HOME/.bashrc
.
ini_version
of $HOME/.bs-ng.ini
is
bigger than app_ini_version
, the configuration is reset to either vendor or
factory default configuration. When doing so the configuration was not reloaded
by the user interface (which could potentially lead to a crash).
Dark Terminal Background
allows user
to set whether the terminal background is dark or bright. This option is used for
colorshell to prevent the font color being black on dark terminals, respectively
white on bright terminals in order to avoid barely readable text output.
This option also applies to all other terminal dependant color settings in
BashStyle-NG
, where white
will be black
on bright terminals,
respectively black
will be white
on dark terminals.
bell-style
readline variable.
completion-ignore-case
readline variable.
LS_COLORS
set by
BashStyle-NG
. This resulted in readline functions using distribution default
LS_COLORS
, but bash functions using the user set variable.
lastcommandprintable
) by removing all newlines from the string.
treecd
options not being honoured.
equinox
prompt, if pwdcut
ini value is not set. Fixed output string length calculation
for truncpwd
function aswell.
$HOME/.bashstyle.log
after startup. Before this fix
only the messages from BashStyle-NG
itself were stored, making the debug log
rather useless.
+
, -
and
/
for lastcommand
exit code visualization instead of ✔
,
✘
and ⊘
, as they won’t display correctly.
extglob
shopt by
default. Some bash completion definitions don’t work without (eg: vim’s).
dd
when loading bashstyle-rc
more than one time during a single bash session.
BashStyle-NG
user interface. Now the user
configuration is auto-updated from bashstyle-rc
upon shell start up
aswell (if needed, vendor configuration is considered if up-to-date, else
factory configuration will be used (same behaviour as from user interface)).
Manual update is possible via bashstyle --update
, or bashstyle -u
.
If your configuration is up-to-date, nothing will be changed.
BashStyle-NG
now allows you
to choose the different colors for manpages from the User Interface, rather than
only giving you a handful of pre-defined color schemes.
PATH
variable.
lscd
and treecd
for different
banner
, mkdir
and empty
labels.
lastcommand
exit code visualization. return_good
, which is ✔
/+
by default
return-bad
, which is ✘
/-
by default and return_other
,
which is ⊘
//
by default. This is currently only used in equinox
prompt.
equinox
prompt. You can now
enable or disable the following informations:
showuser
function. Prompt function to either show $
for normal users, a custom-set symbol. Always displays #
for root. If
colors are enabled color for normal-users will be color_user
and red for
root.
user_char
option. Set this to let showuser
display
something else than $
for ordinary users.
EXECIGNORE
a colon-separated list of commands to ignore from completion.
Only matched if the *complete* filename matches. For example if you want to exclude
/usr/bin/autoreconf
from command completion, you need to add something like
/usr/bin/autreconf
or
*/autoreconf
to EXECIGNORE
.
PS0
prompt and color setting. A new prompt which is displayed after
completion was done and before the completed command is executed.
Colored Completion Prefix
makes the matching prefix of the issued
completion appear in a special color for all matches.
Enable Bracketed Paste
makes Bash handle multi-line pasted code
like single-line, preventing erroneous completion or execution.
Vi Command Mode String
is an indicator printed before the last line
of PS1
when Bash is in vi command mode.
Vi Insert Mode String
is an indicator printed before the last line
of PS1
when Bash is in vi insert mode.
Emacs Mode String
is an indicator printed before the last line of
PS1
when Bash is in emacs mode.
history syncronization
improved history syncronization erasedups,
ignoredups, ignorespace and ignoreboth implementation. Made it more robust in
case multiple Bash sessions start up simultaneously (should throw a lot less to
no more errors).
random
function’s --numericalrange
, -r
param previously
only allowed setting the highest
value of random range, starting from zero.
Now it’s possible to set the lowest
value optionally, aswell. Both syntaxes
are supported:
random -r 10
will give you a random number between 0 and 10
random -r 5 10
will give you a random number between 5 and 10
colors
added support for both grey
and white
in all
color settings. Note: depending on your terminal’s color settings you might not
see a difference here, that’s not a bug.
colorshell
does no longer pollute PS1...4
variables. It does
now store PS1...4
once per session to OLDPS1...4
and appends it’s
randomly choosen text color to the it.
equinox
prompt now shows ⊘
in yellow when exiting git log
using q
key, instead of ✘
in red. Exiting git log
results in
return code 141, but it’s not an actual error, thus the new state was added.
GtkSwitch
es instead of GtkRadionButton
s for main
switches in the UI.
use lscd instead of cd
and
use treecd instead of cd
exclude each other.
bs-ng
, new: bashstyle
nx-rc
, new: bashstyle-rc
bashstyle
launcher script.
x-terminal-emulator
).
GIT
to Git
in the UI and other pacles.
BashStyle-NG
initialization,
no need to record BashStyle-NG
s startup.
WidgetHandler
now supports GtkSwitch
es, GtkButton
s and
GtkLabel
s, Custom Prompt Builders special GtkButton
s and
GtkComboBox
es.
unset
ing a lot of variables which are
of no use after BashStyle-NG
initialization.
dbg_msg
function, now some of the output strings in
$HOME/.bashstyle.log
are more readable.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
trap
from lastcommand
storing [Mingye Wang]
lastexit
value storing [Mingye Wang]
also shows version of user, user backup, vendor and factory configuration files (None for vendor and user backup if they don’t exist)
Now there’s an separate option for each (including a color option each)
xmltagdelete --help
2048.bash --help
dd
, requires version 8.24 or newer.
bashstyle
executable.
Documentation
icon (bs-ng-doc
) icon in UI, opening the
documenation using xdg-open
.
--docdir
switch back
--mandir
switch
./make build
./make install
./make install
./make readme
)
./make news
)
./make info
)
./make html
)
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Next: First Start, Previous: Installation, Up: Top