awesome/my.lua
changeset 14 6348b9f842b2
parent 13 e9e2f624cd99
child 15 73df43769340
--- 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