xezzus |
|
Темы:
1
Сообщения:
2
Участник с: 11 августа 2010
|
На данном этапе настройка awesome, задача не простая. В основном это связано с малым количеством документации, а точнее переводов на русский. Использование этого WM, заворожило меня своей простотой, количество высвободившегося времени стало намного больше. Так, небольшие дифирамбы пропел, теперь к делу. У меня возникли проблемы, с отоброжением температуры, процессора и материнской платты, стандартные виджет thermal.lua от vicious, естественно работать не захотел. Тогда я взял и установил пакет lm-sensors запустил демона /etc/rc.d/sensors start и по команде sensors, получил, что-то вроде этого. atk0110-acpi-0 Adapter: ACPI interface Vcore Voltage: +1.53 V (min = +0.85 V, max = +1.60 V) +3.3 Voltage: +3.30 V (min = +2.97 V, max = +3.63 V) +5 Voltage: +4.92 V (min = +4.50 V, max = +5.50 V) +12 Voltage: +12.60 V (min = +10.20 V, max = +13.80 V) CPU FAN Speed: 0 RPM (min = 600 RPM) CHASSIS FAN Speed:2415 RPM (min = 600 RPM) POWER FAN Speed: 0 RPM (min = 600 RPM) CPU Temperature: +41.0°C (high = +60.0°C, crit = +95.0°C) MB Temperature: +37.0°C (high = +45.0°C, crit = +95.0°C) k10temp-pci-00c3 Adapter: PCI adapter temp1: +35.0°C (high = +70.0°C, crit = +83.5°C) После это я взял и написал, две команды. $ sensors | awk '/CPU Temperature/ {print($3)}' $ sensors | awk '/CPU Temperature/ {print($3)}' Так, теперь мы получаем четко, температуру процессора и температуру материнской платы. Теперь нам надо создать виджет используя vicious. Идем в папку vicious/widget и создаем файл sensors.lua. В файл пишем. --------------------------------------------------- -- Licensed under the GNU General Public License v2 -- * (c) 2010, Xezzus <xezzus@gmail.com> --------------------------------------------------- -- {{{ Grab environment local io = { popen = io.popen } local setmetatable = setmetatable -- }}} -- -- Date: provides access to os.date with optional custom formatting module("vicious.widgets.sensors") -- {{{ Date widget type local function worker() f = io.popen("sensors | awk '/CPU Temperature/ {print($3)}'") for line in f:lines() do cpu = line end f = io.popen("sensors | awk '/MB Temperature/ {print($3)}'") for line in f:lines() do mb = line end return cpu .. "/" .. mb end -- }}} setmetatable(_M, { __call = function(_, ...) return worker(...) end }) Тепер открываем файл init.lua, в тойже директории vicious/widget --------------------------------------------------- -- Vicious widgets for the awesome window manager --------------------------------------------------- -- Licensed under the GNU General Public License v2 -- * (c) 2010, Xezzus <xezzus@gmail.com> -- * (c) 2010, Adrian C. <anrxc@sysphere.org> --------------------------------------------------- -- {{{ Configure widgets require("vicious.widgets.cpu") require("vicious.widgets.sensors") -- <--- Добавляем эту строчку. Это подключение нашего нового виджета. require("vicious.widgets.cpuinf") require("vicious.widgets.cpufreq") require("vicious.widgets.thermal") require("vicious.widgets.uptime") require("vicious.widgets.bat") require("vicious.widgets.mem") require("vicious.widgets.os") require("vicious.widgets.fs") require("vicious.widgets.dio") require("vicious.widgets.raid") require("vicious.widgets.hddtemp") require("vicious.widgets.net") require("vicious.widgets.wifi") require("vicious.widgets.mbox") require("vicious.widgets.mboxc") require("vicious.widgets.mdir") require("vicious.widgets.gmail") require("vicious.widgets.org") require("vicious.widgets.pkg") require("vicious.widgets.mpd") require("vicious.widgets.volume") require("vicious.widgets.weather") require("vicious.widgets.date") -- }}} -- Vicious: widgets for the awesome window manager module("vicious.widgets") И теперь осталось последнее, это вывести наш виджет на панельку. Создать виджет sensors = widget({ type = "textbox" }) vicious.register(sensors, vicious.widgets.sensors) |