Add a default case for ibus-next-engine

This commit is contained in:
Natsu Kagami 2022-09-21 08:12:23 +02:00
parent 4d90b684d4
commit 53ceae2137
Signed by: nki
GPG key ID: 7306B3D3C3AD6E51

View file

@ -17,16 +17,18 @@ let
else nextRec (tail l); else nextRec (tail l);
in in
nextRec input-methods; nextRec input-methods;
inputCase = m: '' changeTo = m: ''
if test $current = "${m}"
${pkgs.libnotify}/bin/notify-send \ ${pkgs.libnotify}/bin/notify-send \
-a ibus \ -a ibus \
-u low \ -u low \
-t 3000 \ -t 3000 \
"${next m}" \ "${m}" \
"Input engine changed" "Input engine changed"
${pkgs.ibus}/bin/ibus engine ${next m} ${pkgs.ibus}/bin/ibus engine ${m}
end '';
inputCase = m: ''
case "${m}"
${changeTo (next m)}
''; '';
in in
pkgs.writeScriptBin "ibus-next-engine" '' pkgs.writeScriptBin "ibus-next-engine" ''
@ -34,7 +36,11 @@ let
set current (${pkgs.ibus}/bin/ibus engine) set current (${pkgs.ibus}/bin/ibus engine)
switch $current
${strings.concatMapStrings inputCase input-methods} ${strings.concatMapStrings inputCase input-methods}
case '*'
${changeTo (head input-methods)}
end
'' ''
); );