aboutsummaryrefslogtreecommitdiff
path: root/bbstartup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bbstartup.sh')
-rwxr-xr-xbbstartup.sh9
1 files changed, 6 insertions, 3 deletions
diff --git a/bbstartup.sh b/bbstartup.sh
index 80615fb..9058169 100755
--- a/bbstartup.sh
+++ b/bbstartup.sh
@@ -4,11 +4,14 @@
# Load key bindings
# first check ~/.config/bb/bindings.bb, then /etc/xdg/bb/bindings.bb, then ./bindings.bb
+[ ! -d "$XDG_DATA_HOME/bb" ] && mkdir -p "$XDG_DATA_HOME/bb"
if [ ! -e "$XDG_CONFIG_HOME/bb/bindings.bb" ] && [ ! -e "$sysconfdir/xdg/bb/bindings.bb" ]; then
- cat "./bindings.bb" 2>/dev/null | sed -e '/^#/d' -e "s/^\([^ ]\)/$(printf '\034')bind:\\1/" | tr '\034' '\0' >> "$BBCMD"
+ cat "./bindings.bb" 2>/dev/null | awk '/^#/ {next} /^[^ ]/ {printf "\0bind:"} {print $0} END {printf "\0"}' >> "$BBCMD"
else
for path in "$sysconfdir/xdg/bb" "$XDG_CONFIG_HOME/bb"; do
cat "$path/bindings.bb" 2>/dev/null
- done | sed -e '/^#/d' -e "s/^\([^ ]\)/$(printf '\034')bind:\\1/" | tr '\034' '\0' >> "$BBCMD"
+ done | awk '/^#/ {next} /^[^ ]/ {printf "\0bind:"} {print $0} END {printf "\0"}' >> "$BBCMD"
+fi
+if [ -e "$XDG_DATA_HOME/bb/state.sh" ]; then
+ . "$XDG_DATA_HOME/bb/state.sh"
fi
-printf '\0' >> "$BBCMD"