🐛 Fix newline option only applied to main command

When sending an emoji to clipboard or typing it with the <alt+1> and
<alt+2> shortcuts (currently only in rofi) the set newline option would
not be applied. This fixes it and unifies the way emoji are printed
using printf.

Fixes #41.
This commit is contained in:
Marty Oehme 2025-02-06 16:25:02 +01:00
parent 7543cca7d6
commit 155114aaec
Signed by: Marty
GPG key ID: EDBF2ED917B2EF6A

17
bemoji
View file

@ -287,6 +287,14 @@ exit_value="$?"
[ "$bm_private_mode" = true ] || add_to_recent "$result"
result=$(echo "$result" | grep -o '^\S\+' | tr -d '\n')
printout() { # $1=emoji
if [ "$bm_echo_newline" = true ]; then
printf "%s\n" "$*"
else
printf "%s" "$*"
fi
}
case "$exit_value" in
1)
exit 1
@ -295,21 +303,20 @@ case "$exit_value" in
if [ ${#bm_cmds[@]} -eq 0 ]; then
if [ -n "$bm_default_cmd" ]; then
# shellcheck disable=SC2068
echo "$result" | ${bm_default_cmd[@]}
printout "$result" | ${bm_default_cmd[@]}
exit
fi
bm_cmds+=(_clipper)
fi
for cmd in "${bm_cmds[@]}"; do
[ "$bm_echo_newline" = true ] && echo_opts= || echo_opts=-n
echo $echo_opts "$result" | "$cmd"
printout "$result" | "$cmd"
done
;;
10)
echo "$result" | _clipper
printout "$result" | _clipper
;;
11)
echo "$result" | _typer
printout "$result" | _typer
;;
esac
exit