LINUX.ORG.RU

Встроенная переключалка раскладки в IceWM

 , ,


0

1

Балусь тут со старым нетбуком (нашлась планка памяти в ящике стола, оказалось — подходит). Но всё равно там только 2 Гб, так что решил настроить icewm для экономии (-300 мб после загрузки получилось). Потихоньку сделал его более привлекательным визуально, чем дуга электросварки. Однако по части переключения раскладки я чота п. Ман учит нас, что есть две опции для ~/.icewm/preferences, одна задаёт список раскладок, другая клавиши для переключения. Написал:

KeyboardLayouts="us","ru"
KeySysKeyboardNext="Ctrl+Shift"

Появился значок us/ru, кликом переключается, ctrl+shift'ом нет. Как заставить эту штуку работать?

★★★★★

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

Чем оно не такое? Сам icewm, насколько я понимаю, setxkbmap и дергает по хоткею:

Please note that for keyboard layout switching to work, the setxkbmap program must be installed.

Так что я по аналогии с другими комбинациями хоткеев в конфигах всё того же icewm-а свой и написал.

Smacker ★★★★★
() автор топика
Ответ на: комментарий от Smacker

Чем оно не такое?

Состоит только из модификаторов.

Сам icewm, насколько я понимаю, setxkbmap и дергает по хоткею

Не думаю, что его автор настолько глуп. Достаточно один раз вызвать с нужными параметрами. Посмотри в исходных кодах, как оно передаёт опции XKB.

anonymous
()
Ответ на: комментарий от anonymous

Состоит только из модификаторов.

Ну тут мне суть претензии не очень понятна, у меня везде переключение на lctrl+lshift настроено, хотя и через высокоуровневые инструменты, в конфиг иксов я последний раз залезал чуть ли не при Борис-Николаиче.

Не думаю, что его автор настолько глуп. Достаточно один раз вызвать с нужными параметрами. Посмотри в исходных кодах, как оно передаёт опции XKB.

Да я вот тоже об этом подумал, но смутил формат для KeyboardLayouts — почему не «x,y,z» как полагается, а три строки отдельно? Зачем потом конкатенацию делать?

Smacker ★★★★★
() автор топика
Ответ на: комментарий от Smacker

Ну тут мне суть претензии не очень понятна

Это обычный хоткей оконного менеджера, насколько я могу судить, не ISO_Next_Layout, соответственно оно вряд ли будет работать в таком виде. Попробуй добавить нормальную клавишу для проверки. Если и так не работает, то можно попробовать формат XKB как для setxkbmap.

anonymous
()
Ответ на: комментарий от anonymous

Попробовал «grp:ctrl_shift_toggle», «Ctrl+L», «Ctrl+l» и «F3» — не работает. Что же icewm хочет получить в этом параметре?

Smacker ★★★★★
() автор топика
Последнее исправление: Smacker (всего исправлений: 1)
Ответ на: комментарий от anonymous

Сам icewm, насколько я понимаю, setxkbmap и дергает по хоткею

Не думаю, что его автор настолько глуп

Да? Это же типичные иксовые дидопрограммисты:

#: src/wmmgr.cc:3667
msgid "Missing program setxkbmap"
msgstr ""
#: src/wmmgr.cc:3668
msgid "For keyboard switching, please install setxkbmap."
msgstr ""

Странно от иксовой «экосистемы» ожидать нормального IPC, а не таких вот говнопалок.

EXL ★★★★★
()
Ответ на: комментарий от anonymous

Я проглядел самое главное. Опция KeySysKeyboardNext появилась только в (барабанная дробь) 2.9.7 в прошлом году (в 2022 году, Карл!). В репозитории текущего минта оказался, конечно же, ровно 2.9.6. Я скачал текущий (3.4.5 почему-то) и собрал в deb-пакет. Теперь работает. Ctrl+Shift не годится, Ctrl+Shift+Space / Ctrl+Space фунциклирует, ничего более удачного мне на ум не пришло.

Smacker ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Я к тому, что я привык lctrl+lshift использовать. Всё остальное мне не очень как-то, а уж super или нет дело десятое. Плюс icewm захардкодили открывать меню по lwin, а у меня там, как у любого приличного человека, конечно же Compose.

Smacker ★★★★★
() автор топика
Ответ на: комментарий от Smacker

Я к тому, что я привык lctrl+lshift использовать.

Ну так не используй тогда эту встроенную хрень, один вызов setxkbmap в автозапуске — и всё будет привычно 🤷 Какое-то превозмогание ради непонятно чего.

anonymous
()
Ответ на: комментарий от anonymous

xxkb это не замена исковой переключалке, а гуи-дополнение к ней. Переключается одинаково хорошо что с ним что без него, но без него не видно какая сейчас раскладка и нельзя переключить мышкой.

firkax ★★★★★
()
Ответ на: комментарий от firkax

не совсем так.

-для каждого окна приложений запоминается текущее состояние клавиатуры и автоматически восстанавливается при изменении фокуса;

  • если в XKB групп (раскладок) больше двух, то xxkb позволяет выбрать в каждом приложении одну из альтернативных раскладок, и в дальнейшем переключаться только между двумя выбранными раскладками
anonymous
()
Ответ на: комментарий от firkax

У меня на 2-ом альте не падал и на 12 дебиане тоже не падает.

Но при перзагрузке/смене-темы icewm выпрыгивает из трея и болтается хрен знает где и в трей назад не хочет ползти…

anonymous
()
Ответ на: комментарий от anonymous

Это опциональный функционал (я его например никогда не использовал) и всё равно он работает в дополнение к дефолтной иксовой переключалке, а не вместо неё.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от anonymous

для каждого окна приложений запоминается текущее состояние клавиатуры и >автоматически восстанавливается при изменении фокуса; По моим наблюдениям - довольно часто восстанавливается не то и не туда. Вот именно что для «каждого окна»,а этим каждым окном может оказаться и что-нибудь всплывшее для «нажмите Ok/Cancel»,вообще полей ввода не имеющее. В таком окне переключится на дефолтную латиницу,а потом обратно в основной программе может не вернуться на русский. Также не всегда хорошо дружит с терминалом если в нем запущен mc и там были выключены панели по ctrl-o,потом включены обратно. А в соседнем окне - текстовый редактор с русским текстом. Может начать набирать в командной строке в терминале тоже по-русски. Но я на такие мелочи внимания не обращаю,мне не трудно и самому нужную раскладку в таких (не сильно частых) случаях включить.

watchcat382
()
Ответ на: комментарий от anonymous

У меня на 2-ом альте не падал и на 12 дебиане тоже не падает.

У меня xxkb вообще нигде в падениях не был замечен,в том числе даже на одноплатном компе с Дебианом для архитектуры ARM.

Но при перзагрузке/смене-темы icewm выпрыгивает из трея и болтается хрен >знает где и в трей назад не хочет ползти… Да,это правда. Но ситуация эта случается очень не часто так как смена темы или перезапуск wm без перезапуска вообще всего - явление редкое. Ничуть не удивлен если авторы xxkb её специальную обработку не предусматривали.

watchcat382
()