--- a/awesome/my.lua Sat Jun 20 20:32:45 2015 -0400
+++ b/awesome/my.lua Sun Sep 13 14:47:26 2015 -0400
@@ -24,7 +24,7 @@
--- Stolen from shifty: Shows a popup and logs to a file
-- @param message The text message.
--- @param log_level 1 = INFO, 2 = WARN, 3 = ERROR, if nothting is provided 1 is used.
+-- @param log_level 1 = INFO, 2 = WARN, 3 = ERROR, if nothing is provided 1 is used.
function log(message, log_level)
if log_level == nil then
log_level = 1
@@ -37,11 +37,12 @@
}
-- %c eg: Wed Jan 30 14:25:13 2013
local time = os.date("%c")
- message = time .. " - " .. log_table[log_level].level .. " - " .. message .. "\n" .. debug.traceback()
+ message = time .. " - " .. log_table[log_level].level .. " - " .. message .. "\n"
+ tb = debug.traceback()
local home = os.getenv("HOME")
local log_file = io.open(home .. "/.awesome.log", "a+")
- log_file:write(message .."\n")
+ log_file:write(message .. tb .. "\n")
log_file:close()
naughty.notify({ preset = naughty.config.presets.critical, text = message, bg = log_table[log_level].bg_colour, fg = log_table[log_level].fg_colour})
@@ -142,9 +143,9 @@
local w = wibox.widget.textbox()
-- w:set_vertical(true)
w.width = 150
- w.align = 'center'
+ w:set_align('center')
vicious.register(w, wicked.widgets.net,
- '${' .. device .. ' up} / ${' .. device .. ' down}',
+ '<tt>${' .. device .. ' up} ▴ ${' .. device .. ' down} ▾</tt>',
1)
return w
end
@@ -182,12 +183,19 @@
mode = widgets_mode,
keyboard = widgets_keyboard,
decorated = widgets_decorated,
+
}
-
function make_key(k, n, f)
return { key = k, name = n, func = f}
end
+function make_single_key(k, n, f)
+ if f == nil then
+ log("name: " .. n .. " is nil", 3)
+ end
+ return make_key(k, n, function (c) f(c); return true ; end)
+end
+
function show_kt(keytable, title)
-- todo: replace with a menu ?
text = ""
@@ -293,10 +301,24 @@
end
end
+function split_modifiers(key)
+ local modifiers = {}
+ local pattern = capi.string.format("([^+]+)", sep)
+ key:gsub(pattern, function(mod) table.insert(modifiers, mod) end)
+ key = table.remove(modifiers)
+ return modifiers, key
+end
+
function make_globalkeys(modifiers, keytable)
local t = {}
for _,k in ipairs(keytable) do
- t = awful.util.table.join(t, awful.key(modifiers, k.key, k.func))
+ local mods, key = split_modifiers(k.key)
+ mods = awful.util.table.join(modifiers, mods)
+ -- log("name=" .. k.name .. "; modifiers=" .. table.concat(mods, ":") .. "; key=" .. key)
+ if key == "Space" then
+ key = capi.string.lower(key)
+ end
+ t = awful.util.table.join(t, awful.key(mods, key, k.func))
end
return t
end