mirror of https://github.com/lcpz/lain.git
thinkpad bat widget integrated
This commit is contained in:
parent
356705836a
commit
22fa9400bc
|
@ -4,7 +4,7 @@
|
|||
Lain
|
||||
Layouts, widgets and utilities for Awesome WM
|
||||
|
||||
User contributed widgets section
|
||||
Users contributed widgets section
|
||||
|
||||
Licensed under GNU General Public License v2
|
||||
* (c) 2013, Luke Bonham
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
|
||||
--[[
|
||||
|
||||
tpbat.lua
|
||||
Battery status widget for ThinkPad laptops that use SMAPI
|
||||
lain.widgets.contrib.tpbat
|
||||
|
@ -12,21 +14,24 @@
|
|||
|
||||
--]]
|
||||
|
||||
local debug = { getinfo = debug.getinfo }
|
||||
local newtimer = require("lain.helpers").newtimer
|
||||
local first_line = require("lain.helpers").first_line
|
||||
local beautiful = require("beautiful")
|
||||
local naughty = require("naughty")
|
||||
local wibox = require("wibox")
|
||||
local smapi = require("lain.widgets.contrib.tpbat.smapi") -- Ugly :(
|
||||
|
||||
local string = { format = string.format }
|
||||
local math = { floor = math.floor }
|
||||
local tostring = tostring
|
||||
local setmetatable = setmetatable
|
||||
|
||||
-- ThinkPad SMAPI-enabled battery info widget
|
||||
local tpbat = { }
|
||||
package.path = debug.getinfo(1,"S").source:match[[^@?(.*[\/])[^\/]-$]] .. "?.lua;" .. package.path
|
||||
local smapi = require("smapi")
|
||||
|
||||
-- ThinkPad SMAPI-enabled battery info widget
|
||||
-- lain.widgets.contrib.tpbat
|
||||
local tpbat = { }
|
||||
local tpbat_notification = nil
|
||||
|
||||
function tpbat:hide()
|
||||
|
@ -40,7 +45,9 @@ end
|
|||
function tpbat:show(t_out)
|
||||
tpbat:hide()
|
||||
|
||||
local bat = self.bat
|
||||
local bat = self.bat
|
||||
local t_out = t_out or 0
|
||||
|
||||
if bat == nil or not bat:installed() then return end
|
||||
|
||||
local mfgr = bat:get('manufacturer') or "no_mfgr"
|
||||
|
@ -63,7 +70,7 @@ function tpbat:show(t_out)
|
|||
end
|
||||
|
||||
local str = string.format("%s : %s %s (%s)\n", bat.name, mfgr, model, chem)
|
||||
str = str .. string.format("\n%s \t\t\t %s", status:upper(), msg)
|
||||
.. string.format("\n%s \t\t\t %s", status:upper(), msg)
|
||||
|
||||
tpbat_notification = naughty.notify({
|
||||
preset = { fg = beautiful.fg_normal },
|
||||
|
@ -141,13 +148,13 @@ function tpbat.register(args)
|
|||
bat_now.perc = tostring(bat_now.perc)
|
||||
end
|
||||
|
||||
widget = tpbat.widget -- 'widget' needed in rc.lua (following convention)
|
||||
widget = tpbat.widget
|
||||
settings()
|
||||
end
|
||||
|
||||
newtimer("tpbat", timeout, update)
|
||||
|
||||
widget:connect_signal('mouse::enter', function () tpbat:show(0) end)
|
||||
widget:connect_signal('mouse::enter', function () tpbat:show() end)
|
||||
widget:connect_signal('mouse::leave', function () tpbat:hide() end)
|
||||
|
||||
return tpbat.widget
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
|
||||
--[[
|
||||
|
||||
smapi.lua
|
||||
Interface with thinkpad battery information
|
||||
|
||||
Licensed under GNU General Public License v2
|
||||
* (c) 2013, Conor Heine
|
||||
* (c) 2013, Conor Heine
|
||||
|
||||
--]]
|
||||
|
||||
|
@ -19,42 +21,42 @@ local apipath = "/sys/devices/platform/smapi"
|
|||
|
||||
-- Most are readable values, but some can be written to (not implemented, yet?)
|
||||
local readable = {
|
||||
barcoding = true,
|
||||
charging_max_current = true,
|
||||
charging_max_voltage = true,
|
||||
chemistry = true,
|
||||
current_avg = true,
|
||||
current_now = true,
|
||||
cycle_count = true,
|
||||
design_capacity = true,
|
||||
design_voltage = true,
|
||||
dump = true,
|
||||
first_use_date = true,
|
||||
force_discharge = false,
|
||||
group0_voltage = true,
|
||||
group1_voltage = true,
|
||||
group2_voltage = true,
|
||||
group3_voltage = true,
|
||||
inhibit_charge_minutes = false,
|
||||
installed = true,
|
||||
last_full_capacity = true,
|
||||
manufacture_date = true,
|
||||
manufacturer = true,
|
||||
model = true,
|
||||
power_avg = true,
|
||||
power_now = true,
|
||||
remaining_capacity = true,
|
||||
remaining_charging_time = true,
|
||||
remaining_percent = true,
|
||||
remaining_percent_error = true,
|
||||
remaining_running_time = true,
|
||||
barcoding = true,
|
||||
charging_max_current = true,
|
||||
charging_max_voltage = true,
|
||||
chemistry = true,
|
||||
current_avg = true,
|
||||
current_now = true,
|
||||
cycle_count = true,
|
||||
design_capacity = true,
|
||||
design_voltage = true,
|
||||
dump = true,
|
||||
first_use_date = true,
|
||||
force_discharge = false,
|
||||
group0_voltage = true,
|
||||
group1_voltage = true,
|
||||
group2_voltage = true,
|
||||
group3_voltage = true,
|
||||
inhibit_charge_minutes = false,
|
||||
installed = true,
|
||||
last_full_capacity = true,
|
||||
manufacture_date = true,
|
||||
manufacturer = true,
|
||||
model = true,
|
||||
power_avg = true,
|
||||
power_now = true,
|
||||
remaining_capacity = true,
|
||||
remaining_charging_time = true,
|
||||
remaining_percent = true,
|
||||
remaining_percent_error = true,
|
||||
remaining_running_time = true,
|
||||
remaining_running_time_now = true,
|
||||
serial = true,
|
||||
start_charge_thresh = false,
|
||||
state = true,
|
||||
stop_charge_thresh = false,
|
||||
temperature = true,
|
||||
voltage = true,
|
||||
serial = true,
|
||||
start_charge_thresh = false,
|
||||
state = true,
|
||||
stop_charge_thresh = false,
|
||||
temperature = true,
|
||||
voltage = true,
|
||||
}
|
||||
|
||||
function smapi:battery(name)
|
||||
|
|
Loading…
Reference in New Issue