diff -r e9e2f624cd99 -r 6348b9f842b2 awesome/my.lua --- 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}', + '${' .. device .. ' up} ▴ ${' .. device .. ' down} ▾', 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