Управляйте ярлыком по умолчанию Super+Space для переключения для следующего ввода источника без графического представления

У меня есть две команды, они связываются с клавишей Caps Lock и Shift+CapsLock, как упомянуто в этом Вопросы и ответы Немодальный/не сохраняющий состояние язык расположения, переключающийся с Caps Lock, снова (18.04 Бионических Бобров LTS)

Мое требование состоит в том, чтобы переключить языки с Super+Space без графического представления на экране.

enter image description here

Я отключил ярлыки по умолчанию для переключателя для следующего ввода источника и предыдущего входного источника.

enter image description here

теперь я могу связать любую команду с Super+Space как ниже

enter image description here

Мысли:

Возможно дать эти две команды как два ярлыка, например:

Super+Space для английского языка
Shift+Super+Space для украинского языка

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

Когда значение 1 в "inputSource []" изменения языка в украинском языке и если это - 0 изменений языка в английском языке

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

Вопрос:

Я ищу команду, которая может считать приведенную стоимость и изменение в другом значении среди 0 и 1 в ниже команды так, чтобы я мог переключить языки без потребности Shift+Super+Space

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"
1
задан 17 April 2019 в 16:55

1 ответ

С помощью @danzel, ссылка, предоставленная им.. https://github.com/Nekotekina/kbhook/blob/master/layout_rotate.sh

Я сохранил ниже сценария как ~/SL.sh и созданный ярлык с Super+Space как
/bin/bash /home/pratap/SL.sh

enter image description here

#!/bin/bash

CURRENT=`gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().currentSource.index"`

if [ "$CURRENT" == "(true, '1')" ]; then
  gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"
else
  gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"
fi

теперь Super+Space переключает Языки без графического представления, которое я искал..

enter image description here

благодаря @danzel еще раз

0
ответ дан 17 April 2019 в 16:55

Другие вопросы по тегам:

Похожие вопросы: