From: Luke Bonham Date: Mon, 23 Dec 2013 16:59:23 +0000 (-0800) Subject: Merge pull request #16 from yawnt/brightness X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/2c2899893d7367071242c6339321987777320f54?hp=f89991fe26dd904b05f4bac25f71e7d7d45c2206 Merge pull request #16 from yawnt/brightness contrib-widget: brightness --- diff --git a/widgets/contrib/brightness.lua b/widgets/contrib/brightness.lua new file mode 100644 index 0000000..6967572 --- /dev/null +++ b/widgets/contrib/brightness.lua @@ -0,0 +1,43 @@ + +--[[ + + Licensed under GNU General Public License v2 + * (c) 2013, yawnt + +--]] + +local newtimer = require("lain.helpers").newtimer + +local wibox = require("wibox") +local io = { popen = io.popen } +local string = { match = string.match } + +local setmetatable = setmetatable + +-- Brightness +-- lain.widgets.contrib.brightness +local brightness = {} + +local function worker(args) + local args = args or {} + local backlight = args.backlight or "acpi_video0" + local timeout = args.timeout or 5 + local settings = args.settings or function() end + + brightness.widget = wibox.widget.textbox('') + + function brightness.update() + local f = assert(io.popen('cat /sys/class/backlight/' .. backlight .. "/brightness")) + brightness_now = f:read("*a") + f:close() + + widget = brightness.widget + settings() + end + + newtimer("brightness", timeout, brightness.update) + + return setmetatable(brightness, { __index = brightness.widget }) +end + +return setmetatable(brightness, { __call = function(_, ...) return worker(...) end })