X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/4915783a7d212d780ba6a10009aa6fbe74d33e71..6a3bcf63009c047037855888a8dc66ae3d5a542d:/.config/awesome/rc.lua diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 75772d9..3246cb4 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -7,6 +7,7 @@ require("awful.autofocus") local wibox = require("wibox") -- Theme handling library local beautiful = require("beautiful") +local xrdb = beautiful.xresources -- Notification library local naughty = require("naughty") local menubar = require("menubar") @@ -14,6 +15,8 @@ local hotkeys_popup = require("awful.hotkeys_popup").widget local lain = require("lain") local dkjson = require("lain.util").dkjson local math = require("math") +local freedesktop = require("freedesktop") +local luatz = require("luatz") -- }}} -- {{{ Error handling @@ -42,8 +45,12 @@ end -- }}} -- {{{ Variable definitions +--xrdb.set_dpi(95, screen[1]) +--xrdb.set_dpi(120, screen[2]) + -- Themes define colours, icons, and wallpapers beautiful.init(awful.util.get_themes_dir() .. "default/theme.lua") +beautiful.font = 'Sans 10' -- This is used later as the default terminal and editor to run. terminal = "x-terminal-emulator" @@ -178,10 +185,14 @@ myawesomemenu = { { "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 }) @@ -193,9 +204,23 @@ menubar.utils.terminal = terminal -- Set the terminal for applications that requ -- {{{ 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 %Z", 1) } + +ZONES = { + ["NZ"] = "Pacific/Auckland", + ["DE"] = "Europe/Berlin" +} +local now = luatz.time_in(nil) +for c, tz in sorted_pairs(ZONES) do + local 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, 1, spacer) + table.insert(clocks, 1, widget) + end +end -- Create a wibox for each screen and add it mywibox = {} @@ -283,6 +308,8 @@ elseif screen.count() == 3 then -- main screen is still #1 in the middle end awful.screen.connect_for_each_screen(function(s) + -- local fontsize = math.floor(250 * xrdb.get_dpi(s)/s.geometry.width) + -- beautiful.font = "Sans " .. tostring(fontsize) -- Wallpaper --DISABLED--if beautiful.wallpaper then --DISABLED-- local wallpaper = beautiful.wallpaper @@ -331,17 +358,21 @@ awful.screen.connect_for_each_screen(function(s) 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) -- }}} @@ -618,7 +649,7 @@ awful.rules.rules = { { rule = { class = "URxvt" }, properties = { - floating = false, + -- floating = false, size_hints_honor = false } }, { rule = { class = "URxvt", instance = "irc" }, @@ -690,7 +721,7 @@ awful.rules.rules = { 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