Awesome: несколько вопросов к пользующимся.

Поставил сабж на чистую установку на ееепц. Уже неделю пытаюсь с ним разобраться, но есть несколько вопросов. (ПОнятное дело, есть больше, но они или могут подождать, или не важные). Конкретно, по виджетам.
Можно ли сделать виджет, отображающий раскладку, переключаемые "иксами". Гуглил в поисках готового решения, не нашел.
И ищу примеры виджета состояния батарейки с acpid. и прочими прибамбасами. То, что я нашел, просто валило awesom, а сам написать пока не могу.
shlomo
Можно ли сделать виджет, отображающий раскладку, переключаемые "иксами".
Не знаю, что вы имеете в виду. Но я расскажу, как сделано у меня. Настраивайте переключение раскладок через xorg, например создав файл /etc/X11/xorg.conf.d/20-keyboard-layout.conf со следующим содержимым:
Section "InputClass"
	Identifier             "keyboard-layout"
	MatchIsKeyboard        "on"
	Option "XkbLayout" "us,ru"
	Option "XkbOptions" "grp:caps_toggle,grp_led:scroll"
EndSection
Соответственно поменяйте caps на нужное вам сочетание клавиш. Далее ставите kbdd из AUR. В свой rc.lua добавляете примерно следующее:
kbdwidget = wibox.widget.textbox()
kbdwidget:set_markup(" En ")
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]
    lts = {[0] = " En ", [1] = " Ru "}
    kbdwidget:set_markup(" " .. lts[layout])
    end
)
Далее, добавляете этот kbdwidget на панель, найдя эти примерно строки и добавив строку, выделенную жирно

for s = 1, screen.count() do
...
local right_layout = wibox.layout.fixed.horizontal()
right_layout:add(kbdwidget)
right_layout:add(mytextclock)
...
end

После перезапуска авсома, у вас должен появиться этот виджет. Отображение переключения раскладок будет мгновенным. Можно еще сделать переключение мышью, если вам надо будет.
У меня реализовано чуть сложнее, меняется не только текст, но и картинка под текстом:



На счет виджетов батареи и других, ставьте vicious и читайте это.
Попробовал сделать такой виджет, но он жалуется на по очереди на все виджеты, которые у меня есть... Не понятно, почему он конфликтует...
Конфиг давайте свой весь, выложите куда нибудь на pastebin.com
http://pastebin.com/mLKZD9nr
battext = wibox.widget.textbox("battext")
function battery_status_text(widget, args)
    local perc = args[2]
    if perc < 15 then
        return '| BAT: ' .. '<span color="red">' .. perc .. '%</span>'
    elseif perc < 50 then
        return '| BAT: ' .. '<span color="yellow">' .. perc .. '%</span>'
    end
    return '| BAT: ' .. '<span color="#8EAE6E">' .. perc .. '%</span>'
end
vicious.register(battext, vicious.widgets.bat, battery_status_text, 120, "BAT0")
с батарейкой у меня так. Ну и включить ее. Раскладка вроде где то на гентушном форуме/вики была
PGP 0x31361F01
arcanisrepo
arcanis , апплет батарейки у меня и так работает. ТОлько я хочу чтобы он оставшиеся время выводил, и все пичивки, роде изменения цвета при подключенном адаптере. А так он работает
shlomo
arcanis , апплет батарейки у меня и так работает. ТОлько я хочу чтобы он оставшиеся время выводил, и все пичивки, роде изменения цвета при подключенном адаптере. А так он работает
а, тогда я не так понял) Я на это дело подзабил. Вообще и то и другое достигается парсингом файлов:
/sys/class/power_supply/AC/online - для подключенного адаптора питания там 1, отключенного 0
/sys/class/power_supply/BAT0/energy_now - для оставшегося времени. Обращаться к файлу с определенным интервалом, по разнице определять сколько осталось времени.
По крайней мере я такие конфиги видел для старого авесама. Это как вариант.

Второй вариант - vicious - в том же виджете. Если не ошибаюсь, args[1] - состояние батареи, args[3] - время.
PGP 0x31361F01
arcanisrepo
Блин, вообще я конечно забыл добавить закрывающую скобку после end. Вот так должно быть
kbdwidget = wibox.widget.textbox()
kbdwidget:set_markup(" En ")
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]
    lts = {[0] = " En ", [1] = " Ru "}
    kbdwidget:set_markup(" " .. lts[layout])
    end
)
И надо не забыть запустить kbdd, конечно
serkhay , супер! Все работает! Мерси!
 
Зарегистрироваться или войдите чтобы оставить сообщение.