X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/c74cd69b97199337dbc946ceb568e9c3f48cd216..6d582aa93d08a6bcf1690bd102d51ab1e7fb3ef3:/.config/awesome/rc.lua?ds=sidebyside diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index ac0676b..033bc86 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -12,6 +12,7 @@ local naughty = require("naughty") local menubar = require("menubar") local hotkeys_popup = require("awful.hotkeys_popup").widget local lain = require("lain") +local dkjson = require("lain.util").dkjson local math = require("math") -- }}} @@ -123,24 +124,25 @@ local function print_table(tbl, indent) end end -local lain_bat = lain.widgets.bat({ +local lain_bat = lain.widget.bat({ batteries = {"BAT0", "BAT1"}, settings = function() local delim = "↓" - if bat_now.status == "1" then delim = "↑" end + if bat_now.status == "Charging" then delim = "↑" + elseif bat_now.status == "Unknown" then delim = "٭" end widget:set_text(bat_now.perc .. "% " .. delim .. " " .. bat_now.time) end, }) local function poloniex_price(output, pair, prec) - local xc, pos, err = require("lain.util").dkjson.decode(output, 1, nil) + 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 xc_widget = lain.widgets.abase({ +local eth_widget = lain.widget.watch({ cmd = "curl -m5 -s 'https://poloniex.com/public?command=returnTicker'", timeout = 600, settings = function() @@ -148,6 +150,22 @@ local xc_widget = lain.widgets.abase({ 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 @@ -317,7 +335,7 @@ awful.screen.connect_for_each_screen(function(s) layout = wibox.layout.fixed.horizontal, mykeyboardlayout, wibox.widget.systray(), - xc_widget, + btc_widget, spacer, lain_bat.widget, spacer, @@ -525,15 +543,15 @@ clientbuttons = awful.util.table.join( -- misc apps globalkeys = awful.util.table.join(globalkeys, awful.key({ cmdkey }, "n", function () awful.spawn("firefox") end), -awful.key({ cmdkey }, "m", function () awful.spawn("chromium") end), +awful.key({ cmdkey }, "m", function () awful.spawn("chromium --enable-remote-extensions") end), awful.key({ cmdkey }, "y", function () awful.spawn(terminal .. " -e python") end), -awful.key({ cmdkey }, "c", function () awful.spawn("icedove") end), +awful.key({ cmdkey }, "c", function () awful.spawn("thunderbird") end), awful.key({ cmdkey }, "r", function () mypromptbox[mouse.screen]:run() end), awful.key({ cmdkey }, "g", function () awful.spawn("gscan2pdf") end), awful.key({ cmdkey }, "v", function () awful.spawn("virt-manager") end), awful.key({ cmdkey }, "l", function () awful.spawn("libreoffice") end), awful.key({ cmdkey }, "f", function () awful.spawn("thunar") end), -awful.key({ cmdkey }, "i", function () awful.spawn(terminal .. " -title irc -name irc -e env MOSH_TITLE_NOPREFIX=true mosh -4 -- irc-host screen -dr irc") end), +awful.key({ cmdkey }, "i", function () awful.spawn(terminal .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh -4 -- irc-host tmux new -DAs irc irssi") end), awful.key({ cmdkey }, "x", function () awful.spawn.with_shell("/sbin/start-stop-daemon --start --background --exec /usr/bin/xscreensaver -- -no-capture-stderr; sleep 2; xscreensaver-command -lock") end), awful.key({ cmdkey, "Shift" }, "x", function () awful.spawn("xscreensaver-command -exit") end), @@ -581,7 +599,7 @@ awful.rules.rules = { buttons = clientbuttons, screen = awful.screen.preferred, placement = awful.placement.no_overlap+awful.placement.no_offscreen, - floating = true + floating = false }, }, @@ -591,7 +609,10 @@ awful.rules.rules = { --DISABLED-- }, { rule = { type = "dialog" }, - properties = { placement = awful.placement.centered }}, + properties = { floating = true, + placement = awful.placement.centered + } + }, { rule = { class = "URxvt" }, properties = { @@ -610,7 +631,13 @@ awful.rules.rules = { }, callback = move_to_tag(screen.count() == 1 and 1 or 2, 9) }, - { rule = { class = "Icedove", instance = "Mail" }, + { rule = { class = "Firefox-esr", instance = "Navigator" }, + properties = { + floating = false, + }, + callback = move_to_tag(screen.count() == 1 and 1 or 2, 9) + }, + { rule = { class = "Thunderbird", instance = "Mail" }, properties = { floating = false, }, @@ -638,6 +665,16 @@ awful.rules.rules = { floating = false, }, }, + { rule = { class = "MuPDF", instance = "mupdf" }, + properties = { + floating = true, + }, + }, + { rule = { class = "Pinentry", instance = "pinentry" }, + properties = { + floating = true, + }, + }, } -- }}} @@ -654,6 +691,9 @@ client.connect_signal("manage", function (c) -- Prevent clients from being unreachable after screen count changes. awful.placement.no_offscreen(c) end + + c.maximized_horizontal = false + c.maximized_vertical = false end) -- Add a titlebar if titlebars_enabled is set to true in the rules. @@ -710,7 +750,7 @@ client.connect_signal("focus", function(c) c.border_color = beautiful.border_foc client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) awful.ewmh.add_activate_filter(function(c, context, hints) - if context == "ewmh" and c.class == "Firefox" then return false end + if context == "ewmh" and (c.class == "Firefox-esr" or c.class == "Firefox") then return false end end) -- vim:ft=lua:sw=4:sts=4:ts=4:et