LINUX.ORG.RU

Awesome криво читает rc.lua


0

1

Начал пользоваться awesome. Убойная весчь! Первое, что я сделал - это изменил названия тегов. Оно заработало. Далее я решил прикрутить виджет громкости obvious.volume_alsa. Неработает. Клавиатурное сокращение mute (c wiki) также неработает. Пробовал писать в разные места, по-всякому. Не пашет и все тут. Также со сторокой в конфиге «mywibox = awful.wibox({ position = „bottom“, screen = s})» панель по-прежнему сверху. Причем сам конфиг вроде читается, т.к. если откровенно изгадить код, awesome грузит конфиг из /etc. Подскажите что я делаю не так? И, кстати, как делать хоткеи на проги? Пробовал сам накатать функцию ничего не получилось.

Вот куски из rc.lua (весь код форум поместить не дал) [spoiler]

-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
    tags[s] = awful.tag({ "net", "term", "work", "media", 5, 6, 7, 8, 9 }, s, layouts[1])
end

--------------------------------------------

-- {{{ Wibox

-- My Widgets
require("obvious.volume_alsa")
obvious.volume_alsa.setchannel("Master")
myalsa = obvious.volume_alsa()

--require("obvious.cpu")
--mycpu = obvious.cpu()

-- Create a textclock widget
--mytextclock = awful.widget.textclock({ align = "right" })

-- Create a systray
--mysystray = widget({ type = "systray" })

-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
                    awful.button({ }, 1, awful.tag.viewonly),
                    awful.button({ modkey }, 1, awful.client.movetotag),
                    awful.button({ }, 3, awful.tag.viewtoggle),
                    awful.button({ modkey }, 3, awful.client.toggletag),
                    awful.button({ }, 4, awful.tag.viewnext),
                    awful.button({ }, 5, awful.tag.viewprev)
                    )
mytasklist = {}
mytasklist.buttons = awful.util.table.join(
                     awful.button({ }, 1, function (c)
                                              if not c:isvisible() then
                                                  awful.tag.viewonly(c:tags()[1])
                                              end
                                              client.focus = c
                                              c:raise()
                                          end),
                     awful.button({ }, 3, function ()
                                              if instance then
                                                  instance:hide()
                                                  instance = nil
                                              else
                                                  instance = awful.menu.clients({ width=250 })
                                              end
                                          end),
                     awful.button({ }, 4, function ()
                                              awful.client.focus.byidx(1)
                                              if client.focus then client.focus:raise() end
                                          end),
                     awful.button({ }, 5, function ()
                                              awful.client.focus.byidx(-1)
                                              if client.focus then client.focus:raise() end
                                          end))
                                   

for s = 1, screen.count() do
    -- Create a promptbox for each screen
    mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = awful.widget.layoutbox(s)
    mylayoutbox[s]:buttons(awful.util.table.join(
                           awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
                           awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
                           awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
                           awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)

    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist(function(c)
                                              return awful.widget.tasklist.label.currenttags(c, s)
                                          end, mytasklist.buttons)

    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "bottom", screen = s})
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
        {
            --mylauncher,
            mytaglist[s],
            mypromptbox[s],
            layout = awful.widget.layout.horizontal.leftright
        },
        mylayoutbox[s],
        myalsa,
        --mycpu,
        --mytextclock,
        mytasklist[s],
        --s == 1 and mysystray or nil,
        layout = awful.widget.layout.horizontal.rightleft        
    }
end

-- }}}
[/spoiler]

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

Какой конкретно лог?

Мануал естественно читал.
Ты имеешь ввиду это:
function execute_command(command)
local fh = io.popen(command)
local str = «»
for i in fh:lines() do
str = str .. i
end
io.close(fh)
return str
end
Насколько я понял оно созвращает вывод в textboxes. Хотя попробовал ради интереса. Не работает.

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

Какой конкретно лог?

Иксовой сессии, конечно. Только не спутай с /var/log/Xorg.0.log

