Я пытаюсь настроить мой Awesome Window Manager для изменения номеров тегов на римские номера (изменение 1 для I, 2 для II ...). Для этого я модифицирую файл /etc/xdg/awesome/rc.lua, особенно раздел {{tags}}.Как изменить имена тегов AwesomeWM?
Я нашел this blog post, в которой ему удается изменить имена тегов по желанию, загляните в верхнем левом углу:
Я также прочитал rc.lua file прикрепленную к теме, и понял, что метод, используемый для того, что я хочу сделать, представляет собой цикл цикла в сочетании с некоторыми таблицами.
Это фрагмент кода интереса в файле:
-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
tagnames = { "irc", "mpd", "net", "usr", "png", "msg", }
taglayouts = {
awful.layout.suit.tile.top,
awful.layout.suit.tile.bottom,
awful.layout.suit.floating,
awful.layout.suit.fair,
awful.layout.suit.floating,
awful.layout.suit.floating }
for s = 1, screen.count() do
-- Each screen has its own tag table.
tags[s] = {}
for tagnumber = 1, 6 do
-- Add tags and name them.
tags[s][tagnumber] = tag(tagnames[tagnumber])
-- Add tags to screen one by one, giving them their layouts at the same time.
tags[s][tagnumber].screen = s
awful.layout.set(taglayouts[tagnumber], tags[s][tagnumber])
end
-- I'm sure you want to see at least one tag.
tags[s][1].selected = true
end
-- }}}
... и это мой rc.lua файл:
-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
tagnames = { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", }
taglayouts = {
awful.layout.suit.tile.top,
awful.layout.suit.tile.bottom,
awful.layout.suit.floating,
awful.layout.suit.fair,
awful.layout.suit.floating,
awful.layout.suit.floating }
for s = 1, screen.count() do
-- Each screen has its own tag table.
-- tags[s] = awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8",$
tags[s] = {}
for tagnumber = 1, 9 do
tags[s][tagnumber] = tag(tagnames[tagnumber])
tags[s][tagnumber].screen = s
awful.layout.set(taglayouts[tagnumber], tags[s][tagnumber])
end
tags[s][1].selected = true
end
--- }}}
Как вы можете видеть, они довольно то же самое, с той разницей, что у меня есть девять тегов вместо шести (я изменил код в соответствии с ним). При попытке отладки установки с помощью Xephyr, ошибка появляется в консоли и я только в состоянии увидеть мои обои:
error while running function
stack traceback:
[C]: in global 'tag'
/etc/xdg/awesome/rc.lua:100: in main chunk
error: /etc/xdg/awesome/rc.lua:100: bad argument #2 to 'tag' (table expected, got string)
error while running function
stack traceback:
[C]: in global 'tag'
/etc/xdg/awesome/rc.lua:100: in main chunk
error: /etc/xdg/awesome/rc.lua:100: bad argument #2 to 'tag' (table expected, got string)
E: awesome: main:605: couldn't find any rc file
Я не могу видеть, где ошибка, так как я не в состоянии обнаружить любое нарушение языка в строке ошибки tags[s][tagnumber] = tag(tagnames[tagnumber])
: оно просто заполняет массив тегов моими пользовательскими именами, говоря ему, чтобы рассматривать их как тег, а не как случайную строку.
UPDATE: Я только что понял, что в taglayouts есть шесть макетов, то же количество, что и теги в исходном файле Lua. Я думаю, что у меня должно быть девять макетов тегов, но я не знаю, какой из них следует добавить. Кроме того, я не считаю это критическим препятствием для правильного компиляции кода, поскольку строка ошибки не имеет ничего общего с списком макетов.
ОБНОВЛЕНИЕ 2: Добавлено еще 3 awful.layout.suit.floating
в taglayouts
. Такая же ошибка.
Ошибка не является нарушением языка. Ошибка говорит «ожидаемая таблица, полученная строка», поэтому проблема в том, что вы передаете строку вместо таблицы. Я вижу, что это то, что они делают в учебнике, за которым вы следуете, но все эти файлы, по крайней мере, год. Посмотрите на документацию, она должна быть в форме 'mytagone = tag ({name =" one "})' – DavisDude
Боковое примечание, не редактируйте '/ etc/xdg/awesome/rc.lua', создайте свой собственный' ~/.config/awesome/rc.lua' – Camusensei
Итак, что мне делать с моим кодом? – xvlaze