X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=.config%2Fawesome%2Frc.lua;h=ac7ab6f63026dc2218317cab45138a5dae75474a;hb=391dbf5eab5562e20547e8feae958d3647946812;hp=3bd510770ca31f4941691023d0ab59bd7c1aaf4c;hpb=6d84dd3a02154b9e2c3652c3f0579b2809428d03;p=x_base.git diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 3bd5107..ac7ab6f 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -1,16 +1,15 @@ -- Standard awesome library -require("awful") +local gears = require("gears") +local awful = require("awful") +awful.rules = require("awful.rules") require("awful.autofocus") -require("awful.rules") +-- Widget and layout library +local wibox = require("wibox") -- Theme handling library -require("beautiful") +local beautiful = require("beautiful") -- Notification library -require("naughty") - --- require("obvious.volume_alsa") -require("obvious.battery") -require("obvious.temp_info") - +local naughty = require("naughty") +local menubar = require("menubar") -- Load Debian menu entries require("debian.menu") @@ -21,10 +20,30 @@ function file_exists(file) if s == 'true' then return true else return nil end end + -- {{{ Variable definitions -- Themes define colours, icons, and wallpapers beautiful.init("/usr/share/awesome/themes/default/theme.lua") +-- local APW +-- if file_exists("apw/widget.lua") then +local APW = require("apw/widget") +-- end + +-- local vicious +local vicious = require("vicious") + +local cpuwidget = wibox.widget.textbox() +vicious.register(cpuwidget, vicious.widgets.cpu, "$1%CPU ") +local batwidget = wibox.widget.textbox() +local has_battery = false +if file_exists("/sys/class/power_supply/BAT1") then + vicious.register(batwidget,vicious.widgets.bat," $2%$1 $3",120,"BAT1") + has_battery = true +elseif file_exists("/sys/class/power_supply/BAT0") then + vicious.register(batwidget,vicious.widgets.bat," $2%$1 $3",120,"BAT0") + has_battery = true +end -- This is used later as the default terminal and editor to run. terminal = "x-terminal-emulator" editor = os.getenv("EDITOR") or "editor" @@ -41,7 +60,7 @@ hostname = awful.util.pread("hostname -f"):gsub("\n", "") modkey = "Mod4" -- Table of layouts to cover with awful.layout.inc, order matters. -layouts = +local layouts = { awful.layout.suit.tile, awful.layout.suit.tile.left, @@ -64,7 +83,7 @@ tags = {names={"mail","emacs","www","remotes",5,6,7,8,9} } for s = 1, screen.count() do -- Each screen has its own tag table. - defaultlayout=layouts[9] + local defaultlayout=layouts[9] tags[s] = awful.tag(tags.names, s, defaultlayout) end -- }}} @@ -84,21 +103,17 @@ mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesom } }) -mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon), +mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = mymainmenu }) -- }}} -- {{{ Wibox -- Create a textclock widget -mytextclock = awful.widget.textclock({ align = "right" }, " %c ", 1) - --- myvolumealsa = obvious.volume_alsa() -mybattery = obvious.battery() +mytextclock = awful.widget.textclock() --{ align = "right" }, " %c ", 1) -mytemp = obvious.temp_info() +-- mybattery = obvious.battery() --- Create a systray -mysystray = widget({ type = "systray" }) +-- mytemp = obvious.temp_info() -- Create a wibox for each screen and add it mywibox = {} @@ -141,7 +156,7 @@ mytasklist.buttons = awful.util.table.join( for s = 1, screen.count() do -- Create a promptbox for each screen - mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright }) + mypromptbox[s] = awful.widget.prompt() -- Create an imagebox widget which will contains an icon indicating which layout we're using. -- We need one layoutbox per screen. mylayoutbox[s] = awful.widget.layoutbox(s) @@ -151,32 +166,38 @@ for s = 1, screen.count() do awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end), awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end))) -- Create a taglist widget - mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons) + mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons) -- Create a tasklist widget - mytasklist[s] = awful.widget.tasklist(function(c) - return awful.widget.tasklist.label.currenttags(c, s) - end, mytasklist.buttons) + mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons) -- Create the wibox mywibox[s] = awful.wibox({ position = "top", screen = s }) - -- Add widgets to the wibox - order matters - mywibox[s].widgets = { - { - mylauncher, - mytaglist[s], - mypromptbox[s], - layout = awful.widget.layout.horizontal.leftright - }, - mylayoutbox[s], - mytextclock, --- myvolumealsa, - mybattery, - mytemp, - s == 1 and mysystray or nil, - mytasklist[s], - layout = awful.widget.layout.horizontal.rightleft - } + + -- Widgets that are aligned to the left + local left_layout = wibox.layout.fixed.horizontal() + left_layout:add(mylauncher) + left_layout:add(mytaglist[s]) + left_layout:add(mypromptbox[s]) + + -- Widgets that are aligned to the right + local right_layout = wibox.layout.fixed.horizontal() + if s == 1 then right_layout:add(wibox.widget.systray()) end + + right_layout:add(cpuwidget) + if has_battery then + right_layout:add(batwidget) + end + right_layout:add(mytextclock) + right_layout:add(mylayoutbox[s]) + + -- Now bring it all together (with the tasklist in the middle) + local layout = wibox.layout.align.horizontal() + layout:set_left(left_layout) + layout:set_middle(mytasklist[s]) + layout:set_right(right_layout) + + mywibox[s]:set_widget(layout) end -- }}} @@ -192,9 +213,11 @@ root.buttons(awful.util.table.join( globalkeys = awful.util.table.join( -- awful.key({ modkey, }, "Left", awful.tag.viewprev ), -- awful.key({ modkey, }, "Right", awful.tag.viewnext ), - awful.key({},"XF86AudioRaiseVolume",function () obvious.volume_alsa.raise(0, "Master", 2) end), - awful.key({},"XF86AudioLowerVolume",function () obvious.volume_alsa.lower(0, "Master", 2) end), + awful.key({},"XF86AudioRaiseVolume",APW.Up), + awful.key({},"XF86AudioLowerVolume",APW.Down), awful.key({},"XF86RotateWindows", function () awful.util.spawn("rotate_monitor") end), + awful.key({},"XF86MonBrightnessUp",function() awful.util.spawn("xbacklight -inc 5") end), + awful.key({},"XF86MonBrightnessDown",function() awful.util.spawn("xbacklight -dec 5") end), awful.key({ modkey, }, "Escape", awful.tag.history.restore), awful.key({ modkey, }, "j", @@ -403,7 +426,7 @@ client.add_signal("unfocus", function(c) c.border_color = beautiful.border_norma -- }}} -wallpaper_dir = home .. "/media/photos/gallery.donarmstrong.com/" +wallpaper_dir = home .. "/media/background" if (not file_exists(wallpaper_dir)) then wallpaper_dir = "/usr/share/awesome/themes/default/background.png" end @@ -413,19 +436,19 @@ wallpaper_cmd = "find " .. wallpaper_dir .. " -not -name '.*' -print0 | shuf -n" .. screen.count() .. " -z | xargs -0 feh --draw-exif -d --bg-max" -- set up the wallpaper timer -wallpaper_timer = timer({ timeout = 0 }) -wallpaper_timer:add_signal("timeout", - function() - -- tell awsetbg to randomly choose a wallpaper from your wallpaper directory - os.execute(wallpaper_cmd) - -- stop the timer (we don't need multiple instances running at the same time) - wallpaper_timer:stop() - - -- define the interval in which the next wallpaper change should occur in seconds - -- (in this case anytime between 10 and 20 minutes) - --restart the timer - wallpaper_timer.timeout = math.random(600,1200) - wallpaper_timer:start() - end -) -wallpaper_timer:start(); +-- wallpaper_timer = timer({ timeout = 0 }) +-- wallpaper_timer:add_signal("timeout", +-- function() +-- -- tell awsetbg to randomly choose a wallpaper from your wallpaper directory +-- os.execute(wallpaper_cmd) +-- -- stop the timer (we don't need multiple instances running at the same time) +-- wallpaper_timer:stop() +-- +-- -- define the interval in which the next wallpaper change should occur in seconds +-- -- (in this case anytime between 10 and 20 minutes) +-- --restart the timer +-- wallpaper_timer.timeout = math.random(600,1200) +-- wallpaper_timer:start() +-- end +-- ) +-- wallpaper_timer:start();