summaryrefslogtreecommitdiff
path: root/.local/bin/chkb
blob: 6abe5ae9e3c45d811ee020a357adb58d69cf38d7 (plain) (blame)
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
#!/usr/local/bin/andy

set -e NOTIFY_LONG keyboard
set -e NOTIFY_SHORT `basename $args[0]

set KEYBOARD at-translated-set-2-keyboard

set s `{
	{
		hyprctl -j getoption input:kb_layout
		hyprctl -j getoption input:kb_variant
	}
	| jq -rn '
		[inputs]
		| map(.str | split(",\\s*"; "g"))
		| transpose
		| map("\(.[0]) (\(.[1]))")
		| .[]
	'
	| sed -E '
		s/[a-zA-Z]+/\u&/g
		s/Us \(Basic\)/English (US)/
	'
}

set choice `echo $s | osel
set n `echo $s | sed -n "/$choice/=" | { xargs expr -1 + || true }
hyprctl switchxkblayout $KEYBOARD $n >_
notify 'Keyboard Layout Changed' "The keyboard layout was changed to ‘$choice’"