Я использую обычный XMonad в течение некоторого времени (не в сочетании с KDE/GNome). В настоящее время я переключаюсь между раскладками клавиатуры просто с помощью комбинации клавиш во всем мире:
[ ((modMask , xK_Scroll_Lock ),
spawn "setxkbmap -layout us ; xmodmap ~/.Xmodmap")
, ((modMask .|. shiftMask, xK_Scroll_Lock),
spawn "setxkbmap -layout cz ; xmodmap ~/.Xmodmap") ]
Однако это немного неудобно. Для многих окон (т. Е. Браузера, терминала) мне нужно большую часть времени сохранять макет в США. Мне нужен локализованный макет только для текстовых редакторов в 99% случаев. И я много переключаю окна / рабочие пространства, поэтому мне приходится переключать раскладки вручную почти каждый раз, когда я переключаюсь.
В идеале я бы хотел добиться:
- Нажав комбинацию клавиш, я установил флаг для текущего окна.
- XMonad вызывает команды
spawn
автоматически в соответствии с флагами при изменении фокуса окна.
Как это сделать (если это возможно)? Спасибо за помощь.
(Бонус: внешнее управление флагами с помощью некоторой команды из сценариев.)