Files
dotfiles/hyprland/waybar/scripts/fcitx5-monitor.sh
kokopi-dev 2f27c335cf migration
2025-10-28 16:23:11 +09:00

28 lines
803 B
Bash
Executable File

#!/bin/bash
current_im=$(fcitx5-remote -n 2>/dev/null)
if [[ "$current_im" == "anthy" ]]; then
CURRENT_STATUS="JP"
else
CURRENT_STATUS="EN"
fi
dbus-monitor --session "type='signal',interface='org.fcitx.Fcitx.InputContext1',member='CurrentIM'" 2>/dev/null | \
while IFS= read -r line; do
if [[ "$line" == *"member=CurrentIM"* ]]; then
# Read the next line which contains the input method string
read -r im_line
if [[ "$im_line" == *"Anthy"* ]]; then
NEW_STATUS="JP"
else
NEW_STATUS="EN"
fi
# Only refresh if status actually changed
if [[ "$NEW_STATUS" != "$CURRENT_STATUS" ]]; then
sleep 0.1
pkill -RTMIN+8 waybar
CURRENT_STATUS="$NEW_STATUS"
fi
fi
done