diff --git a/icons/dev.png b/icons/dev.png new file mode 100644 index 0000000..6ce357e Binary files /dev/null and b/icons/dev.png differ diff --git a/icons/im.png b/icons/im.png new file mode 100644 index 0000000..01c079a Binary files /dev/null and b/icons/im.png differ diff --git a/icons/main.png b/icons/main.png new file mode 100644 index 0000000..d122521 Binary files /dev/null and b/icons/main.png differ diff --git a/icons/web.png b/icons/web.png new file mode 100644 index 0000000..e776818 Binary files /dev/null and b/icons/web.png differ diff --git a/icons/widgets/clock.png b/icons/widgets/clock.png new file mode 100644 index 0000000..ee6ed19 Binary files /dev/null and b/icons/widgets/clock.png differ diff --git a/icons/widgets/cpu.png b/icons/widgets/cpu.png new file mode 100644 index 0000000..9de5e80 Binary files /dev/null and b/icons/widgets/cpu.png differ diff --git a/icons/widgets/disk.png b/icons/widgets/disk.png new file mode 100644 index 0000000..66cc0c9 Binary files /dev/null and b/icons/widgets/disk.png differ diff --git a/icons/widgets/down.png b/icons/widgets/down.png new file mode 100644 index 0000000..863f3ab Binary files /dev/null and b/icons/widgets/down.png differ diff --git a/icons/widgets/left.png b/icons/widgets/left.png new file mode 100644 index 0000000..e7a6b0a Binary files /dev/null and b/icons/widgets/left.png differ diff --git a/icons/widgets/mem.png b/icons/widgets/mem.png new file mode 100644 index 0000000..88868e7 Binary files /dev/null and b/icons/widgets/mem.png differ diff --git a/icons/widgets/right.png b/icons/widgets/right.png new file mode 100644 index 0000000..1e7b4ad Binary files /dev/null and b/icons/widgets/right.png differ diff --git a/icons/widgets/spacer.png b/icons/widgets/spacer.png new file mode 100644 index 0000000..c3147ba Binary files /dev/null and b/icons/widgets/spacer.png differ diff --git a/icons/widgets/up.png b/icons/widgets/up.png new file mode 100644 index 0000000..ea43538 Binary files /dev/null and b/icons/widgets/up.png differ diff --git a/icons/widgets/vol.png b/icons/widgets/vol.png new file mode 100644 index 0000000..65a9a5c Binary files /dev/null and b/icons/widgets/vol.png differ diff --git a/rc.lua b/rc.lua index ba5e6e2..871320c 100644 --- a/rc.lua +++ b/rc.lua @@ -50,10 +50,10 @@ config.layouts = { awful.layout.suit.floating, } config.tags = { - { layout = awful.layout.suit.fair }, -- 1 - { name = "emacs", mwfact = 0.6 }, - { name = "www", mwfact = 0.7 }, - { name = "im" , mwfact = 0.2 }, + { layout = awful.layout.suit.fair, icon = "main" }, -- 1 + { name = "emacs", mwfact = 0.6, icon = "dev" }, + { name = "www", mwfact = 0.7, icon = "web" }, + { name = "im" , mwfact = 0.2, icon = "im" }, { }, -- 5 { }, -- 6 { }, -- 7 diff --git a/rc/tags.lua b/rc/tags.lua index 6e165d9..8e312ba 100644 --- a/rc/tags.lua +++ b/rc/tags.lua @@ -35,7 +35,9 @@ for i = 1, #tags do -- Properties for pname, pvalue in pairs(otags[i]) do - if pname ~= "name" and pname ~= "layout" then + if pname == "icon" then + awful.tag.seticon(awful.util.getdir("config") .. "/icons/" .. pvalue .. ".png", tags[i]) + elseif pname ~= "name" and pname ~= "layout" then awful.tag.setproperty(tags[i], pname, pvalue) end end diff --git a/rc/widgets.lua b/rc/widgets.lua index fe801e4..5faa4bb 100644 --- a/rc/widgets.lua +++ b/rc/widgets.lua @@ -3,23 +3,30 @@ require("vicious") local icons = loadrc("icons", "vbe/icons") --- Separator -local separator = widget({ type = "textbox" }) -separator.text = ' ' +-- Separators +local sepopen = widget({ type = "imagebox" }) +sepopen.image = image(awful.util.getdir("config") .. "/icons/widgets/left.png") +local sepclose = widget({ type = "imagebox" }) +sepclose.image = image(awful.util.getdir("config") .. "/icons/widgets/right.png") +local spacer = widget({ type = "imagebox" }) +spacer.image = image(awful.util.getdir("config") .. "/icons/widgets/spacer.png") -- Date local datewidget = widget({ type = "textbox" }) vicious.register(datewidget, vicious.widgets.date, '%a %d/%m, %H:%M', 61) +local dateicon = widget({ type = "imagebox" }) +dateicon.image = image(awful.util.getdir("config") .. "/icons/widgets/clock.png") -- CPU usage local cpuwidget = widget({ type = "textbox" }) vicious.register(cpuwidget, vicious.widgets.cpu, function (widget, args) - return string.format('CPU: ' .. - '%3d%%', + return string.format('%2d%%', args[1]) end, 2) +local cpuicon = widget({ type = "imagebox" }) +cpuicon.image = image(awful.util.getdir("config") .. "/icons/widgets/cpu.png") -- Battery local batwidget = { widget = "" } @@ -56,14 +63,20 @@ if config.hostname == "guybrush" then end -- Network -local netwidget = widget({ type = "textbox" }) +local netup = widget({ type = "textbox" }) +local netdown = widget({ type = "textbox" }) +local netupicon = widget({ type = "imagebox" }) +netupicon.image = image(awful.util.getdir("config") .. "/icons/widgets/up.png") +local netdownicon = widget({ type = "imagebox" }) +netdownicon.image = image(awful.util.getdir("config") .. "/icons/widgets/down.png") + local netgraph = awful.widget.graph() -netgraph:set_width(80):set_height(14) +netgraph:set_width(80):set_height(16) netgraph:set_stack(true):set_scale(true) netgraph:set_border_color(beautiful.fg_widget_border) netgraph:set_stack_colors({ "#FF0000", "#0000FF" }) netgraph:set_background_color("#00000000") -vicious.register(netwidget, vicious.widgets.net, +vicious.register(netup, vicious.widgets.net, function (widget, args) -- We sum up/down value for all interfaces local up = 0 @@ -87,22 +100,25 @@ vicious.register(netwidget, vicious.widgets.net, end return string.format("%d B", val) end - return string.format( - 'Up/Down: %08s/%08s ', format(up), format(down)) + -- Down + netdown.text = string.format('%08s', format(down)) + -- Up + return string.format('%08s', format(up)) end, 3) -- Memory usage local memwidget = widget({ type = "textbox" }) vicious.register(memwidget, vicious.widgets.mem, - 'Mem: ' .. - '$1%', + '$1%', 13) +local memicon = widget({ type = "imagebox" }) +memicon.image = image(awful.util.getdir("config") .. "/icons/widgets/mem.png") -- Volume level +local volicon = widget({ type = "imagebox" }) +volicon.image = image(awful.util.getdir("config") .. "/icons/widgets/vol.png") local volwidget = widget({ type = "textbox" }) vicious.register(volwidget, vicious.widgets.volume, '$2 $1%', @@ -121,6 +137,8 @@ local fs = { ["/"] = "root", ["/usr"] = "usr", ["/tmp"] = "tmp", ["/var/cache/build"] = "pbuilder" } +local fsicon = widget({ type = "imagebox" }) +fsicon.image = image(awful.util.getdir("config") .. "/icons/widgets/disk.png") local fswidget = widget({ type = "textbox" }) vicious.register(fswidget, vicious.widgets.fs, function (widget, args) @@ -135,7 +153,7 @@ vicious.register(fswidget, vicious.widgets.fs, result = string.format( '%s%s%s: ' .. '%2d%%', - result, #result > 0 and separator.text or "", name, used) + result, #result > 0 and " " or "", name, used) end end return result @@ -168,7 +186,6 @@ tasklist.buttons = awful.util.table.join( for s = 1, screen.count() do promptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright }) layoutbox[s] = awful.widget.layoutbox(s) - awful.widget.layout.margins[layoutbox[s]] = { left = 5 } tasklist[s] = awful.widget.tasklist( function(c) local fn = awful.widget.tasklist.label.currenttags @@ -192,7 +209,7 @@ for s = 1, screen.count() do fg = beautiful.fg_normal, bg = beautiful.bg_widget, position = "top", - height = 14, + height = 16, }) -- Add widgets to the wibox local on = function(n, what) @@ -202,19 +219,22 @@ for s = 1, screen.count() do wibox[s].widgets = { { - taglist[s], layoutbox[s], - separator, promptbox[s], + sepopen, + taglist[s], + spacer, + layoutbox[s], sepclose, + promptbox[s], layout = awful.widget.layout.horizontal.leftright }, - on(1, systray), on(1, separator), - datewidget, separator, - on(2, volwidget), on(2, separator), - on(2, batwidget.widget), on(2, batwidget.widget ~= "" and separator or ""), - on(2, fswidget), on(2, separator), - on(1, netgraph.widget), on(1, netwidget), on(1, separator), - on(1, memwidget), on(1, separator), - on(1, cpuwidget), on(1, separator), - tasklist[s], separator, + on(1, systray), + sepclose, datewidget, dateicon, spacer, + on(2, volwidget), on(2, volicon), on(2, spacer), + on(2, batwidget.widget), on(2, batwidget.widget ~= "" and spacer or ""), + on(2, fswidget), on(2, fsicon), on(2, sepopen), + on(1, netgraph.widget), on(1, netdownicon), on(1, netdown), on(1, netupicon), on(1, netup), on(1, spacer), + on(1, memwidget), on(1, memicon), on(1, spacer), + on(1, cpuwidget), on(1, cpuicon), on(1, sepopen), + tasklist[s], layout = awful.widget.layout.horizontal.rightleft } end