local lain = require("lain")
local dkjson = require("lain.util").dkjson
local math = require("math")
+local freedesktop = require("freedesktop")
+local luatz = require("luatz")
-- }}}
-- {{{ Error handling
{ "quit", awesome.quit }
}
-mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
- { "open terminal", terminal }
- }
- })
+mymainmenu = freedesktop.menu.build({
+ before = {
+ { "awesome", myawesomemenu, beautiful.awesome_icon },
+ { "terminal", terminal },
+ },
+ after = {
+ }
+})
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
menu = mymainmenu })
-- {{{ Wibox
local spacer = wibox.widget.textbox()
-spacer:set_text(' | ')
+spacer:set_text(' │ ')
-- Create a textclock widget
-mytextclock = wibox.widget.textclock("%a %d %b %H:%M:%S", 1)
+clocks = { wibox.widget.textclock("%a %d %b %H:%M:%S", 1) }
+
+ZONES = {
+ ["NZ"] = "Pacific/Auckland",
+ ["DE"] = "Europe/Berlin"
+}
+
+now = luatz.time_in(nil)
+for c, tz in sorted_pairs(ZONES) do
+ t = luatz.time_in(tz)
+ if math.abs(os.difftime(t, now)) > 10 then
+ local widget = wibox.widget.textclock(c .. ": %H:%M (%a)", 60, tz)
+ table.insert(clocks, spacer)
+ table.insert(clocks, widget)
+ end
+end
-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox[s],
},
mytasklist[s], -- Middle widget
- { -- Right widgets
- layout = wibox.layout.fixed.horizontal,
- mykeyboardlayout,
- wibox.widget.systray(),
- btc_widget,
- spacer,
- lain_bat.widget,
- spacer,
- mytextclock,
- mylayoutbox[s],
- },
+ awful.util.table.join( -- Right widgets
+ {
+ layout = wibox.layout.fixed.horizontal,
+ mykeyboardlayout,
+ wibox.widget.systray(),
+ btc_widget,
+ spacer,
+ lain_bat.widget,
+ spacer,
+ },
+ clocks,
+ {
+ mylayoutbox[s],
+ }
+ ),
}
end)
-- }}}
{ rule = { class = "URxvt" },
properties = {
- floating = false,
+ -- floating = false,
size_hints_honor = false
} },
{ rule = { class = "URxvt", instance = "irc" },
client.connect_signal("manage", function (c)
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
- -- if not awesome.startup then awful.client.setslave(c) end
+ if not awesome.startup then awful.client.setslave(c) end
if awesome.startup and
not c.size_hints.user_position