LINUX.ORG.RU

Перманентная английская раскладка для rofi

 


0

1

Имеется запускатор команд (и не только) по имени rofi. Когда её запускаю по хоткею, то раскладка , как , наверное и должно быть, остаётся той , что стояла до этого. Это , естественно, неудобно, ибо все команды вводятся на английском. Как задать для rofi раскладку по умолчанию ? Если что, вот весь вывод xprop:

_NET_WM_WINDOW_OPACITY(CARDINAL) = 3994319584
WM_NAME(STRING) = "rofi"
_NET_WM_STATE(ATOM) = _NET_WM_STATE_ABOVE

★★★★★

Костыльно можно сделать скрипт для запуска rofi, проверяющий текущую раскладку и меняющий ее если необходимо.

MLP_Fan ★★
()

kbdd
может отдельно запоминать раскладку для каждого окна, у меня новые окна в раскладке номер 1(англ), не знаю настаивается ли, автор есть на лоре.

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

Что у тебя отвечает за ракладку?

kbdd

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

Нарыл xkb-switch, но вот не знаю в какое место его прикрутить. Если сделать так:

rofi = "xkb-switch -s us && rofi [...] -show run"
...
awful.key({ modkey},"r",function() awful.util.spawn(rofi) end),
То ничего не работает.

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

А awesome открывает subshell? Уверен, что конструкция && сработает? Вариант в лоб - создать sh-скрипт с последовательностью команд.

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

Раз пользуешься этим асомным скриптотерминаторным говном, так хоть разберись, как оно работает, хотя бы на примитивном уровне.

Смотри, одной строчкой в i3:

bindsym $mod+d exec xkb-switch -s us && rofi -show run -font "PT Sans Caption-10"

И всё пашет! И никаких ламо-вопросов на ЛОР-е.

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

если у тебя awesome, то для этого окна напиши правило с переключением раскладки через дбас на нужную тебе
qdbus ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.set_layout 0

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

ну тогда учись, вики осома и конфиги/модули прекрасный материал, а на форумах задавать элементарные вопросы... Ну как то это даже не прилично.

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

Там у rofi нет класса, только «name».
Что прям так писать ?

#change keyboard layout

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

Пока вот такая штука заработала:

#/bin/bash
xkb-switch -s us &
rofi [...] -show run &
Но хотелось бы , чтобы скрипт сначала проверял текущую раскладку: если она английская , то просто запускался бы rofi , а если русская , то она бы менялась на английскую , потом запускался бы rofi, а поcле закрытия rofi раскладка снова менялась бы на русскую. Не знаете, как такое реализовать ?

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

открытие и закрытие приложения здесь ни причем, тебе явно нужна английская раскладка при фокусе на rofi, так что используй правило которое я написал, вместо комментария вызови смену раскладки как тебе удобней, будь то kbdd через dbus или xkb-switch
подробнее смотри в гугле awesome wm signals
и тд

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

ну тогда обрабатывать именно сигнал manage, при желании можно и unmanage( запуск и завершение программы-окна)

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

Всё , сам разобрался, просто я не знал как через kbbd , а через xkb-switch оказалось легко. Вопрос решён. Данный скрипт меня вполне устраивает.

#/bin/bash
l=$(xkb-switch)
if l=ru; then
xkb-switch -s us && rofi [...] -show run
xkb-switch -s ru
else
rofi [...] -show run
fi
sudopacman ★★★★★
() автор топика
Ответ на: комментарий от sudopacman

Сколько сложностей, при том что можно было просто через dbus переключить язык kbdd, после открытия rofi, тогда kbdd сам после закрытия его вернул бы нужную тебе. Но главное результат :)

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

Я не знал как через dbus переключать раскладку. Не хватило мозгов почитать маны. Через xkb-switch как-то короче и проще.

вернул бы нужную тебе

Кто его знает, вдруг там проверка по классу, которого у rofi нет. Я думаю , именно пэтому когда открывается rofi остаётся текущая раскладка , а когда открывается terminator , то раскладка английская.

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

можно ещё dbus-send но там синтаксис другой копипастой тоже самое не сделать.
qdbus поставить не вышло видимо? :)
Вообщем, ты явно забанен в гугле, да и живешь без пакетного менеджера.

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

Пишу:

~ > yaourt qdbus

Ничего не выдаёт (наверное там другое название пакета , надо гуглить).Видимо у меня уже тупняк от столь долгого лазенься в конфигах наступил. Лень в этом dbus'e копаться было, работает, вроде нормально , без костылей (а может и с костылями), да и фиг с ним. А вообще, я странный , не отрицаю.

sudopacman ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.