From 0bd5a1cdcb18e79b785469c0348a4c50d54864d4 Mon Sep 17 00:00:00 2001 From: yawnt Date: Mon, 23 Dec 2013 17:19:25 +0100 Subject: [PATCH 1/2] contrib-widget: brightness --- widgets/contrib/brightness.lua | 46 ++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 widgets/contrib/brightness.lua diff --git a/widgets/contrib/brightness.lua b/widgets/contrib/brightness.lua new file mode 100644 index 0000000..bf14baf --- /dev/null +++ b/widgets/contrib/brightness.lua @@ -0,0 +1,46 @@ + +--[[ + + 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 = { + level = 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 }) From 0345cc3576955b37a981ee8f38d11e99c82dbb31 Mon Sep 17 00:00:00 2001 From: yawnt Date: Mon, 23 Dec 2013 18:04:06 +0100 Subject: [PATCH 2/2] fix: better code --- widgets/contrib/brightness.lua | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/widgets/contrib/brightness.lua b/widgets/contrib/brightness.lua index bf14baf..6967572 100644 --- a/widgets/contrib/brightness.lua +++ b/widgets/contrib/brightness.lua @@ -1,9 +1,9 @@ --[[ - - Licensed under GNU General Public License v2 + + Licensed under GNU General Public License v2 * (c) 2013, yawnt - + --]] local newtimer = require("lain.helpers").newtimer @@ -14,7 +14,7 @@ local string = { match = string.match } local setmetatable = setmetatable --- Brightness +-- Brightness -- lain.widgets.contrib.brightness local brightness = {} @@ -28,12 +28,9 @@ local function worker(args) function brightness.update() local f = assert(io.popen('cat /sys/class/backlight/' .. backlight .. "/brightness")) - - brightness_now = { - level = f:read("*a") - } + brightness_now = f:read("*a") f:close() - + widget = brightness.widget settings() end