scripts: improve himz ux
This commit is contained in:
parent
c52de0c9ca
commit
47e9554029
1 changed files with 35 additions and 15 deletions
50
scripts/himz
50
scripts/himz
|
@ -1,6 +1,9 @@
|
||||||
#! /usr/bin/env bash
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
function __him_accounts() {
|
IFS=
|
||||||
|
w3m_opts=("-T" "text/html" "-o" "display_link_number=1" "-dump")
|
||||||
|
|
||||||
|
function accounts() {
|
||||||
himalaya accounts | \
|
himalaya accounts | \
|
||||||
awk '/imap/ { print $1 }' | \
|
awk '/imap/ { print $1 }' | \
|
||||||
sort | \
|
sort | \
|
||||||
|
@ -10,26 +13,43 @@ function __him_accounts() {
|
||||||
--preview-window=right,80%
|
--preview-window=right,80%
|
||||||
}
|
}
|
||||||
|
|
||||||
function __him_emails() {
|
function emails() {
|
||||||
if [ "$#" != "0" ]; then
|
if [ "$#" != "0" ]; then
|
||||||
local w3m_opts="-T text/html -o display_link_number=1 -dump"
|
|
||||||
local acc=$1
|
local acc=$1
|
||||||
local size=${2-50}
|
local size=${2-50}
|
||||||
|
local HIM_CMD="himalaya -a $acc list -s $size -w 150"
|
||||||
local selected=$(
|
local selected=$(
|
||||||
himalaya -a $acc list -s $size | grep '│' | \
|
FZF_DEFAULT_COMMAND="$HIM_CMD | grep '│'" \
|
||||||
fzf --exit-0 --ansi --layout=reverse \
|
fzf --exit-0 --ansi --layout=reverse \
|
||||||
--header-lines=1 \
|
--header-lines=1 \
|
||||||
--header="Account: ${acc}" \
|
--header="Account: ${acc}" \
|
||||||
--preview="himalaya -a ${acc} read -t html {1} | w3m $w3m_opts" \
|
--preview="
|
||||||
--preview-window=down,70% \
|
res=\$(himalaya -a $acc read -t html {1});
|
||||||
--bind="ctrl-r:reload(himalaya -a $acc list -s $size | grep '│')"
|
echo \$res | head -n 2;
|
||||||
|
echo -e "\\\\n\===============================================================================\\\\n";
|
||||||
|
echo \$res | tail -n +3 | w3m ${w3m_opts}
|
||||||
|
" \
|
||||||
|
--preview-window=down,70% \
|
||||||
|
--bind="ctrl-r:reload(eval $FZF_DEFAULT_COMMAND)"
|
||||||
)
|
)
|
||||||
local eid=$(echo $selected | awk '{ print $1 }')
|
echo $selected | awk '{ print $1 }'
|
||||||
if [ "$eid" != "" ]; then
|
|
||||||
himalaya -a $acc read -t html $eid | w3m $w3m_opts
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
__him_emails `__him_accounts` $@
|
while :
|
||||||
|
do
|
||||||
|
acc=$(accounts)
|
||||||
|
if [ "$acc" == "" ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
eid=$(emails $acc $@)
|
||||||
|
if [ "$eid" != "" ]; then
|
||||||
|
res=$(himalaya -a $acc read -t html $eid)
|
||||||
|
echo $res | head -n 2
|
||||||
|
echo -e "\n===============================================================================\n"
|
||||||
|
echo $res | tail -n +3 | w3m ${w3m_opts[@]}
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue