Временный виджет процессора в удивительном wm

Я недавно начал использовать удивительную версию 4.2 wm и мне это очень нравится; значительно улучшил мой рабочий процесс. Я пробовал некоторые темы, такие как подражатели и другие, но они слишком причудливы для меня. Мне нравится конфигурация по умолчанию, и я читал здесь: https://awesomewm.org/apidoc/index.html а также файлы rc.lua и theme.lua из copycats и других и реализовал некоторые из них; сочетания клавиш, манипуляции с макетом, запуск программ. Я хотел создать виджет, показывающий температуру процессора, и сделал это, следуя указаниям здесь https://awesomewm.org/apidoc/classes/awful.widget.watch.html например так:

wibox.widget.textbox('  |  '),
awful.widget.watch(
  'bash -c "cat/sys/class/hwmon/hwmon0/device/temp1_input"', 15),
wibox.widget.textbox('  |  '),
awful.widget.watch(
  'bash -c "cat /sys/class/hwmon/hwmon0/device/temp3_input"', 15),

Это работает, но показывает большие цифры, т.е. 43000 вместо 43. Как я могу это изменить? и, если возможно, 43°C.

2 ответа

Решение

Если вы получили правильный номер и просто хотите разделить его на 1000, вы можете использовать дополнительный обратный вызов:

awful.widget.watch('bash -c "cat /sys/class/hwmon/hwmon0/device/temp1_input"', 15, 
  function(widget, s) widget:set_text(tonumber(s)/1000) end)

Просто используйте , это проще. Я достиг этого, создав виджет, который обновляет значение sensors:

      local wibox = require("wibox")
local awful = require("awful")

local temprature = wibox.widget {
    widget = awful.widget.watch('bash -c "sensors | grep CPU |     awk \'{print $2}\' | se
d \'s/C/C   /\'"', 5),
}

local temprature_clr = wibox.widget.background()
temprature_clr:set_widget(temprature)
temprature_clr:set_fg("#e5a75b")

return temprature_clr
Другие вопросы по тегам