Виджеты в Awesome

From awesome
Jump to: navigation, search

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

Отображает список окон, которым присвоены выбранные в данный момент теги.

Personal tools