diff --git a/arch-user/bin/ai b/arch-user/bin/ai
index f4650e0..b69d718 100755
--- a/arch-user/bin/ai
+++ b/arch-user/bin/ai
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
role="$1"
shift
@@ -6,5 +6,9 @@ shift
if [ -n "$1" ]; then
aichat --role "$role" "$@"
else
- aichat --role "$role" --session
+ session_ts="$(date +%s)"
+ while true; do
+ read -e -r -p "> " input
+ aichat --save-session --session "$session_ts" --role "$role" "$input"
+ done
fi
diff --git a/arch-user/bin/bemenu/run-calc.sh b/arch-user/bin/bemenu/run-calc.sh
index 7ce342b..e229504 100755
--- a/arch-user/bin/bemenu/run-calc.sh
+++ b/arch-user/bin/bemenu/run-calc.sh
@@ -6,7 +6,7 @@ if [ -z "$query" ]; then
query="$(echo "tui" | bemenu --prompt "qalc")"
fi
if [ "$query" = "tui" ]; then
- exec footclient --app-id="footclient_float" -D ~/ "qalc"
+ exec alacritty msg create-window --class="term_float" --working-directory="$HOME" --command "qalc"
elif [ -n "$query" ]; then
qalc_res="$(qalc --terse "$query")"
menu_res="$(echo -e "$qalc_res\ntui" | bemenu --prompt "qalc")"
diff --git a/arch-user/bin/bemenu/run-man.sh b/arch-user/bin/bemenu/run-man.sh
index dc26cbc..84f70c8 100755
--- a/arch-user/bin/bemenu/run-man.sh
+++ b/arch-user/bin/bemenu/run-man.sh
@@ -9,4 +9,4 @@ if [ -z "$page" ]; then
sed ' s/\s\+\-.*//;s/ //g'
)"
fi
-exec footclient --app-id="footclient_float" "$SHELL" -c "man '$page' || read -n1"
+exec alacritty msg create-window --class="term_float" --working-directory="$HOME" --command "man '$page' || read -n1"
diff --git a/arch-user/bin/bemenu/run-pass.sh b/arch-user/bin/bemenu/run-pass.sh
index c4ad178..6f868ab 100755
--- a/arch-user/bin/bemenu/run-pass.sh
+++ b/arch-user/bin/bemenu/run-pass.sh
@@ -6,7 +6,7 @@ pws="$(find -path "*/.*" -prune -o -path "*/cred/*" -name "*.gpg" -printf '%P\n'
pw="$(echo "$pws" | bemenu --prompt "pass")"
case "$2" in
- info) exec footclient --app-id="footclient_float" -D ~/ "$SHELL" -c "pass $pw | vim -";;
+ info) exec alacritty msg create-window --class="term_float" --working-directory="$HOME" --command "pass $pw | vim -";;
otp) pass otp -c "$pw" && notify-send "$pw" -a pass "OTP copied to clipboard, clears in 45s";;
*) pass -c "$pw" && notify-send "$pw" -a pass "Password copied to clipboard, clears in 45s";;
esac
diff --git a/arch-user/bin/bemenu/run.sh b/arch-user/bin/bemenu/run.sh
index 458d7d2..ff30468 100755
--- a/arch-user/bin/bemenu/run.sh
+++ b/arch-user/bin/bemenu/run.sh
@@ -4,7 +4,9 @@ rl_full="$(cat "$HOME/.config/bemenu/"*.runlist)"
rl="$(echo "$rl_full" | cut -d' ' -f2-)"
inp="$(echo "$rl" | bemenu --prompt ">")"
+[ -z "$inp" ] && exit 0
eval "inp_arr=($inp)"
+
exectr=float-sh-keep
while IFS= read -r line; do
if [[ "$inp" == "$line"* ]]; then
@@ -14,7 +16,7 @@ done <<< "$rl"
case "$exectr" in
exec) exec $inp;;
- float-sh) exec footclient --app-id="footclient_float" -D ~/ "$SHELL" -c "($inp)";;
- float-sh-keep) exec footclient --app-id="footclient_float" -D ~/ "$SHELL" -c "($inp); read -n1";;
- *) exec bash "$HOME/.local/bin/bemenu/run-$exectr.sh" "${inp_arr[@]}";;
+ float-sh) exec alacritty msg create-window --class="term_float" --working-directory="$HOME" --command "$SHELL" -c "($inp)";;
+ float-sh-keep) exec alacritty msg create-window --class="term_float" --working-directory="$HOME" --command "($inp); read -n1";;
+ *) exec bash "$HOME/.local/bin/bemenu/run-$exectr.sh" "${inp_arr[@]}"
esac
diff --git a/arch-user/config/alacritty/alacritty.toml b/arch-user/config/alacritty/alacritty.toml
index d1a6c65..a22a05d 100644
--- a/arch-user/config/alacritty/alacritty.toml
+++ b/arch-user/config/alacritty/alacritty.toml
@@ -67,28 +67,28 @@ mods = "Alt"
action = "ToggleViMode"
[[keyboard.bindings]]
-key = "N"
+key = "n"
mode = "Vi"
action = "Left"
[[keyboard.bindings]]
-key = "E"
+key = "e"
mode = "Vi"
action = "Down"
[[keyboard.bindings]]
-key = "I"
+key = "i"
mode = "Vi"
action = "Up"
[[keyboard.bindings]]
-key = "O"
+key = "o"
mode = "Vi"
action = "Right"
[[keyboard.bindings]]
-key = "H"
+key = "h"
mode = "Vi"
action = "ToggleViMode"
@@ -103,12 +103,12 @@ mode = "Vi"
action = "SearchPrevious"
[[keyboard.bindings]]
-key = "J"
+key = "j"
mode = "Vi"
action = "SemanticRightEnd"
[[keyboard.bindings]]
-key = "i"
+key = "l"
mode = "Vi"
action = "ToggleViMode"
diff --git a/arch-user/config/bemenu/base.runlist b/arch-user/config/bemenu/base.runlist
index d0030a7..9266b45 100644
--- a/arch-user/config/bemenu/base.runlist
+++ b/arch-user/config/bemenu/base.runlist
@@ -1,6 +1,5 @@
exec qutebrowser
exec gimp
-exec sqlitebrowser
exec telegram-desktop
man man
calc calc
@@ -15,4 +14,3 @@ pass pass info
capture screenshot selection
capture screenshot output
capture pick-color
-float-sh nmtui
diff --git a/arch-user/config/mako/config.tmpl b/arch-user/config/mako/config.tmpl
index f32ade4..6ed8b5c 100644
--- a/arch-user/config/mako/config.tmpl
+++ b/arch-user/config/mako/config.tmpl
@@ -1,5 +1,5 @@
format=%s - %a\n%b
-font={{ .theme.font.name_regular }} {{ math.Sub .theme.font.size_base_pt .theme.font.size_step_pt }}
+font={{ .theme.font.name_regular }} {{ .theme.font.size_base_pt }}
background-color=#{{ .theme.color.bg_accent_dark }}{{ math.Mul .theme.opacity.high 255 | conv.ToInt64 | printf "%02X" }}
border-size=2
border-radius=4
diff --git a/arch-user/config/readline/inputrc b/arch-user/config/readline/inputrc
index 56c9753..e020474 100644
--- a/arch-user/config/readline/inputrc
+++ b/arch-user/config/readline/inputrc
@@ -63,3 +63,9 @@ set keymap vi-insert
"\C-h":operate-and-get-next
#################################
+
+########### custom ##############
+$if qalc
+set show-mode-in-prompt off
+$endif
+#################################
diff --git a/arch-user/config/vim/vimrc b/arch-user/config/vim/vimrc
index 8b5ff54..bc9438b 100644
--- a/arch-user/config/vim/vimrc
+++ b/arch-user/config/vim/vimrc
@@ -93,7 +93,7 @@ noremap!
" i -> k
noremap i k
noremap I K
-noremap!
+"noremap! " breaks tab
" o -> l
noremap o l
noremap O L
@@ -145,7 +145,7 @@ noremap!
" i -> k
noremap и к
noremap И К
-noremap!
+"noremap! " breaks tab
" o -> l
noremap о л
noremap О Л