LINUX.ORG.RU

Ответ на: комментарий от gtk222

В поисках решения своего вопроса не раз заходил на эту ветку.
Темы схожие.
Неожиданно для себя я понял, что индикация раскладок клавиатуры на любых панелях по углам экрана - не рабочая и не эффективная тема.
По факту, кто смотрит на панель с индикацией текущей раскладки клавиатуры перед тем как набирать текст?
Вариант с нажатием правого ctrl для RU, а левого ctrl для EN - идея хорошая, но тоже далека от рефлектории человека.
Когда человек решил что-то написать он просто начинает писать.
И никто кроме него самого не знает на каком языке и какмими симловами он это будет делать.
Т.е. мысль о необходимости нажатия каких-то клавишь для смены раскладки клавиатуры приходит позже.
Результат тот-же - Backspacing.
И если посчитать сколько раз я Backspacing-ую, то становится печально.
При этом на панели в верхнем правом углу у меня есть индикация текущей раскладки.
В связи с чем, вижу единственный правильный варинт (для себя) это индикация раскладки клавиатуры с помощью курсора.
Т.е. сделать курсор в виде прямоугольника (можно мигающего), в которм разместить друг над другом (рядом друг с другом) 2-е буквы текущей раскладки.
И использовать данный курсор по умолчанию во всех приложениях.

RodoSlav
() автор топика
Последнее исправление: RodoSlav (всего исправлений: 3)
Ответ на: комментарий от ivama

А цвет самого курсора ни как нельзя менять в соответствии с раскладкой.

Цвет поменять можно, вопрос в обработке события смены раскладки:

echo -e "\e]12;#ff9922\a"
dmitry237 ★★★
()
Последнее исправление: dmitry237 (всего исправлений: 1)
Ответ на: комментарий от dmitry237

На просторах интернета нашёл ещё один способ определения текущей раскладки без sed, awk, perl и т.д.:

xset -q | while read -r line ; do [[ $line = *Group* ]] && line=${line//13*} && ([[ $line = *off* ]] && echo 'EN ' || echo 'RU ') && exit ; done

RodoSlav
() автор топика