[РЕШЕНО] Переключение раскладки в awesome

valera_cr
Все, больше ничего нигде нет.
Должно быть что то ещё! Так как у меня все настройки те же самые, но проблема остаётся.

Пока решил так:
awful.util.spawn_with_shell("sleep 10 && kbdd")
Что бы kbdd гарантированно запускался, когда awesome полностью загрузиться. Как-то кастыльно наверное, но работает, как надо. Если у кого то есть соображения, пожалуйста пишите.
Если у кого то есть соображения, пожалуйста пишите.
kbdd, как и ряд других необходимых (и адекватно работающих в случае неожиданных изменений и отказа awesome) демонов стартуют непосредственно из .xinitrc (ранее, чем WM)
Индикатор раскладки в трэе был когда-то благополучно выпилен - зачем он, ведь, есть же лампочка на клаве, если иначе никак, но очень нужно :) Разве что локалей больше, чем две или для "красоты" ?
УМВР.
kbdd пускаю через run_once.
kbdwidget = wibox.widget.textbox(" eng ")
kbdwidget:set_markup(" eng ")
kbdstrings = {[0] = " eng ", [1] = " руc "}
dbus.request_name("session", "ru.gentoo.kbdd")
dbus.add_match("session", "interface='ru.gentoo.kbdd',member='layoutChanged'")
dbus.connect_signal("ru.gentoo.kbdd",
    function(...)
        local data = {...}
        local layout = data[2]
        kbdwidget:set_markup(kbdstrings[layout])
    end
)
Ну не работает у меня, хоть тресни! Оптисанное ранее решение , почему то сейчас тоже не работает.

redpunk
Индикатор раскладки в трэе был когда-то благополучно выпилен - зачем он...
Трей меня не интересует! Мне нужно чтобы для каждого окна была своя роскладка. Напр. - пишу что то в терминале, естственно Eng, переключаюсь в текстовый редактор - там уже нужен Rus. Потом перекл. назад в терминал - "он" помнит, что был Eng, потом опять иду в редактор - он тоже должен помнить свою раскладку. Сейчас у меня при переключении на другие окна - всегда раскладка по умолчанию (Eng) - надоело.
Раньше всё работало, потом решил переустановить систему заново. Все конфиги остались старые - но не работает! То ли я дурак, то ли лыжи не едут.

redpunk, да у меня всё тоже самое.

Друзья, помогите разобраться!
xxkb пробовали?
у меня он нормально помнит выбранные для окон раскладки

мой ~/.xxkbrc
XXkb.controls.two_state: yes
XXkb.controls.add_when_start: yes
XXkb.controls.add_when_create: yes
XXkb.controls.add_when_change: yes
XXkb.controls.focusout: yes
XXkb.group.base: 1
XXkb.group.alt: 2
XXkb*label.text.1: EN
XXkb*label.text.2: RU
XXkb.mainwindow.type: tray
XXkb.mainwindow.label.enable: yes
XXkb.mainwindow.enable: no
XXkb.mainwindow.appicon: no
XXkb.mainwindow.geometry: 20x20+0+0
XXkb.mainwindow.label.background: #3F3F3F
XXkb.mainwindow.label.foreground: #BFBFBF
XXkb.mainwindow.label.font: -misc-*-r-*-20-*
Я убирал отображение в трей, а выводил в виджет тем способом, который привёл выше (через skb 1)
Попробуйте, может и у Вас заработает (у меня в xmonad сейчас работает, правда у меня трея сейчас в принципе нет)

http://man.cx/xxkb
XXkb.mainwindow.enable: no
XXkb.mainwindow.in_tray: no
XXkb.mainwindow.label.enable: no
XXkb.mainwindow.appicon: no
и в трее ничего не будет
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime, попробовал - вроде работает, но как-то с ошибками иногда. Если часто, много раз переключаться между двумя окнами (одно русское, другое английское), их раскладки меняются местами.
Koгда правильно запускать xxkb и skb? В rc.lua?
sankarsana,
запуск xxkb у меня прописан в ~/.xinitrc
setxkbmap -layout us,ru -variant -option grp:caps_toggle,terminate:ctrl_alt_bksp &
xxkb &
а skb вообще запускать не надо - он вызывается виджетом, как прописано в rc.lua
local function lang_output()
    local f = io.popen("skb 1")
    local out = f:read("*a")
    f:close()
    return { out }
end
mylangbox = wibox.widget.textbox()
vicious.register(mylangbox, lang_output, "<span font=\"Terminus Re33 12\">$1</span>", 1)
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime, зделал как Вы советовали, всё работает.
Спасибо всем за советы! Буду считать, что вопрос решён. Хотя так и не понял, почему у меня kbdd не хочет работать как надо?
А до этого у Вас 20-keyboard-layout.conf запуском setxkbmap -layout us,ru где-нибудь в .xinitrc или в rc.lua нигде не дублировался?
Может из-за этого?
valera_cr
А до этого у Вас 20-keyboard-layout.conf запуском setxkbmap -layout us,ru где-нибудь в .xinitrc или в rc.lua нигде не дублировался?
Может из-за этого?
Нет, не дублировался. Проверял.
 
Зарегистрироваться или войдите чтобы оставить сообщение.