summaryrefslogtreecommitdiff
path: root/bin/extra/cycleKB
blob: 5674786634dd78e33a459dbee7565bb7a8ca6ff8 (plain)
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env bash
keyboards_file="/home/aluc/bin/keyboards.txt"
cur_keyboard="$(setxkbmap -print | grep "xkb_symbols" | cut -f 2 -d "+")"
# Get line number of match
line="$(awk "/${cur_keyboard}/ {print NR}" "${keyboards_file}")"
lines="$(wc -l "${keyboards_file}" | cut -f 1 -d ' ')"
# cycle back to first line
[[ "$line" == "$lines" ]] && line=1 || ((line++))
new_keyboard="$(sed -n "${line}p" "${keyboards_file}")"
setxkbmap "${new_keyboard}"
dunstify "cycleKB" "keyboard: <b>${new_keyboard}</b>"