Fixes rc.lua for desktop.

This commit is contained in:
Ian Adam Naval 2014-04-16 02:31:41 -04:00
parent 7b34acb50c
commit 3cefee938a

View File

@ -3,38 +3,46 @@ local gears = require("gears")
local awful = require("awful") local awful = require("awful")
awful.rules = require("awful.rules") awful.rules = require("awful.rules")
require("awful.autofocus") require("awful.autofocus")
-- Widget and layout library -- Widget and layout library
local wibox = require("wibox") local wibox = require("wibox")
-- Theme handling library -- Theme handling library
local beautiful = require("beautiful") local beautiful = require("beautiful")
-- Notification library -- Notification library
local naughty = require("naughty") local naughty = require("naughty")
local menubar = require("menubar") local menubar = require("menubar")
require('freedesktop.utils') -- Freedesktop utilities
require('freedesktop.menu') local freedesktoputils = require('freedesktop.utils')
-- require("debian.menu") local freedesktopmenu = require('freedesktop.menu')
-- {{{ Error handling -- {{{ Error handling
-- Check if awesome encountered an error during startup and fell back to -- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config) -- another config (This code will only ever execute for the fallback config)
if awesome.startup_errors then if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical, naughty.notify({
preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!", title = "Oops, there were errors during startup!",
text = awesome.startup_errors }) text = awesome.startup_errors
})
end end
-- Handle runtime errors after startup -- Handle runtime errors after startup
do do
local in_error = false local in_error = false
awesome.connect_signal("debug::error", function (err) awesome.connect_signal("debug::error",
function (err)
-- Make sure we don't go into an endless error loop -- Make sure we don't go into an endless error loop
if in_error then return end if in_error then return end
in_error = true in_error = true
naughty.notify({ preset = naughty.config.presets.critical, naughty.notify({
preset = naughty.config.presets.critical,
title = "Oops, an error happened!", title = "Oops, an error happened!",
text = err }) text = err
})
in_error = false in_error = false
end) end)
end end
@ -49,8 +57,10 @@ terminal = "terminology"
editor = os.getenv("EDITOR") or "vim" editor = os.getenv("EDITOR") or "vim"
editor_cmd = terminal .. " -e " .. editor editor_cmd = terminal .. " -e " .. editor
-- For freedesktop menu
freedesktop.utils.terminal = terminal -- default: "xterm" freedesktop.utils.terminal = terminal -- default: "xterm"
freedesktop.utils.icon_theme = 'gnome' -- look inside /usr/share/icons/, default: nil (don't use icon theme) freedesktop.utils.icon_theme = 'gnome' -- look inside /usr/share/icons/, default: nil (don't use icon theme)
freedesktop.utils.app_folders = { "/usr/share/applications/", "~/.local/share/applications/" }
-- Default modkey. -- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt. -- Usually, Mod4 is the key with a logo between Control and Alt.
@ -103,19 +113,17 @@ myawesomemenu = {
{ "quit", awesome.quit } { "quit", awesome.quit }
} }
-- Add freedesktop menu
menu_items = freedesktop.menu.new() menu_items = freedesktop.menu.new()
table.insert(menu_items, { "awesome", myawesomemenu, beautiful.awesome_icon }) table.insert(menu_items, { "awesome", myawesomemenu, beautiful.awesome_icon })
table.insert(menu_items, { "open terminal", terminal }) table.insert(menu_items, { "open terminal", terminal })
mymainmenu = awful.menu({ items = menu_items }) mymainmenu = awful.menu({ items = menu_items })
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, mylauncher = awful.widget.launcher({
menu = mymainmenu }) image = beautiful.awesome_icon,
menu = mymainmenu
-- Menubar configuration })
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
menubar.app_folders = { "/usr/share/applications/", "~/.local/share/applications/" }
-- }}} -- }}}
@ -166,6 +174,7 @@ mytasklist.buttons = awful.util.table.join(
awful.client.focus.byidx(1) awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end if client.focus then client.focus:raise() end
end), end),
awful.button({ }, 5, function () awful.button({ }, 5, function ()
awful.client.focus.byidx(-1) awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end if client.focus then client.focus:raise() end
@ -191,16 +200,20 @@ for s = 1, screen.count() do
-- Create the wibox -- Create the wibox
mywibox[s] = awful.wibox({ position = "top", screen = s }) mywibox[s] = awful.wibox({ position = "top", screen = s })
-- Only create sysmon stuff for one screen
if s == 1 then
batterywidget = wibox.widget.textbox() batterywidget = wibox.widget.textbox()
batterywidget:set_text("Battery | ") batterywidget:set_text("No battery | ")
batterywidgettimer = timer({ timeout = 5 }) batterywidgettimer = timer({ timeout = 5 })
batterywidgettimer:connect_signal("timeout", batterywidgettimer:connect_signal("timeout",
function() function()
fh = assert(io.popen("cat /sys/class/power_supply/BAT1/capacity", "r")) fh = assert(io.popen("cat /sys/class/power_supply/BAT1/capacity", "r"))
batterywidget:set_text(fh:read("*l") .. "% | ") battery = fh:read("*l")
fh:close() if battery then
batterywidget:set_text(battery .. "% | ")
end end
) fh:close()
end)
batterywidgettimer:start() batterywidgettimer:start()
memorywidget = wibox.widget.textbox() memorywidget = wibox.widget.textbox()
@ -209,10 +222,12 @@ memorywidgettimer = timer({ timeout = 5 })
memorywidgettimer:connect_signal("timeout", memorywidgettimer:connect_signal("timeout",
function() function()
fh = assert(io.popen("free -m | grep '-' | awk '{print $4}'", "r")) fh = assert(io.popen("free -m | grep '-' | awk '{print $4}'", "r"))
memorywidget:set_text(fh:read("*l") .. " MB | ") memory = fh:read("*l")
fh:close() if memory then
memorywidget:set_text(memory .. " MB | ")
end end
) fh:close()
end)
memorywidgettimer:start() memorywidgettimer:start()
loadwidget = wibox.widget.textbox() loadwidget = wibox.widget.textbox()
@ -221,11 +236,16 @@ loadwidgettimer = timer({ timeout = 5 })
loadwidgettimer:connect_signal("timeout", loadwidgettimer:connect_signal("timeout",
function() function()
fh = assert(io.popen("uptime | sed -e 's/.*average: //' | sed -e 's/,.*//'", "r")) fh = assert(io.popen("uptime | sed -e 's/.*average: //' | sed -e 's/,.*//'", "r"))
loadwidget:set_text(fh:read("*l") .. " | ") loadavg = fh:read("*l")
if loadavg then
loadwidget:set_text(loadavg .. " | ")
end
fh:close() fh:close()
end end
) )
loadwidgettimer:start() loadwidgettimer:start()
end
-- Widgets that are aligned to the left -- Widgets that are aligned to the left
local left_layout = wibox.layout.fixed.horizontal() local left_layout = wibox.layout.fixed.horizontal()
left_layout:add(mylauncher) left_layout:add(mylauncher)
@ -237,11 +257,13 @@ loadwidgettimer:start()
-- Widgets that are aligned to the right -- Widgets that are aligned to the right
local right_layout = wibox.layout.fixed.horizontal() local right_layout = wibox.layout.fixed.horizontal()
if s == 1 then right_layout:add(wibox.widget.systray()) end if s == 1 then
right_layout:add(wibox.widget.systray())
right_layout:add(loadwidget) right_layout:add(loadwidget)
right_layout:add(memorywidget) right_layout:add(memorywidget)
right_layout:add(batterywidget) right_layout:add(batterywidget)
right_layout:add(mytextclock) right_layout:add(mytextclock)
end
right_layout:add(mylayoutbox[s]) right_layout:add(mylayoutbox[s])
-- Now bring it all together (with the tasklist in the middle) -- Now bring it all together (with the tasklist in the middle)
@ -353,7 +375,6 @@ for i = 1, 9 do
globalkeys = awful.util.table.join(globalkeys, globalkeys = awful.util.table.join(globalkeys,
-- Brightness -- Brightness
awful.key({ }, "XF86MonBrightnessDown", function () awful.key({ }, "XF86MonBrightnessDown", function ()
awful.util.spawn("xbacklight -dec 10") end), awful.util.spawn("xbacklight -dec 10") end),
awful.key({ }, "XF86MonBrightnessUp", function () awful.key({ }, "XF86MonBrightnessUp", function ()
@ -506,4 +527,3 @@ end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}} -- }}}