]>
git.madduck.net Git - etc/awesome.git/commitdiff
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (parent:
2728440 )
12 files changed:
-function helpers.newtimer(_name, timeout, fun, nostart)
- local name = timeout
+function helpers.newtimer(name, timeout, fun, nostart, stoppable)
+ if not name or #name == 0 then return end
+ name = (stoppable and name) or timeout
if not helpers.timer_table[name] then
helpers.timer_table[name] = timer({ timeout = timeout })
helpers.timer_table[name]:start()
if not helpers.timer_table[name] then
helpers.timer_table[name] = timer({ timeout = timeout })
helpers.timer_table[name]:start()
if not nostart then
helpers.timer_table[name]:emit_signal("timeout")
end
if not nostart then
helpers.timer_table[name]:emit_signal("timeout")
end
+ return stoppable and helpers.timer_table[name]
--- create a lain textbox widget
+-- create a textbox with no spacing issues
function helpers.make_widget_textbox()
function helpers.make_widget_textbox()
- local w = wibox.widget.textbox('' )
+ local w = wibox.widget.textbox()
local t = wibox.widget.base.make_widget(w)
t.widget = w
return t
local t = wibox.widget.base.make_widget(w)
t.widget = w
return t
-- lain.widgets.abase
local function worker(args)
-- lain.widgets.abase
local function worker(args)
- local abase = {}
- local args = args or {}
- local timeout = args.timeout or 5
- local cmd = args.cmd or ""
- local settings = args.settings or function() end
-
- abase.widget = wibox.widget.textbox()
+ local abase = helpers.make_widget_textbox()
+ local args = args or {}
+ local timeout = args.timeout or 5
+ local nostart = args.nostart or false
+ local stoppable = args.stoppable or false
+ local cmd = args.cmd or ""
+ local settings = args.settings or function() end
function abase.update()
helpers.async(cmd, function(f)
function abase.update()
helpers.async(cmd, function(f)
- helpers.newtimer(cmd, timeout, abase.updat e)
+ abase.timer = helpers.newtimer(cmd, timeout, abase.update, nostart, stoppabl e)
return setmetatable(abase, { __index = abase.widget })
end
return setmetatable(abase, { __index = abase.widget })
end
-local newtimer = require("lain.helpers").newtimer
-local read_pipe = require("lain.helpers").read_pipe
+local helpers = require("lain.helpers")
local wibox = require("wibox")
local setmetatable = setmetatable
local wibox = require("wibox")
local setmetatable = setmetatable
-- lain.widgets.base
local function worker(args)
-- lain.widgets.base
local function worker(args)
- local base = {}
- local args = args or {}
- local timeout = args.timeout or 5
- local cmd = args.cmd or ""
- local settings = args.settings or function() end
+ local base = helpers.make_widget_textbox()
+ local args = args or {}
+ local timeout = args.timeout or 5
+ local nostart = args.nostart or false
+ local stoppable = args.stoppable or false
+ local cmd = args.cmd or ""
+ local settings = args.settings or function() end
base.widget = wibox.widget.textbox()
function base.update()
base.widget = wibox.widget.textbox()
function base.update()
- output = read_pipe(cmd)
+ output = helpers. read_pipe(cmd)
if output ~= base.prev then
widget = base.widget
settings()
if output ~= base.prev then
widget = base.widget
settings()
- newtimer(cmd, timeout, base.updat e)
+ base.timer = helpers.newtimer(cmd, timeout, base.update, nostart, stoppabl e)
return setmetatable(base, { __index = base.widget })
end
return setmetatable(base, { __index = base.widget })
end
if gpm_now.playing then
if notify == "on" and gpm_now.title ~= helpers.get_map("gpmdp_current") then
helpers.set_map("gpmdp_current", gpm_now.title)
if gpm_now.playing then
if notify == "on" and gpm_now.title ~= helpers.get_map("gpmdp_current") then
helpers.set_map("gpmdp_current", gpm_now.title)
- os.execute(string.format("curl %d -o /tmp/gpmcover.png", gpm_now.cover_url))
if followtag then gpmdp_notification_preset.screen = focused() end
if followtag then gpmdp_notification_preset.screen = focused() end
- gpmdp.id = naughty.notify({
- preset = gpmdp_notification_preset,
- icon = "/tmp/gpmcover.png",
- replaces_id = gpmdp.id,
- }).id
+ helpers.async(string.format("curl %d -o /tmp/gpmcover.png", gpm_now.cover_url),
+ function(f)
+ gpmdp.id = naughty.notify({
+ preset = gpmdp_notification_preset,
+ icon = "/tmp/gpmcover.png",
+ replaces_id = gpmdp.id
+ }).id
+ end)
- elseif not gpm_now.running
- then
+ elseif not gpm_now.running then
helpers.set_map("gpmdp_current", nil)
end
end
helpers.set_map("gpmdp_current", nil)
end
end
- helpers.newtimer("gpmdp", timeout, gpmdp.updat e)
+ gpmdp.timer = helpers.newtimer("gpmdp", timeout, gpmdp.update, true, tru e)
return setmetatable(gpmdp, { __index = gpmdp.widget })
end
return setmetatable(gpmdp, { __index = gpmdp.widget })
end
- helpers.newtimer("moc", timeout, moc.updat e)
+ moc.timer = helpers.newtimer("moc", timeout, moc.update, true, tru e)
return setmetatable(moc, { __index = moc.widget })
end
return setmetatable(moc, { __index = moc.widget })
end
local time_val = bat_now.status == 'discharging' and 'remaining_running_time' or 'remaining_charging_time'
local mins_left = self:get(time_val)
local time_val = bat_now.status == 'discharging' and 'remaining_running_time' or 'remaining_charging_time'
local mins_left = self:get(time_val)
- if mins_left:find("^%d+") == nil
- then
- return "N/A"
- end
+ if not mins_left:find("^%d+") then return "N/A" end
local hrs = math.floor(mins_left / 60)
local min = mins_left % 60
local hrs = math.floor(mins_left / 60)
local min = mins_left % 60
return string.format("%02d:%02d", hrs, min)
end
return string.format("%02d:%02d", hrs, min)
end
- helpers.newtimer(mail, timeout, updat e)
+ imap.timer = helpers.newtimer(mail, timeout, update, true, tru e)
return setmetatable(imap, { __index = imap.widget })
end
return setmetatable(imap, { __index = imap.widget })
end
maildir.widget = wibox.widget.textbox()
maildir.widget = wibox.widget.textbox()
+ function maildir. update()
if ext_mail_cmd then awful.spawn(ext_mail_cmd) end
-- Find pathes to mailboxes.
if ext_mail_cmd then awful.spawn(ext_mail_cmd) end
-- Find pathes to mailboxes.
- helpers.newtimer(mailpath, timeout, updat e, true)
+ maildir.timer = helpers.newtimer(mailpath, timeout, maildir.update, tru e, true)
return setmetatable(maildir, { __index = maildir.widget })
end
return setmetatable(maildir, { __index = maildir.widget })
end
- helpers.newtimer("mpd", timeout, mpd.updat e)
+ mpd.timer = helpers.newtimer("mpd", timeout, mpd.update, true, tru e)
local wibox = require("wibox")
local string = { format = string.format,
match = string.match }
local wibox = require("wibox")
local string = { format = string.format,
match = string.match }
+local tostring = tostring
local setmetatable = setmetatable
-- Network infos
local setmetatable = setmetatable
-- Network infos
- helpers.newtimer(net.iface , timeout, update)
+ helpers.newtimer("net-" .. tostring(net.iface) , timeout, update)
weather.attach(weather.widget)
weather.attach(weather.widget)
- newtimer("weather-" .. city_id, timeout, weather.updat e)
- newtimer("weather_forecast-" .. city_id, timeout, weather.forecast_updat e)
+ weather.timer = newtimer("weather-" .. city_id, timeout, weather.update, false, tru e)
+ weather.timer_forecast = newtimer("weather_forecast-" .. city_id, timeout, weather.forecast_update, false, tru e)
return setmetatable(weather, { __index = weather.widget })
end
return setmetatable(weather, { __index = weather.widget })
end
-Subproject commit 991e3bb813a650a6d6bcd27a9563a746fe489716
+Subproject commit df5dd684ec35c1fc8e044fb5fd0bdb76f7f568fa