-- Other libraries
local tblutils = require("tblutils")
local lain = require("lain")
-local dkjson = require("lain.util").dkjson
-local math = require("math")
-local luatz = require("luatz")
+local ccwidgets = require("cryptocoin_widgets")
+local clocksarray = require("clocksarray")
-- }}}
-- {{{ Error handling
widget:set_text(bat_now.perc .. "% " .. delim .. " " .. bat_now.time)
end,
})
-
-local function poloniex_price(output, pair, prec)
- local xc, pos, err = dkjson.decode(output, 1, nil)
- if not prec then prec = 4 end
- val = (xc and xc[pair]["last"]) or 0
- val = math.floor(val*10^prec+0.5)/10^prec
- return (not err and val) or "n/a"
-end
-
-local eth_widget = lain.widget.watch({
- cmd = "curl -m5 -s 'https://poloniex.com/public?command=returnTicker'",
- timeout = 600,
- settings = function()
- widget:set_text(poloniex_price(output, 'BTC_ETH') .. " Ƀ/Ξ")
- end
-})
-
-local function coindesk_price(output, base, prec)
- local xc, pos, err = dkjson.decode(output, 1, nil)
- if not prec then prec = 4 end
- val = (xc and xc["bpi"][base]["rate_float"]) or 0
- val = math.floor(val*10^prec+0.5)/10^prec
- return (not err and val) or "n/a"
-end
-
-local btc_widget = lain.widget.watch({
- cmd = "curl -m5 -Ls 'https://api.coindesk.com/v1/bpi/currentprice/EUR.json'",
- timeout = 600,
- settings = function()
- widget:set_text(coindesk_price(output, "EUR", 2) .. " €/Ƀ")
- end
-})
-- }}}
-- {{{ Menu
mykeyboardlayout = awful.widget.keyboardlayout()
-- Create a textclock widget
-clocks = { wibox.widget.textclock("%a %d %b %H:%M:%S %Z", 1) }
-
-ZONES = {
- ["NZ"] = "Pacific/Auckland",
- ["DE"] = "Europe/Berlin"
-}
-local now = luatz.time_in(nil)
-for c, tz in tblutils.sorted_pairs(ZONES) do
- local t = luatz.time_in(tz)
- if math.abs(os.difftime(t, now)) > 10 then
- local widget = wibox.widget.textclock(c .. ": %H:%M (%a)", 60, tz)
- table.insert(clocks, 1, spacer)
- table.insert(clocks, 1, widget)
- end
-end
+clocksarray = clocksarray.get_clocksarray("%a %d %b %H:%M:%S %Z", {
+ ["NZ"] = "Pacific/Auckland",
+ ["DE"] = "Europe/Berlin"
+ }, spacer)
-- Create a wibox for each screen and add it
local taglist_buttons = gears.table.join(
layout = wibox.layout.fixed.horizontal,
mykeyboardlayout,
wibox.widget.systray(),
- btc_widget,
+ ccwidgets.btc_widget,
+ spacer,
+ ccwidgets.eth_widget,
spacer,
lain_bat.widget,
spacer,
},
- clocks,
+ clocksarray,
{
mylayoutbox[s],
}