X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/697eac03898072945d8b9d26d39f124e65921f54..b43a8429073b9796a4a31a13701a83e518c5fba3:/.config/awesome/rc.lua?ds=sidebyside diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index cd7b300..6146067 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -11,6 +11,7 @@ local beautiful = require("beautiful") local naughty = require("naughty") local menubar = require("menubar") local hotkeys_popup = require("awful.hotkeys_popup").widget +local lain = require("lain") -- }}} -- {{{ Error handling @@ -120,6 +121,32 @@ local function print_table(tbl, indent) end end end + +local lain_bat = lain.widgets.bat({ + batteries = {"BAT0", "BAT1"}, + settings = function() + local delim = "↓" + if bat_now.status == "1" then delim = "↑" end + widget:set_text(bat_now.perc .. "% " .. delim .. " " .. bat_now.time) + end, +}) + +local function poloniex_price(output, pair, accuracy) + local xc, pos, err = require("lain.util").dkjson.decode(output, 1, nil) + if not accuracy then accuracy = 4 end + val = (xc and xc[pair]["last"]) or 0 + val = val - val % (1/(10^accuracy)) + return (not err and val) or "n/a" +end + +local xc_widget = lain.widgets.abase({ + cmd = "curl -m5 -s 'https://poloniex.com/public?command=returnTicker'", + timeout = 600, + settings = function() + widget:set_text(poloniex_price(output, 'BTC_ETH') .. " Ƀ/Ξ") + end +}) + -- }}} -- {{{ Menu @@ -146,6 +173,8 @@ menubar.utils.terminal = terminal -- Set the terminal for applications that requ -- }}} -- {{{ Wibox +local spacer = wibox.widget.textbox() +spacer:set_text(' | ') -- Create a textclock widget mytextclock = wibox.widget.textclock("%a %d %b %H:%M:%S", 1) @@ -175,7 +204,8 @@ mytasklist = {} mytasklist.buttons = awful.util.table.join( awful.button({ }, 1, function (c) if c == client.focus then - c.minimized = true + -- I don't like click-minimising + -- c.minimized = true else -- Without this, the following -- :isvisible() makes no sense @@ -286,6 +316,10 @@ awful.screen.connect_for_each_screen(function(s) layout = wibox.layout.fixed.horizontal, mykeyboardlayout, wibox.widget.systray(), + xc_widget, + spacer, + lain_bat.widget, + spacer, mytextclock, mylayoutbox[s], }, @@ -581,13 +615,16 @@ awful.rules.rules = { }, callback = move_to_tag(screen.count() == 1 and 1 or 2, 8) }, - { rule = { class = "chromium", instance = "chromium" }, + { rule = { class = "Chromium", instance = "chromium" }, properties = { floating = false, }, callback = move_to_tag(screen.count() == 1 and 1 or 2, 9) }, { rule = { class = "Gscan2pdf" }, + properties = { + switchtotag = true + }, callback = move_to_tag(1, 5) }, { rule = { name = "gscan2pdf .*" }, @@ -671,6 +708,8 @@ end) client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) -awful.ewmh.add_activate_filter(function(c) if c.class == "Firefox" then return false end end) +awful.ewmh.add_activate_filter(function(c, context, hints) + if context == "ewmh" and c.class == "Firefox" then return false end +end) -- vim:ft=lua:sw=4:sts=4:ts=4:et