Мануал естественно читал.

Сильно сомневаюсь. awful.util.spawn

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

А какой еще может быть лог иксов кроме /var/log/Xorg.0.log?[br][br]

Попробовал[br] awful.key({ modkey, }, «s», function () awful.util.spawn( «sonata» ) end)[br] Не работает((

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

А какой еще может быть лог иксов кроме

Тот, в который вываливается stdout/stderr wm.

Чтобы его не искать, запусти

xinit /usr/bin/awesome -- :1 &> /tmp/awesome.log

Попробовал Не работает

У тебя в конфиге ошибка, до определения байндингов дело не доходит. Или вставляешь это выражение не туда.

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

Вот оно:
/usr/share/awesome/lib/awful/tag.lua:80: bad argument #1 to 'ipairs' (table expected, got nil)

Биндинг прописал в /etc/xdg/awesome/rc.lua. Заработало! Хз в чем дело. Попробовал прописать виджеты awesome не загрузился...

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

Пожалуйста:

X.Org X Server 1.10.2
Release Date: 2011-05-28
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.38-ARCH i686 
Current Operating System: Linux hell 2.6.39-ARCH #1 SMP PREEMPT Tue Jun 7 05:49:02 UTC 2011 i686
Kernel command line: root=/dev/sda1 ro
Build Date: 30 May 2011  08:30:30AM
 
Current version of pixman: 0.22.0
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Thu Jun 16 19:09:57 2011
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using config directory: "/etc/X11/xorg.conf.d"
/usr/share/awesome/lib/awful/tag.lua:80: bad argument #1 to 'ipairs' (table expected, got nil)
feh WARNING: The theme config file was moved from ~/.fehrc to ~/.config/feh/themes. Run
    mkdir -p ~/.config/feh; mv ~/.fehrc ~/.config/feh/themes
to fix this.
feh WARNING: The theme config file was moved from ~/.fehrc to ~/.config/feh/themes. Run
    mkdir -p ~/.config/feh; mv ~/.fehrc ~/.config/feh/themes
to fix this.

(<unknown>:8385): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «murrine»,

(<unknown>:8385): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «murrine»,

(<unknown>:8385): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «murrine»,

(operapluginwrapper:8393): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «murrine»,

(operapluginwrapper:8393): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «murrine»,

(operapluginwrapper:8393): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: «murrine»,

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

Надо было сразу целиком выкладывать. Сразу бы и решили.

На строчках 54-56 обнаружена лютость. Откуда это выдрано?

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

Лютость убрана, откуда выдрал не помню. Наверно в порывах отчаяния писал все подряд.
Но писал я осторожно. Ничего после удаления не поменялось...

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

Серьезно!
Я над этой проблемой бьюсь немало. Нужно уже решать, да не получается. Зачем мне обманывать.
Я никак сам до конца не поймк в чем тут дело.

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

Лог не смотрел...
Решил переставить awesome и поставить awesome-git. Т.к. на вики арча пишут, что ставить нужно именно его.
Итак:
Конечно все предварительно подчистил.
Он требует xcb-util и все, что с ним связанно. Начальный xcb-util ставит, а остальных в aur нет. Попытка поставить xcb-util-all выявила

checking for XCB_UTIL... no
configure: error: Package requirements (xcb-util) were not met:

No package 'xcb-util' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables XCB_UTIL_CFLAGS
and XCB_UTIL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
==> ОШИБКА: Произошел сбой в build().
    Преждевременный выход...
==> ERROR: Makepkg was unable to build xcb-util-all.

Далее последовала попытка скачивания всех пакетов отдельно. Опять же xcb-util поставил спокойно, а на xcb-util-image выплевывает ту же шнягу. Однако:

[dzusan@hell xcb-util-image-0.3.8]$ pacman -Qs xcb-util
local/xcb-util 0.3.6-1
    Utility libraries for XC Binding

Бред какой-то.

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