From 56ae0f1bab1efeb3dc65eeef43d47a02835efc3d Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Tue, 11 Apr 2023 22:55:23 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=90=9B=20Pass=20through=20stdin=20to?= =?UTF-8?q?=20custom=20typing=20tool=20(#19)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, stdin contents were consumed and then not passed through to the typing tool. With this commit, they are correctly passed to any custom tool's stdin. Fixes #19. --- CHANGELOG.md | 1 + README.md | 2 ++ bemoji | 7 +++++-- test/bemoji_cmds.bats | 5 +++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8b0972..2786a06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Always download from newest emoji list url +- Pass selection to custom typing tools through stdin diff --git a/README.md b/README.md index f87eb72..4986da3 100644 --- a/README.md +++ b/README.md @@ -222,6 +222,8 @@ BEMOJI_CLIP_CMD="path/to/your/clipboard/tool" BEMOJI_TYPE_CMD="path/to/your/xdotool" ``` +The candidate list (in the case of picker tool) or the picked selection are passed to the tools through stdin. + This is pretty experimental and you'll have to see how well it works for you. The setting can not be changed through the commandline alone. diff --git a/bemoji b/bemoji index 1a7c35a..10ce980 100755 --- a/bemoji +++ b/bemoji @@ -165,11 +165,14 @@ _clipper() { # Set default typing uti _typer() { - totype=$(cat -) if [ -n "$BEMOJI_TYPE_CMD" ]; then # shellcheck disable=SC2068 ${BEMOJI_TYPE_CMD[@]} - elif [ -n "$WAYLAND_DISPLAY" ] && command -v wtype >/dev/null 2>&1; then + return + fi + + totype=$(cat -) + if [ -n "$WAYLAND_DISPLAY" ] && command -v wtype >/dev/null 2>&1; then wtype -s 30 "$totype" elif [ -n "$DISPLAY" ] && command -v xdotool >/dev/null 2>&1; then xdotool type --delay 30 "$totype" diff --git a/test/bemoji_cmds.bats b/test/bemoji_cmds.bats index 2b0a176..ced326c 100644 --- a/test/bemoji_cmds.bats +++ b/test/bemoji_cmds.bats @@ -54,6 +54,11 @@ setup() { typing result" } +@test "Passes selection to custom typer tool through stdin" { + BEMOJI_TYPE_CMD="cat -" run bemoji -t 3>&- + assert_output "❤️" +} + @test "Runs custom default command" { BEMOJI_DEFAULT_CMD="echo my custom command" run bemoji 3>&- assert_output "my custom command" From 941dd4aaeabcfa7681c708b8a8b79571f9acc948 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Tue, 11 Apr 2023 23:17:52 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=96=20Change=20AUR=20instructions?= =?UTF-8?q?=20to=20fit=20multiple=20packages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Generalized AUR package installation instructions slightly to take note of the fact that there are multiple AUR packages available for bemoji. Thanks to @thayne for packaging up the semver release version of bemoji for the AUR! --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4986da3..78f1b02 100644 --- a/README.md +++ b/README.md @@ -43,10 +43,10 @@ ln -s bemoji/bemoji /usr/local/bin/bemoji ### Arch Linux -On Arch Linux, bemoji has been packaged for the [AUR](https://aur.archlinux.org/packages/bemoji-git) so it can be installed manually from here or easily with your preferred AUR helper, e.g.: +On Arch Linux, bemoji has been packaged for the [AUR](https://aur.archlinux.org/packages?K=bemoji) so it can be installed manually from here or easily with your preferred AUR helper, e.g.: ```bash -paru -S bemoji-git +paru -S bemoji ``` ## 💿 Usage