summaryrefslogtreecommitdiff
path: root/ar/.local/bin/statusbar/sb-keyboard
blob: 63290208364254f84a34b45820caccbb89b7c11b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh

# works on any init system
# requirements: dmenu, xorg-setxkbmap
kb="$(setxkbmap -query | grep -oP 'layout:\s*\K\w+')" || exit 1

case $BLOCK_BUTTON in
1) fcitx5-remote -t && kill -44 "$(pidof "${STATUSBAR:-dwmblocks}")" ;;
2)
  kb_choice="$(awk '/! layout/{flag=1; next} /! variant/{flag=0} flag {print $2, "- " $1}' /usr/share/X11/xkb/rules/base.lst | dmenu -l 15)"
  [ -z "$kb_choice" ] && exit 0
  kb="$(echo "$kb_choice" | awk '{print $3}')"
  setxkbmap "$kb"
  pkill -RTMIN+10 "${STATUSBAR:-dwmblocks}"
  ;;
3) notify-send "⌨️ Input Method module" "\- Shows current input method (defalt US)
- Left click to switch language (EN/KO)
- Middle click to change keyboard" ;;
6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;;
esac

if [ "$kb" = "us" ] || [ "$kb" = "kr" ]; then
  if [ "$(fcitx5-remote)" -eq 1 ]; then
    echo "⌨️US"
  elif [ "$(fcitx5-remote)" -eq 2 ]; then
    case "$(fcitx5-remote -n)" in
    *ko* | *Korean* | *hangul*) echo "⌨️KO" ;;
    *) echo "⌨️$(setxkbmap -query | grep 'layout:' | sed 's/layout:\s*\(\S*\)/\1/g')" ;;
    esac
  else
    echo "⌨️??"
  fi
else
  echo "⌨️$kb"
fi