aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config/sway
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:30 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:30 +0100
commit63a171d6b989f3a0b7250ff1621e6630a37345ea (patch)
tree1fca0f69891463159be564d38224ac6e4769afc5 /dot_config/sway
parent16c40e19c6868aebe904f41ede7d0766d8dbeca6 (diff)
downloaddotfiles-63a171d6b989f3a0b7250ff1621e6630a37345ea.tar.gz
dotfiles-63a171d6b989f3a0b7250ff1621e6630a37345ea.tar.bz2
dotfiles-63a171d6b989f3a0b7250ff1621e6630a37345ea.zip
feat(emoji): filter out skin-tone variants in bemoji picker
Skin-tone modifiers (U+1F3FB..U+1F3FF) clutter search results with five near-duplicates per people-emoji. New ~/.config/sway/emoji-picker.sh wraps bemoji and pipes its emoji list through grep -vP before handing it to wofi. Quoting was getting hairy inline in sway's exec, so the wrapper script makes it readable.
Diffstat (limited to 'dot_config/sway')
-rw-r--r--dot_config/sway/config2
-rw-r--r--dot_config/sway/executable_emoji-picker.sh11
2 files changed, 12 insertions, 1 deletions
diff --git a/dot_config/sway/config b/dot_config/sway/config
index 2c3d94d..3dba142 100644
--- a/dot_config/sway/config
+++ b/dot_config/sway/config
@@ -180,7 +180,7 @@ bindsym $mod+p exec ~/.config/waybar/clip-picker.sh pick
bindsym $mod+Shift+p exec ~/.config/waybar/clip-picker.sh delete
# Emoji picker (bemoji → wofi → wtype + clipboard)
-bindsym $mod+period exec env BEMOJI_PICKER_CMD="wofi --dmenu --prompt Emoji --style $HOME/.config/wofi/style.css" bemoji -tc
+bindsym $mod+period exec ~/.config/sway/emoji-picker.sh
# Display mode switching
bindsym --no-repeat XF86Display exec ~/.config/sway/display-toggle.sh
diff --git a/dot_config/sway/executable_emoji-picker.sh b/dot_config/sway/executable_emoji-picker.sh
new file mode 100644
index 0000000..e713d0d
--- /dev/null
+++ b/dot_config/sway/executable_emoji-picker.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+# Bemoji wrapper: drop skin-tone variants (U+1F3FB..U+1F3FF) so the
+# picker isn't cluttered with five copies of every people-emoji.
+# Bemoji pipes its emoji list to $BEMOJI_PICKER_CMD on stdin.
+set -eu
+
+filter='LC_ALL=C.UTF-8 grep -vP "[\x{1F3FB}-\x{1F3FF}]"'
+picker="wofi --dmenu --prompt Emoji --style $HOME/.config/wofi/style.css"
+
+export BEMOJI_PICKER_CMD="sh -c '$filter | $picker'"
+exec bemoji -tc "$@"