LINUX.ORG.RU

передать спецсимвол через awesome-client

 


0

1

Здравствуйте. Обновил awesome до 4.0, и это стало хорошим поводом переписать конфиг, в связи с чем выплыла досадная проблема.

Имею:

piyavking@koeuk:~$ awesome -v
awesome v4.0 (Harder, Better, Faster, Stronger)
 • Compiled against Lua 5.1.5 (running with Lua 5.1)
 • D-Bus support: ✔
 • execinfo support: ✔
 • RandR 1.5 support: ✘
 • LGI version: 0.9.1

имею строчку в rc.lua:

artfilewidget:set_markup("<span color="#AAAAAA">artfile</span> ")

- всё ОК, имею нужный цвет шрифта в виджете.

Пытаюсь то же сделать интерактивно:

piyavking@koeuk:~$ echo 'artfilewidget:set_markup("<span color="#AAAAAA">artfile</span> ")' | awesome-client
   string "[string "artfilewidget:set_markup("<span color="#AAAAAA">artfile</span> ..."]:1: ')' expected near '#'"

постучавши бубном, я уяснил, что awesome-client спотыкается на октоторпе - «#», стал пытаться его экранировать, и потерпел неудачу.

Знатоки, помогите, пожалуйста!

Спасибо за внимание.

artfilewidget:set_markup("<span color="#AAAAAA">artfile</span> ")

Что-то ты скрываешь, это не должно работать, так как только <span color= и >artfile</span> у тебя являются строками, #AAAAAA — int, причём я сомневаюсь, что у тебя есть array с таким именем.

Короче, в Lua делай или так:

artfilewidget:set_markup("<span color='#AAAAAA'>artfile</span> ")
или так (если много кавычек и ты можешь в них запутаться)
artfilewidget:set_markup([[<span color="#AAAAAA">artfile</span> ]])
(вообще, это предназначено для userdata, а не для string, но оно будет интерпретироваться как строка (по крайней мере в Lua 5.1), а значит и работать)

В шелле ты можешь использовать второй вариант, или же экранировать кавычки:

'artfilewidget:set_markup("<span color=\"#AAAAAA\">artfile</span> ")'

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

Что-то ты скрываешь, это не должно работать

строчка работает, скопипащена из действующего rc.lua

большое спасибо за помощь, скриптик заработал.

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