--- /dev/null
+local dkjson = require("lain.util").dkjson
+local math = require("math")
+local lain = require("lain")
+
+local widgets = {}
+
+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
+
+widgets.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
+
+widgets.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
+})
+
+return widgets
-- Other libraries
local tblutils = require("tblutils")
local lain = require("lain")
-local dkjson = require("lain.util").dkjson
-local math = require("math")
+local ccwidgets = require("cryptocoin_widgets")
local luatz = require("luatz")
-- }}}
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
layout = wibox.layout.fixed.horizontal,
mykeyboardlayout,
wibox.widget.systray(),
- btc_widget,
+ ccwidgets.btc_widget,
spacer,
lain_bat.widget,
spacer,