dotfiles/.config/awesome/widgets.lua

123 lines
3.1 KiB
Lua
Raw Normal View History

2017-04-22 16:53:37 +03:00
local gputemp = require("gputemp")
local hubic = require("hubic")
2017-07-08 20:12:50 +03:00
local dpmsstatus = require("dpmsstatus")
2017-04-22 16:53:37 +03:00
local lain = require("lain")
local vicious = require("vicious") -- Custom
local beautiful = require("beautiful") -- CPU temp
local wibox = require("wibox")
-- Variables
local valuecolor = "white"
-- Helpers
function file_exists(name)
local f = io.open(name,"r")
if f ~= nil then io.close(f) return true else return false end
end
2017-04-22 16:53:37 +03:00
function create_markup(key, value, postfix, color)
return key .. " <span foreground='" .. color .. "'><b>" .. value .. postfix .."</b></span>"
end
-- Spacer
spacer = wibox.widget.textbox()
--spacer.text = "-"
spacer.forced_width = 8;
-- CPU
mycpu = lain.widget.cpu({
settings = function()
widget.markup = create_markup("CPU", cpu_now.usage, " %", valuecolor)
end
})
-- MEM
mymem = lain.widget.mem({
settings = function()
widget.markup = create_markup("MEM", mem_now.used, " MB", valuecolor)
end
})
-- GPU
mygputemp = wibox.widget.textbox()
vicious.register(mygputemp, gputemp, create_markup("GPU", "$0", "", valuecolor), 15, "AMD")
-- Hubic
myhubic = wibox.widget.textbox()
vicious.register(myhubic, hubic, create_markup("CLOUD", "$0", "", valuecolor), 15, "HUBIC")
2017-04-22 16:53:37 +03:00
-- Volume
volume = lain.widget.pulse({
2017-04-22 16:53:37 +03:00
scallback = function()
return "pacmd list-sinks | grep -Paoz \"(?s)(\\* index.*$(pactl info | grep -e 'ink' | cut -d' ' -f3).*(index)?)\" | tr -d '\\000' | grep -e 'index' -e 'device.string' -e 'name:' -e 'volume: front' -e 'muted'"
end,
settings = function()
volstr = volume_now.left .. " "
volcolor = valuecolor
if volume_now.muted == "yes" then
volcolor = "red"
end
widget.markup = create_markup("VOL", volstr, "%", volcolor)
end
})
-- Text clock
mytextclock = wibox.widget.textclock(create_markup("Date","%Y-%m-%d %H:%M","", valuecolor))
lain.widget.calendar({
followtag = true,
2017-04-22 16:53:37 +03:00
attach_to = {mytextclock}
})
-- CPU temperature
local tempfile = "/sys/bus/pci/drivers/k10temp/0000:00:18.3/hwmon/hwmon2/temp1_input"
if file_exists(tempfile) == false then
tempfile = "/sys/class/thermal/thermal_zone0/temp"
end
2017-04-22 16:53:37 +03:00
mycputemp = lain.widget.temp({
tempfile = tempfile,
2017-04-22 16:53:37 +03:00
settings = function()
widget.markup = create_markup("CPU", coretemp_now, "", valuecolor)
end
})
-- Weather Widget
myweather = lain.widget.weather({
city_id = 634963,
lang = "fi",
2017-07-08 20:12:50 +03:00
followtag = true,
2017-04-22 16:53:37 +03:00
settings = function()
widget.markup = create_markup("Tampere", weather_now.main.temp, "", valuecolor)
end
})
2017-04-22 16:53:37 +03:00
2017-07-08 20:12:50 +03:00
-- DPMS
mydpmsstatus = wibox.widget.textbox()
vicious.register(mydpmsstatus, dpmsstatus, function(widget, args)
color = valuecolor
if args[0] == "Enabled" then
return create_markup("DPMS", "ON", "", color)
else
color = "red"
return create_markup("DPMS", "OFF", "", color)
end
end)
-- Servers
local mcstatus = require("lanxu/mcstatus")
myserverstatus = mcstatus({
settings = function()
widget.markup = create_markup("PLAYERS", totalplayers, "", valuecolor)
end
})
local cloudstatus = require("lanxu/cloudstatus")
mycloudstatus = cloudstatus({
settings = function()
widget.markup = create_markup("CLOUD", currentstatus, "", valuecolor)
end
})