Виджеты в Awesome
Contents |
Что такое виджеты
Виджеты в Awesome - это объекты, которые можно размещать на панелях и в заголовках окон, они могут предоставлять различную информацию о системе и очень полезны для получения доступа к этой информации прямо из оконного менеджера. Виджеты легко использовать и они обладают большой гибкостью.
Создание виджета
Как и теги, виджеты абсолютно бесполезны, пока Вы их куда-нибудь не поместите. Для создания виджета используйте функцию widget():
mytextbox = widget({ type = "textbox", name = "mytextbox" })
Переменная mytextbox теперь содержит объект виджета. У текстового виджета (как раз такой и был только что создан) можно изменить отображаемый на нём текст:
mytextbox.text = "Hello, world!"
Теперь виджет будет показывать текст Hello, world!.
Управление виджетами
В файле rc.lua виджеты обычно создаются в цикле для каждого физического экрана. Если Вы хотите указать, на каком экране разместить виджет, Вам нужно изменить тело цикла.
К примеру, чтобы виджет системного трея (systray) помещался на 2-й экран вместо 1-го, измените в rc.lua в строке, относящейся к трею, s == 1 на s == 2, то есть строка
s == 1 and mysystray or nil }
примет вид
s == 2 and mysystray or nil }
Типы виджетов
В настоящее время существуют следующие типы виджетов:
textbox
Отображает текст, это наиболее часто используемый виджет.
imagebox
Отображает картинку (в формате .png)
appicon
Значок, который можно поместить на панель и использовать для запуска приложения.
graph
Отображает один или несколько графиков с изменяющимися данными.
Пример использования:
mygraph = widget({ type = "graph", align = "right" })
mygraph.width = 70
mygraph.height = 0.90
mygraph.grow = "left"
mygraph.bg = beautiful.mygraph_bg
mygraph.border_color = beautiful.mygraph_border_color
mygraph:plot_properties_set("total",
{
["fg"] = "#336699cc",
["fg_center"] = beautiful.mygraph_total_center,
["fg_end"] = beautiful.mygraph_total_end,
["vertical_gradient"] = true,
["scale"] = false,
["max_value"] = "100.0",
["style"] = "bottom"
})
progressbar
Отображает один или несколько индикаторов выполнения.
Пример использования:
myprogressbar = widget({ type = "progressbar", align = "right" })
myprogressbar.width = 28
myprogressbar.height = 0.90
myprogressbar.gap = 0
myprogressbar.border_padding = 0
myprogressbar.border_width = 1
myprogressbar.ticks_count = 0
myprogressbar.vertical = true
myprogressbar:bar_properties_set("root",
{
["bg"] = beautiful.myprogressbar_root_bg,
["fg"] = beautiful.myprogressbar_root_fg,
["fg_center"] = beautiful.myprogressbar_root_fg_center,
["fg_end"] = beautiful.myprogressbar_root_fg_end,
["fg_off"] = beautiful.myprogressbar_root_fg_off,
["border_color"] = beautiful.myprogressbar_root_border_color,
["min_value"] = "50.0",
["max_value"] = "100.0",
["reverse"] = false
})
systray
Отображает системный трей, в котором программы могут размещать свои значки.
taglist
Отображает все теги текущего экрана.
tasklist
Отображает список окон, которым присвоены выбранные в данный момент теги.