diff --git a/.gitmodules b/.gitmodules
index 2852cea..5bc7f34 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
-[submodule "awesome/.config/awesome/battery-widget"]
- path = awesome/.config/awesome/battery-widget
- url = https://github.com/deficient/battery-widget
+[submodule "awesome/.config/awesome/lain"]
+ path = awesome/.config/awesome/lain
+ url = https://github.com/lcpz/lain
+[submodule "awesome/.config/awesome/freedesktop"]
+ path = awesome/.config/awesome/freedesktop
+ url = https://github.com/lcpz/awesome-freedesktop
diff --git a/awesome/.config/awesome/.gitignore b/awesome/.config/awesome/.gitignore
new file mode 100644
index 0000000..1850b3c
--- /dev/null
+++ b/awesome/.config/awesome/.gitignore
@@ -0,0 +1,5 @@
+rc.lua
+rc.lua.save
+theme-personal.lua
+.luacheckrc
+wip/
diff --git a/awesome/.config/awesome/.gitmodules b/awesome/.config/awesome/.gitmodules
new file mode 100644
index 0000000..1bcc59b
--- /dev/null
+++ b/awesome/.config/awesome/.gitmodules
@@ -0,0 +1,7 @@
+[submodule "lain"]
+ path = lain
+ url = https://github.com/lcpz/lain
+
+[submodule "freedesktop"]
+ path = freedesktop
+ url = https://github.com/lcpz/awesome-freedesktop
diff --git a/awesome/.config/awesome/battery-widget b/awesome/.config/awesome/battery-widget
deleted file mode 160000
index 25b7e94..0000000
--- a/awesome/.config/awesome/battery-widget
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 25b7e94a34ed854697d61e3cbb0a3ebd9745dbd4
diff --git a/awesome/.config/awesome/freedesktop b/awesome/.config/awesome/freedesktop
new file mode 160000
index 0000000..c82ad29
--- /dev/null
+++ b/awesome/.config/awesome/freedesktop
@@ -0,0 +1 @@
+Subproject commit c82ad2960c5f0c84e765df68554c266ea7e9464d
diff --git a/awesome/.config/awesome/lain b/awesome/.config/awesome/lain
new file mode 160000
index 0000000..438dd74
--- /dev/null
+++ b/awesome/.config/awesome/lain
@@ -0,0 +1 @@
+Subproject commit 438dd7481026519f1e924a2b3087e7cda559df57
diff --git a/awesome/.config/awesome/rc.lua b/awesome/.config/awesome/rc.lua
index 73d4290..a86a2e4 100644
--- a/awesome/.config/awesome/rc.lua
+++ b/awesome/.config/awesome/rc.lua
@@ -1,173 +1,229 @@
+--[[
+
+ Awesome WM configuration template
+ github.com/lcpz
+
+--]]
+
+-- {{{ Required libraries
+
-- If LuaRocks is installed, make sure that packages installed through it are
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
pcall(require, "luarocks.loader")
--- Standard awesome library
-local gears = require("gears")
-local awful = require("awful")
-require("awful.autofocus")
--- Widget and layout library
-local wibox = require("wibox")
--- Theme handling library
-local beautiful = require("beautiful")
--- Notification library
-local naughty = require("naughty")
-local menubar = require("menubar")
+local gears = require("gears")
+local awful = require("awful")
+ require("awful.autofocus")
+local wibox = require("wibox")
+local beautiful = require("beautiful")
+local naughty = require("naughty")
+local lain = require("lain")
+--local menubar = require("menubar")
+local freedesktop = require("freedesktop")
local hotkeys_popup = require("awful.hotkeys_popup")
--- Enable hotkeys help widget for VIM and other apps
--- when client with a matching name is opened:
-require("awful.hotkeys_popup.keys")
+ require("awful.hotkeys_popup.keys")
+local mytable = awful.util.table or gears.table -- 4.{0,1} compatibility
--- Load Debian menu entries
-local debian = require("debian.menu")
-local has_fdo, freedesktop = pcall(require, "freedesktop")
+-- }}}
-- {{{ Error handling
+
-- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config)
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!",
- text = awesome.startup_errors })
+ text = awesome.startup_errors
+ }
end
-- Handle runtime errors after startup
do
local in_error = false
- awesome.connect_signal("debug::error", function(err)
- -- Make sure we don't go into an endless error loop
+
+ awesome.connect_signal("debug::error", function (err)
if in_error then return end
+
in_error = true
- naughty.notify({ preset = naughty.config.presets.critical,
+ naughty.notify {
+ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
- text = tostring(err) })
+ text = tostring(err)
+ }
+
in_error = false
end)
end
+
+-- }}}
+
+-- {{{ Autostart windowless processes
+
+-- This function will run once every time Awesome is started
+local function run_once(cmd_arr)
+ for _, cmd in ipairs(cmd_arr) do
+ awful.spawn.with_shell(string.format("pgrep -u $USER -fx '%s' > /dev/null || (%s)", cmd, cmd))
+ end
+end
+
+run_once({ "urxvtd", "unclutter -root" }) -- comma-separated entries
+
+-- This function implements the XDG autostart specification
+--[[
+awful.spawn.with_shell(
+ 'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' ..
+ 'xrdb -merge <<< "awesome.started:true";' ..
+ -- list each of your autostart commands, followed by ; inside single quotes, followed by ..
+ 'dex --environment Awesome --autostart --search-paths "$XDG_CONFIG_DIRS/autostart:$XDG_CONFIG_HOME/autostart"' -- https://github.com/jceb/dex
+)
+--]]
+
-- }}}
-- {{{ Variable definitions
--- Themes define colours, icons, font and wallpapers.
-beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
--- This is used later as the default terminal and editor to run.
-terminal = "alacritty"
-editor = os.getenv("EDITOR") or "editor"
-editor_cmd = terminal .. " -e " .. editor
+local themes = {
+ "blackburn", -- 1
+ "copland", -- 2
+ "dremora", -- 3
+ "holo", -- 4
+ "multicolor", -- 5
+ "powerarrow", -- 6
+ "powerarrow-dark", -- 7
+ "rainbow", -- 8
+ "steamburn", -- 9
+ "vertex" -- 10
+}
--- Default modkey.
--- Usually, Mod4 is the key with a logo between Control and Alt.
--- If you do not like this or do not have such a key,
--- I suggest you to remap Mod4 to another key using xmodmap or other tools.
--- However, you can use another modifier like Mod1, but it may interact with others.
-modkey = "Mod4"
+local chosen_theme = themes[6]
+local modkey = "Mod4"
+local altkey = "Mod1"
+local terminal = "alacritty"
+local vi_focus = false -- vi-like client focus https://github.com/lcpz/awesome-copycats/issues/275
+local cycle_prev = true -- cycle with only the previously focused client or all https://github.com/lcpz/awesome-copycats/issues/274
+local editor = os.getenv("EDITOR") or "nvim"
+local browser = "firefox"
--- Table of layouts to cover with awful.layout.inc, order matters.
+awful.util.terminal = terminal
+awful.util.tagnames = { "1", "2", "3", "4", "5" }
awful.layout.layouts = {
awful.layout.suit.tile,
awful.layout.suit.floating,
- awful.layout.suit.tile.left,
- awful.layout.suit.tile.bottom,
- awful.layout.suit.tile.top,
- awful.layout.suit.fair,
- awful.layout.suit.fair.horizontal,
- awful.layout.suit.spiral,
- awful.layout.suit.spiral.dwindle,
- awful.layout.suit.max,
+ -- awful.layout.suit.tile.left,
+ -- awful.layout.suit.tile.bottom,
+ -- awful.layout.suit.tile.top,
+ --awful.layout.suit.fair,
+ --awful.layout.suit.fair.horizontal,
+ --awful.layout.suit.spiral,
+ --awful.layout.suit.spiral.dwindle,
+ --awful.layout.suit.max,
awful.layout.suit.max.fullscreen,
- awful.layout.suit.magnifier,
- awful.layout.suit.corner.nw,
- -- awful.layout.suit.corner.ne,
- -- awful.layout.suit.corner.sw,
- -- awful.layout.suit.corner.se,
+ --awful.layout.suit.magnifier,
+ --awful.layout.suit.corner.nw,
+ --awful.layout.suit.corner.ne,
+ --awful.layout.suit.corner.sw,
+ --awful.layout.suit.corner.se,
+ --lain.layout.cascade,
+ --lain.layout.cascade.tile,
+ --lain.layout.centerwork,
+ --lain.layout.centerwork.horizontal,
+ --lain.layout.termfair,
+ --lain.layout.termfair.center
}
+
+lain.layout.termfair.nmaster = 3
+lain.layout.termfair.ncol = 1
+lain.layout.termfair.center.nmaster = 3
+lain.layout.termfair.center.ncol = 1
+lain.layout.cascade.tile.offset_x = 2
+lain.layout.cascade.tile.offset_y = 32
+lain.layout.cascade.tile.extra_padding = 5
+lain.layout.cascade.tile.nmaster = 5
+lain.layout.cascade.tile.ncol = 2
+
+awful.util.taglist_buttons = mytable.join(
+ awful.button({ }, 1, function(t) t:view_only() end),
+ awful.button({ modkey }, 1, function(t)
+ if client.focus then client.focus:move_to_tag(t) end
+ end),
+ awful.button({ }, 3, awful.tag.viewtoggle),
+ awful.button({ modkey }, 3, function(t)
+ if client.focus then client.focus:toggle_tag(t) end
+ end),
+ awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end),
+ awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end)
+)
+
+awful.util.tasklist_buttons = mytable.join(
+ awful.button({ }, 1, function(c)
+ if c == client.focus then
+ c.minimized = true
+ else
+ c:emit_signal("request::activate", "tasklist", { raise = true })
+ end
+ end),
+ awful.button({ }, 3, function()
+ awful.menu.client_list({ theme = { width = 250 } })
+ end),
+ awful.button({ }, 4, function() awful.client.focus.byidx(1) end),
+ awful.button({ }, 5, function() awful.client.focus.byidx(-1) end)
+)
+
+beautiful.init(string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), chosen_theme))
+
-- }}}
-- {{{ Menu
+
-- Create a launcher widget and a main menu
-myawesomemenu = {
- { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
- { "manual", terminal .. " -e man awesome" },
- { "edit config", editor_cmd .. " " .. awesome.conffile },
- { "restart", awesome.restart },
- { "quit", function() awesome.quit() end },
+local myawesomemenu = {
+ { "Hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
+ { "Manual", string.format("%s -e man awesome", terminal) },
+ { "Edit config", string.format("%s -e %s %s", terminal, editor, awesome.conffile) },
+ { "Restart", awesome.restart },
+ { "Quit", function() awesome.quit() end },
}
-local menu_awesome = { "awesome", myawesomemenu, beautiful.awesome_icon }
-local menu_terminal = { "open terminal", terminal }
+awful.util.mymainmenu = freedesktop.menu.build {
+ before = {
+ { "Awesome", myawesomemenu, beautiful.awesome_icon },
+ -- other triads can be put here
+ },
+ after = {
+ { "Open terminal", terminal },
+ -- other triads can be put here
+ }
+}
-if has_fdo then
- mymainmenu = freedesktop.menu.build({
- before = { menu_awesome },
- after = { menu_terminal }
- })
-else
- mymainmenu = awful.menu({
- items = {
- menu_awesome,
- { "Debian", debian.menu.Debian_menu.Debian },
- menu_terminal,
- }
- })
-end
+-- Hide the menu when the mouse leaves it
+--[[
+awful.util.mymainmenu.wibox:connect_signal("mouse::leave", function()
+ if not awful.util.mymainmenu.active_child or
+ (awful.util.mymainmenu.wibox ~= mouse.current_wibox and
+ awful.util.mymainmenu.active_child.wibox ~= mouse.current_wibox) then
+ awful.util.mymainmenu:hide()
+ else
+ awful.util.mymainmenu.active_child.wibox:connect_signal("mouse::leave",
+ function()
+ if awful.util.mymainmenu.wibox ~= mouse.current_wibox then
+ awful.util.mymainmenu:hide()
+ end
+ end)
+ end
+end)
+--]]
+-- Set the Menubar terminal for applications that require it
+--menubar.utils.terminal = terminal
-mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
- menu = mymainmenu })
-
--- Menubar configuration
-menubar.utils.terminal = terminal -- Set the terminal for applications that require it
-- }}}
--- Keyboard map indicator and switcher
-mykeyboardlayout = awful.widget.keyboardlayout()
+-- {{{ Screen
--- {{{ Wibar
--- Create a textclock widget
-mytextclock = wibox.widget.textclock()
-
--- Create a wibox for each screen and add it
-local taglist_buttons = gears.table.join(
- awful.button({}, 1, function(t) t:view_only() end),
- awful.button({ modkey }, 1, function(t)
- if client.focus then
- client.focus:move_to_tag(t)
- end
- end),
- awful.button({}, 3, awful.tag.viewtoggle),
- awful.button({ modkey }, 3, function(t)
- if client.focus then
- client.focus:toggle_tag(t)
- end
- end),
- awful.button({}, 4, function(t) awful.tag.viewnext(t.screen) end),
- awful.button({}, 5, function(t) awful.tag.viewprev(t.screen) end)
-)
-
-local tasklist_buttons = gears.table.join(
- awful.button({}, 1, function(c)
- if c == client.focus then
- c.minimized = true
- else
- c:emit_signal(
- "request::activate",
- "tasklist",
- { raise = true }
- )
- end
- end),
- awful.button({}, 3, function()
- awful.menu.client_list({ theme = { width = 250 } })
- end),
- awful.button({}, 4, function()
- awful.client.focus.byidx(1)
- end),
- awful.button({}, 5, function()
- awful.client.focus.byidx(-1)
- end))
-
-local function set_wallpaper(s)
+-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
+screen.connect_signal("property::geometry", function(s)
-- Wallpaper
if beautiful.wallpaper then
local wallpaper = beautiful.wallpaper
@@ -177,380 +233,524 @@ local function set_wallpaper(s)
end
gears.wallpaper.maximized(wallpaper, s, true)
end
-end
-
--- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
-screen.connect_signal("property::geometry", set_wallpaper)
-
-awful.screen.connect_for_each_screen(function(s)
- -- Wallpaper
- set_wallpaper(s)
-
- -- Each screen has its own tag table.
- awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
-
- -- Create a promptbox for each screen
- s.mypromptbox = awful.widget.prompt()
- -- Create an imagebox widget which will contain an icon indicating which layout we're using.
- -- We need one layoutbox per screen.
- s.mylayoutbox = awful.widget.layoutbox(s)
- s.mylayoutbox:buttons(gears.table.join(
- awful.button({}, 1, function() awful.layout.inc(1) end),
- awful.button({}, 3, function() awful.layout.inc(-1) end),
- awful.button({}, 4, function() awful.layout.inc(1) end),
- awful.button({}, 5, function() awful.layout.inc(-1) end)))
- -- Create a taglist widget
- s.mytaglist = awful.widget.taglist {
- screen = s,
- filter = awful.widget.taglist.filter.all,
- buttons = taglist_buttons
- }
-
- -- Create a tasklist widget
- s.mytasklist = awful.widget.tasklist {
- screen = s,
- filter = awful.widget.tasklist.filter.currenttags,
- buttons = tasklist_buttons
- }
-
- -- Create the wibox
- s.mywibox = awful.wibar({ position = "top", screen = s })
-
- -- Add widgets to the wibox
- s.mywibox:setup {
- layout = wibox.layout.align.horizontal,
- { -- Left widgets
- layout = wibox.layout.fixed.horizontal,
- mylauncher,
- s.mytaglist,
- s.mypromptbox,
- },
- s.mytasklist, -- Middle widget
- { -- Right widgets
- layout = wibox.layout.fixed.horizontal,
- mykeyboardlayout,
-
- -- battery widget from https://raw.githubusercontent.com/deficient/battery-widget/master/battery-widget.lua
- require("battery-widget") {},
-
- wibox.widget.systray(),
- mytextclock,
- s.mylayoutbox,
- },
- }
end)
+
+-- No borders when rearranging only 1 non-floating or maximized client
+screen.connect_signal("arrange", function (s)
+ local only_one = #s.tiled_clients == 1
+ for _, c in pairs(s.clients) do
+ if only_one and not c.floating or c.maximized or c.fullscreen then
+ c.border_width = 0
+ else
+ c.border_width = beautiful.border_width
+ end
+ end
+end)
+
+-- Create a wibox for each screen and add it
+awful.screen.connect_for_each_screen(function(s) beautiful.at_screen_connect(s) end)
+
-- }}}
-- {{{ Mouse bindings
-root.buttons(gears.table.join(
- awful.button({}, 3, function() mymainmenu:toggle() end),
- awful.button({}, 4, awful.tag.viewnext),
- awful.button({}, 5, awful.tag.viewprev)
+
+root.buttons(mytable.join(
+ awful.button({ }, 3, function () awful.util.mymainmenu:toggle() end),
+ awful.button({ }, 4, awful.tag.viewnext),
+ awful.button({ }, 5, awful.tag.viewprev)
))
+
-- }}}
-- {{{ Key bindings
-globalkeys = gears.table.join(
- awful.key({ modkey, }, "s", hotkeys_popup.show_help,
- { description = "show help", group = "awesome" }),
- awful.key({ modkey, }, "Left", awful.tag.viewprev,
- { description = "view previous", group = "tag" }),
- awful.key({ modkey, }, "Right", awful.tag.viewnext,
- { description = "view next", group = "tag" }),
- awful.key({ modkey, }, "Escape", awful.tag.history.restore,
- { description = "go back", group = "tag" }),
- awful.key({ modkey, }, "j",
- function()
- awful.client.focus.byidx(1)
+globalkeys = mytable.join(
+ -- Destroy all notifications
+ awful.key({ "Control", }, "space", function() naughty.destroy_all_notifications() end,
+ {description = "destroy all notifications", group = "hotkeys"}),
+ -- Take a screenshot
+ -- https://github.com/lcpz/dots/blob/master/bin/screenshot
+ awful.key({ altkey }, "p", function() os.execute("screenshot") end,
+ {description = "take a screenshot", group = "hotkeys"}),
+
+ -- X screen locker
+ awful.key({ altkey, "Control" }, "l", function () os.execute(scrlocker) end,
+ {description = "lock screen", group = "hotkeys"}),
+
+ -- Show help
+ awful.key({ modkey, }, "s", hotkeys_popup.show_help,
+ {description="show help", group="awesome"}),
+
+ -- Tag browsing
+ awful.key({ modkey, }, "Left", awful.tag.viewprev,
+ {description = "view previous", group = "tag"}),
+ awful.key({ modkey, }, "Right", awful.tag.viewnext,
+ {description = "view next", group = "tag"}),
+ awful.key({ modkey, }, "Escape", awful.tag.history.restore,
+ {description = "go back", group = "tag"}),
+
+ -- Non-empty tag browsing
+ awful.key({ altkey }, "Left", function () lain.util.tag_view_nonempty(-1) end,
+ {description = "view previous nonempty", group = "tag"}),
+ awful.key({ altkey }, "Right", function () lain.util.tag_view_nonempty(1) end,
+ {description = "view previous nonempty", group = "tag"}),
+
+ -- Default client focus
+ awful.key({ altkey, }, "j",
+ function ()
+ awful.client.focus.byidx( 1)
end,
- { description = "focus next by index", group = "client" }
+ {description = "focus next by index", group = "client"}
),
- awful.key({ modkey, }, "k",
- function()
+ awful.key({ altkey, }, "k",
+ function ()
awful.client.focus.byidx(-1)
end,
- { description = "focus previous by index", group = "client" }
+ {description = "focus previous by index", group = "client"}
),
- awful.key({ modkey, }, "w", function() mymainmenu:show() end,
- { description = "show main menu", group = "awesome" }),
+
+ -- By-direction client focus
+ awful.key({ modkey }, "j",
+ function()
+ awful.client.focus.global_bydirection("down")
+ if client.focus then client.focus:raise() end
+ end,
+ {description = "focus down", group = "client"}),
+ awful.key({ modkey }, "k",
+ function()
+ awful.client.focus.global_bydirection("up")
+ if client.focus then client.focus:raise() end
+ end,
+ {description = "focus up", group = "client"}),
+ awful.key({ modkey }, "h",
+ function()
+ awful.client.focus.global_bydirection("left")
+ if client.focus then client.focus:raise() end
+ end,
+ {description = "focus left", group = "client"}),
+ awful.key({ modkey }, "l",
+ function()
+ awful.client.focus.global_bydirection("right")
+ if client.focus then client.focus:raise() end
+ end,
+ {description = "focus right", group = "client"}),
+
+ -- Menu
+ awful.key({ modkey, }, "w", function () awful.util.mymainmenu:show() end,
+ {description = "show main menu", group = "awesome"}),
-- Layout manipulation
- awful.key({ modkey, "Shift" }, "j", function() awful.client.swap.byidx(1) end,
- { description = "swap with next client by index", group = "client" }),
- awful.key({ modkey, "Shift" }, "k", function() awful.client.swap.byidx(-1) end,
- { description = "swap with previous client by index", group = "client" }),
- awful.key({ modkey, "Control" }, "j", function() awful.screen.focus_relative(1) end,
- { description = "focus the next screen", group = "screen" }),
- awful.key({ modkey, "Control" }, "k", function() awful.screen.focus_relative(-1) end,
- { description = "focus the previous screen", group = "screen" }),
- awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
- { description = "jump to urgent client", group = "client" }),
- awful.key({ modkey, }, "Tab",
- function()
- awful.client.focus.history.previous()
+ awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
+ {description = "swap with next client by index", group = "client"}),
+ awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
+ {description = "swap with previous client by index", group = "client"}),
+ awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
+ {description = "focus the next screen", group = "screen"}),
+ awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
+ {description = "focus the previous screen", group = "screen"}),
+ awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
+ {description = "jump to urgent client", group = "client"}),
+ awful.key({ modkey, }, "Tab",
+ function ()
+ if cycle_prev then
+ awful.client.focus.history.previous()
+ else
+ awful.client.focus.byidx(-1)
+ end
if client.focus then
client.focus:raise()
end
end,
- { description = "go back", group = "client" }),
+ {description = "cycle with previous/go back", group = "client"}),
- -- Standard program
- awful.key({ modkey, }, "Return", function() awful.spawn(terminal) end,
- { description = "open a terminal", group = "launcher" }),
- awful.key({ modkey, "Control" }, "r", awesome.restart,
- { description = "reload awesome", group = "awesome" }),
- awful.key({ modkey, "Shift" }, "q", awesome.quit,
- { description = "quit awesome", group = "awesome" }),
-
- awful.key({ modkey, }, "l", function() awful.tag.incmwfact(0.05) end,
- { description = "increase master width factor", group = "layout" }),
- awful.key({ modkey, }, "h", function() awful.tag.incmwfact(-0.05) end,
- { description = "decrease master width factor", group = "layout" }),
- awful.key({ modkey, "Shift" }, "h", function() awful.tag.incnmaster(1, nil, true) end,
- { description = "increase the number of master clients", group = "layout" }),
- awful.key({ modkey, "Shift" }, "l", function() awful.tag.incnmaster(-1, nil, true) end,
- { description = "decrease the number of master clients", group = "layout" }),
- awful.key({ modkey, "Control" }, "h", function() awful.tag.incncol(1, nil, true) end,
- { description = "increase the number of columns", group = "layout" }),
- awful.key({ modkey, "Control" }, "l", function() awful.tag.incncol(-1, nil, true) end,
- { description = "decrease the number of columns", group = "layout" }),
- awful.key({ modkey, }, "space", function() awful.layout.inc(1) end,
- { description = "select next", group = "layout" }),
- awful.key({ modkey, "Shift" }, "space", function() awful.layout.inc(-1) end,
- { description = "select previous", group = "layout" }),
-
- awful.key({ modkey, "Control" }, "n",
- function()
- local c = awful.client.restore()
- -- Focus restored client
- if c then
- c:emit_signal(
- "request::activate", "key.unminimize", { raise = true }
- )
+ -- Show/hide wibox
+ --[[ awful.key({ modkey }, "b", function ()
+ for s in screen do
+ s.mywibox.visible = not s.mywibox.visible
+ if s.mybottomwibox then
+ s.mybottomwibox.visible = not s.mybottomwibox.visible
+ end
end
end,
- { description = "restore minimized", group = "client" }),
+ {description = "toggle wibox", group = "awesome"}), ]]
- -- -- Prompt
- -- awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
- -- {description = "run prompt", group = "launcher"}),
+ -- On-the-fly useless gaps change
+ awful.key({ altkey, "Control" }, "+", function () lain.util.useless_gaps_resize(1) end,
+ {description = "increment useless gaps", group = "tag"}),
+ awful.key({ altkey, "Control" }, "-", function () lain.util.useless_gaps_resize(-1) end,
+ {description = "decrement useless gaps", group = "tag"}),
- -- Run dmenu
- awful.key({ modkey }, "r", function()
- awful.spawn("dmenu_run")
- end,
- {
- description = "dmenu",
- group = "launcher",
- }),
+ -- Dynamic tagging
+ awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag() end,
+ {description = "add new tag", group = "tag"}),
+ awful.key({ modkey, "Shift" }, "r", function () lain.util.rename_tag() end,
+ {description = "rename tag", group = "tag"}),
+ awful.key({ modkey, "Shift" }, "Left", function () lain.util.move_tag(-1) end,
+ {description = "move tag to the left", group = "tag"}),
+ awful.key({ modkey, "Shift" }, "Right", function () lain.util.move_tag(1) end,
+ {description = "move tag to the right", group = "tag"}),
+ awful.key({ modkey, "Shift" }, "d", function () lain.util.delete_tag() end,
+ {description = "delete tag", group = "tag"}),
+ -- Standard program
+ awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
+ {description = "open a terminal", group = "launcher"}),
+ awful.key({ modkey, "Control" }, "r", awesome.restart,
+ {description = "reload awesome", group = "awesome"}),
+ awful.key({ modkey, "Shift" }, "q", awesome.quit,
+ {description = "quit awesome", group = "awesome"}),
- -- Run firefox
- awful.key({ modkey }, "b", function()
- awful.spawn("firefox")
- end,
- {
- description = "firefox",
- group = "applications",
- }),
+ awful.key({ modkey, altkey }, "l", function () awful.tag.incmwfact( 0.05) end,
+ {description = "increase master width factor", group = "layout"}),
+ awful.key({ modkey, altkey }, "h", function () awful.tag.incmwfact(-0.05) end,
+ {description = "decrease master width factor", group = "layout"}),
+ awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
+ {description = "increase the number of master clients", group = "layout"}),
+ awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
+ {description = "decrease the number of master clients", group = "layout"}),
+ awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
+ {description = "increase the number of columns", group = "layout"}),
+ awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
+ {description = "decrease the number of columns", group = "layout"}),
+ awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
+ {description = "select next", group = "layout"}),
+ awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
+ {description = "select previous", group = "layout"}),
- awful.key({ modkey }, "x",
- function()
- awful.prompt.run {
- prompt = "Run Lua code: ",
- textbox = awful.screen.focused().mypromptbox.widget,
- exe_callback = awful.util.eval,
- history_path = awful.util.get_cache_dir() .. "/history_eval"
- }
+ awful.key({ modkey, "Control" }, "n", function ()
+ local c = awful.client.restore()
+ -- Focus restored client
+ if c then
+ c:emit_signal("request::activate", "key.unminimize", {raise = true})
+ end
+ end, {description = "restore minimized", group = "client"}),
+
+ -- Dropdown application
+ awful.key({ modkey, }, "z", function () awful.screen.focused().quake:toggle() end,
+ {description = "dropdown application", group = "launcher"}),
+
+ -- Widgets popups
+ awful.key({ altkey, }, "c", function () if beautiful.cal then beautiful.cal.show(7) end end,
+ {description = "show calendar", group = "widgets"}),
+ awful.key({ altkey, }, "h", function () if beautiful.fs then beautiful.fs.show(7) end end,
+ {description = "show filesystem", group = "widgets"}),
+ awful.key({ altkey, }, "w", function () if beautiful.weather then beautiful.weather.show(7) end end,
+ {description = "show weather", group = "widgets"}),
+
+ -- Screen brightness
+ awful.key({ }, "XF86MonBrightnessUp", function () os.execute("xbacklight -inc 10") end,
+ {description = "+10%", group = "hotkeys"}),
+ awful.key({ }, "XF86MonBrightnessDown", function () os.execute("xbacklight -dec 10") end,
+ {description = "-10%", group = "hotkeys"}),
+
+ -- ALSA volume control
+ awful.key({ altkey }, "Up",
+ function ()
+ os.execute(string.format("amixer -q set %s 1%%+", beautiful.volume.channel))
+ beautiful.volume.update()
end,
- { description = "lua execute prompt", group = "awesome" }),
- -- Menubar
+ {description = "volume up", group = "hotkeys"}),
+ awful.key({ altkey }, "Down",
+ function ()
+ os.execute(string.format("amixer -q set %s 1%%-", beautiful.volume.channel))
+ beautiful.volume.update()
+ end,
+ {description = "volume down", group = "hotkeys"}),
+ awful.key({ altkey }, "m",
+ function ()
+ os.execute(string.format("amixer -q set %s toggle", beautiful.volume.togglechannel or beautiful.volume.channel))
+ beautiful.volume.update()
+ end,
+ {description = "toggle mute", group = "hotkeys"}),
+ awful.key({ altkey, "Control" }, "m",
+ function ()
+ os.execute(string.format("amixer -q set %s 100%%", beautiful.volume.channel))
+ beautiful.volume.update()
+ end,
+ {description = "volume 100%", group = "hotkeys"}),
+ awful.key({ altkey, "Control" }, "0",
+ function ()
+ os.execute(string.format("amixer -q set %s 0%%", beautiful.volume.channel))
+ beautiful.volume.update()
+ end,
+ {description = "volume 0%", group = "hotkeys"}),
+
+ -- MPD control
+ awful.key({ altkey, "Control" }, "Up",
+ function ()
+ os.execute("mpc toggle")
+ beautiful.mpd.update()
+ end,
+ {description = "mpc toggle", group = "widgets"}),
+ awful.key({ altkey, "Control" }, "Down",
+ function ()
+ os.execute("mpc stop")
+ beautiful.mpd.update()
+ end,
+ {description = "mpc stop", group = "widgets"}),
+ awful.key({ altkey, "Control" }, "Left",
+ function ()
+ os.execute("mpc prev")
+ beautiful.mpd.update()
+ end,
+ {description = "mpc prev", group = "widgets"}),
+ awful.key({ altkey, "Control" }, "Right",
+ function ()
+ os.execute("mpc next")
+ beautiful.mpd.update()
+ end,
+ {description = "mpc next", group = "widgets"}),
+ awful.key({ altkey }, "0",
+ function ()
+ local common = { text = "MPD widget ", position = "top_middle", timeout = 2 }
+ if beautiful.mpd.timer.started then
+ beautiful.mpd.timer:stop()
+ common.text = common.text .. lain.util.markup.bold("OFF")
+ else
+ beautiful.mpd.timer:start()
+ common.text = common.text .. lain.util.markup.bold("ON")
+ end
+ naughty.notify(common)
+ end,
+ {description = "mpc on/off", group = "widgets"}),
+
+ -- Copy primary to clipboard (terminals to gtk)
+ awful.key({ modkey }, "c", function () awful.spawn.with_shell("xsel | xsel -i -b") end,
+ {description = "copy terminal to gtk", group = "hotkeys"}),
+ -- Copy clipboard to primary (gtk to terminals)
+ awful.key({ modkey }, "v", function () awful.spawn.with_shell("xsel -b | xsel") end,
+ {description = "copy gtk to terminal", group = "hotkeys"}),
+
+ -- User programs
+ awful.key({ modkey }, "b", function () awful.spawn(browser) end,
+ {description = "run browser", group = "launcher"}),
+
+ -- Default
+ --[[ Menubar
awful.key({ modkey }, "p", function() menubar.show() end,
- { description = "show the menubar", group = "launcher" })
+ {description = "show the menubar", group = "launcher"}),
+ --]]
+ -- dmenu
+ awful.key({ modkey }, "r", function ()
+ os.execute(string.format("dmenu_run -i -fn 'Monospace' -nb '%s' -nf '%s' -sb '%s' -sf '%s'",
+ beautiful.bg_normal, beautiful.fg_normal, beautiful.bg_focus, beautiful.fg_focus))
+ end,
+ {description = "show dmenu", group = "launcher"}),
+ --
+ -- alternatively use rofi, a dmenu-like application with more features
+ -- check https://github.com/DaveDavenport/rofi for more details
+ --[[ rofi
+ awful.key({ modkey }, "x", function ()
+ os.execute(string.format("rofi -show %s -theme %s",
+ 'run', 'dmenu'))
+ end,
+ {description = "show rofi", group = "launcher"}),
+ --]]
+ -- Prompt
+ --[[ awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
+ {description = "run prompt", group = "launcher"}),
+ ]]
+ awful.key({ modkey }, "x",
+ function ()
+ awful.prompt.run {
+ prompt = "Run Lua code: ",
+ textbox = awful.screen.focused().mypromptbox.widget,
+ exe_callback = awful.util.eval,
+ history_path = awful.util.get_cache_dir() .. "/history_eval"
+ }
+ end,
+ {description = "lua execute prompt", group = "awesome"})
+ --]]
)
-clientkeys = gears.table.join(
- awful.key({ modkey, }, "f",
- function(c)
+clientkeys = mytable.join(
+ awful.key({ altkey, "Shift" }, "m", lain.util.magnify_client,
+ {description = "magnify client", group = "client"}),
+ awful.key({ modkey, }, "f",
+ function (c)
c.fullscreen = not c.fullscreen
c:raise()
end,
- { description = "toggle fullscreen", group = "client" }),
- awful.key({ modkey, "Shift" }, "c", function(c) c:kill() end,
- { description = "close", group = "client" }),
- awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle,
- { description = "toggle floating", group = "client" }),
- awful.key({ modkey, "Control" }, "Return", function(c) c:swap(awful.client.getmaster()) end,
- { description = "move to master", group = "client" }),
- awful.key({ modkey, }, "o", function(c) c:move_to_screen() end,
- { description = "move to screen", group = "client" }),
- awful.key({ modkey, }, "t", function(c) c.ontop = not c.ontop end,
- { description = "toggle keep on top", group = "client" }),
- awful.key({ modkey, }, "n",
- function(c)
+ {description = "toggle fullscreen", group = "client"}),
+ awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
+ {description = "close", group = "client"}),
+ awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
+ {description = "toggle floating", group = "client"}),
+ awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
+ {description = "move to master", group = "client"}),
+ awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
+ {description = "move to screen", group = "client"}),
+ awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
+ {description = "toggle keep on top", group = "client"}),
+ awful.key({ modkey, }, "n",
+ function (c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
- end,
- { description = "minimize", group = "client" }),
- awful.key({ modkey, }, "m",
- function(c)
+ end ,
+ {description = "minimize", group = "client"}),
+ awful.key({ modkey, }, "m",
+ function (c)
c.maximized = not c.maximized
c:raise()
- end,
- { description = "(un)maximize", group = "client" }),
+ end ,
+ {description = "(un)maximize", group = "client"}),
awful.key({ modkey, "Control" }, "m",
- function(c)
+ function (c)
c.maximized_vertical = not c.maximized_vertical
c:raise()
- end,
- { description = "(un)maximize vertically", group = "client" }),
- awful.key({ modkey, "Shift" }, "m",
- function(c)
+ end ,
+ {description = "(un)maximize vertically", group = "client"}),
+ awful.key({ modkey, "Shift" }, "m",
+ function (c)
c.maximized_horizontal = not c.maximized_horizontal
c:raise()
- end,
- { description = "(un)maximize horizontally", group = "client" })
+ end ,
+ {description = "(un)maximize horizontally", group = "client"})
)
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it work on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, 9 do
- globalkeys = gears.table.join(globalkeys,
+ globalkeys = mytable.join(globalkeys,
-- View tag only.
awful.key({ modkey }, "#" .. i + 9,
- function()
- local screen = awful.screen.focused()
- local tag = screen.tags[i]
- if tag then
- tag:view_only()
- end
- end,
- { description = "view tag #" .. i, group = "tag" }),
+ function ()
+ local screen = awful.screen.focused()
+ local tag = screen.tags[i]
+ if tag then
+ tag:view_only()
+ end
+ end,
+ {description = "view tag #"..i, group = "tag"}),
-- Toggle tag display.
awful.key({ modkey, "Control" }, "#" .. i + 9,
- function()
- local screen = awful.screen.focused()
- local tag = screen.tags[i]
- if tag then
- awful.tag.viewtoggle(tag)
- end
- end,
- { description = "toggle tag #" .. i, group = "tag" }),
+ function ()
+ local screen = awful.screen.focused()
+ local tag = screen.tags[i]
+ if tag then
+ awful.tag.viewtoggle(tag)
+ end
+ end,
+ {description = "toggle tag #" .. i, group = "tag"}),
-- Move client to tag.
awful.key({ modkey, "Shift" }, "#" .. i + 9,
- function()
- if client.focus then
- local tag = client.focus.screen.tags[i]
- if tag then
- client.focus:move_to_tag(tag)
- end
- end
- end,
- { description = "move focused client to tag #" .. i, group = "tag" }),
+ function ()
+ if client.focus then
+ local tag = client.focus.screen.tags[i]
+ if tag then
+ client.focus:move_to_tag(tag)
+ end
+ end
+ end,
+ {description = "move focused client to tag #"..i, group = "tag"}),
-- Toggle tag on focused client.
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
- function()
- if client.focus then
- local tag = client.focus.screen.tags[i]
- if tag then
- client.focus:toggle_tag(tag)
- end
- end
- end,
- { description = "toggle focused client on tag #" .. i, group = "tag" })
+ function ()
+ if client.focus then
+ local tag = client.focus.screen.tags[i]
+ if tag then
+ client.focus:toggle_tag(tag)
+ end
+ end
+ end,
+ {description = "toggle focused client on tag #" .. i, group = "tag"})
)
end
-clientbuttons = gears.table.join(
- awful.button({}, 1, function(c)
- c:emit_signal("request::activate", "mouse_click", { raise = true })
+clientbuttons = mytable.join(
+ awful.button({ }, 1, function (c)
+ c:emit_signal("request::activate", "mouse_click", {raise = true})
end),
- awful.button({ modkey }, 1, function(c)
- c:emit_signal("request::activate", "mouse_click", { raise = true })
+ awful.button({ modkey }, 1, function (c)
+ c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.move(c)
end),
- awful.button({ modkey }, 3, function(c)
- c:emit_signal("request::activate", "mouse_click", { raise = true })
+ awful.button({ modkey }, 3, function (c)
+ c:emit_signal("request::activate", "mouse_click", {raise = true})
awful.mouse.client.resize(c)
end)
)
-- Set keys
root.keys(globalkeys)
+
-- }}}
-- {{{ Rules
+
-- Rules to apply to new clients (through the "manage" signal).
awful.rules.rules = {
-- All clients will match this rule.
- { rule = {},
- properties = { border_width = beautiful.border_width,
- border_color = beautiful.border_normal,
- focus = awful.client.focus.filter,
- raise = true,
- keys = clientkeys,
- buttons = clientbuttons,
- screen = awful.screen.preferred,
- placement = awful.placement.no_overlap + awful.placement.no_offscreen
- }
+ { rule = { },
+ properties = { border_width = beautiful.border_width,
+ border_color = beautiful.border_normal,
+ callback = awful.client.setslave,
+ focus = awful.client.focus.filter,
+ raise = true,
+ keys = clientkeys,
+ buttons = clientbuttons,
+ screen = awful.screen.preferred,
+ placement = awful.placement.no_overlap+awful.placement.no_offscreen,
+ size_hints_honor = false
+ }
},
-- Floating clients.
{ rule_any = {
instance = {
- "DTA", -- Firefox addon DownThemAll.
- "copyq", -- Includes session name in class.
- "pinentry",
+ "DTA", -- Firefox addon DownThemAll.
+ "copyq", -- Includes session name in class.
+ "pinentry",
},
class = {
- "Arandr",
- "Blueman-manager",
- "Gpick",
- "Kruler",
- "MessageWin", -- kalarm.
- "Sxiv",
- "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
- "Wpa_gui",
- "veromix",
- "xtightvncviewer"
- },
+ "Arandr",
+ "Blueman-manager",
+ "Gpick",
+ "Kruler",
+ "MessageWin", -- kalarm.
+ "Sxiv",
+ "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
+ "Wpa_gui",
+ "veromix",
+ "xtightvncviewer"},
-- Note that the name property shown in xprop might be set slightly after creation of the client
-- and the name shown there might not match defined rules here.
name = {
- "Event Tester", -- xev.
+ "Event Tester", -- xev.
},
role = {
- "AlarmWindow", -- Thunderbird's calendar.
- "ConfigManager", -- Thunderbird's about:config.
- "pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
+ "AlarmWindow", -- Thunderbird's calendar.
+ "ConfigManager", -- Thunderbird's about:config.
+ "pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
}
- }, properties = { floating = true } },
+ }, properties = { floating = true }},
-- Add titlebars to normal clients and dialogs
- { rule_any = { type = { "normal", "dialog" }
- }, properties = { titlebars_enabled = false }
- },
+ { rule_any = {type = { "normal", "dialog" }
+ }, properties = { titlebars_enabled = false }
+ }
-- Set Firefox to always map on the tag named "2" on screen 1.
-- { rule = { class = "Firefox" },
-- properties = { screen = 1, tag = "2" } },
}
+
-- }}}
-- {{{ Signals
+
-- Signal function to execute when a new client appears.
-client.connect_signal("manage", function(c)
+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 awesome.startup
- and not c.size_hints.user_position
- and not c.size_hints.program_position then
+ and not c.size_hints.user_position
+ and not c.size_hints.program_position then
-- Prevent clients from being unreachable after screen count changes.
awful.placement.no_offscreen(c)
end
@@ -558,19 +758,26 @@ end)
-- Add a titlebar if titlebars_enabled is set to true in the rules.
client.connect_signal("request::titlebars", function(c)
+ -- Custom
+ if beautiful.titlebar_fun then
+ beautiful.titlebar_fun(c)
+ return
+ end
+
+ -- Default
-- buttons for the titlebar
- local buttons = gears.table.join(
- awful.button({}, 1, function()
- c:emit_signal("request::activate", "titlebar", { raise = true })
+ local buttons = mytable.join(
+ awful.button({ }, 1, function()
+ c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.move(c)
end),
- awful.button({}, 3, function()
- c:emit_signal("request::activate", "titlebar", { raise = true })
+ awful.button({ }, 3, function()
+ c:emit_signal("request::activate", "titlebar", {raise = true})
awful.mouse.client.resize(c)
end)
)
- awful.titlebar(c):setup {
+ awful.titlebar(c, { size = 16 }) : setup {
{ -- Left
awful.titlebar.widget.iconwidget(c),
buttons = buttons,
@@ -585,11 +792,11 @@ client.connect_signal("request::titlebars", function(c)
layout = wibox.layout.flex.horizontal
},
{ -- Right
- awful.titlebar.widget.floatingbutton(c),
+ awful.titlebar.widget.floatingbutton (c),
awful.titlebar.widget.maximizedbutton(c),
- awful.titlebar.widget.stickybutton(c),
- awful.titlebar.widget.ontopbutton(c),
- awful.titlebar.widget.closebutton(c),
+ awful.titlebar.widget.stickybutton (c),
+ awful.titlebar.widget.ontopbutton (c),
+ awful.titlebar.widget.closebutton (c),
layout = wibox.layout.fixed.horizontal()
},
layout = wibox.layout.align.horizontal
@@ -598,14 +805,10 @@ end)
-- Enable sloppy focus, so that focus follows mouse.
client.connect_signal("mouse::enter", function(c)
- c:emit_signal("request::activate", "mouse_enter", { raise = false })
+ c:emit_signal("request::activate", "mouse_enter", {raise = vi_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)
--- }}}
---
--- compositor
-awful.util.spawn("compton")
-awful.util.spawn("nm-applet")
+-- }}}
diff --git a/awesome/.config/awesome/themes/blackburn/icons/awesome.png b/awesome/.config/awesome/themes/blackburn/icons/awesome.png
new file mode 100755
index 0000000..947a06d
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/awesome.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/dwindle.png b/awesome/.config/awesome/themes/blackburn/icons/dwindle.png
new file mode 100755
index 0000000..2f4b4ac
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/dwindle.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/fairh.png b/awesome/.config/awesome/themes/blackburn/icons/fairh.png
new file mode 100755
index 0000000..b0030e7
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/fairh.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/fairv.png b/awesome/.config/awesome/themes/blackburn/icons/fairv.png
new file mode 100755
index 0000000..2c0e157
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/fairv.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/floating.png b/awesome/.config/awesome/themes/blackburn/icons/floating.png
new file mode 100755
index 0000000..e0bdd4b
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/floating.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/magnifier.png b/awesome/.config/awesome/themes/blackburn/icons/magnifier.png
new file mode 100755
index 0000000..3713108
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/magnifier.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/max.png b/awesome/.config/awesome/themes/blackburn/icons/max.png
new file mode 100755
index 0000000..8828d12
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/max.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/spiral.png b/awesome/.config/awesome/themes/blackburn/icons/spiral.png
new file mode 100755
index 0000000..54c2c5e
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/spiral.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/square_sel.png b/awesome/.config/awesome/themes/blackburn/icons/square_sel.png
new file mode 100755
index 0000000..6938cca
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/square_sel.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/square_unsel.png b/awesome/.config/awesome/themes/blackburn/icons/square_unsel.png
new file mode 100755
index 0000000..dd8064d
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/square_unsel.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/submenu.png b/awesome/.config/awesome/themes/blackburn/icons/submenu.png
new file mode 100755
index 0000000..10ca014
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/submenu.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/tile.png b/awesome/.config/awesome/themes/blackburn/icons/tile.png
new file mode 100755
index 0000000..409141f
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/tile.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/tilebottom.png b/awesome/.config/awesome/themes/blackburn/icons/tilebottom.png
new file mode 100755
index 0000000..de68e9c
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/tilebottom.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/tileleft.png b/awesome/.config/awesome/themes/blackburn/icons/tileleft.png
new file mode 100755
index 0000000..c47e4ee
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/tileleft.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/tiletop.png b/awesome/.config/awesome/themes/blackburn/icons/tiletop.png
new file mode 100755
index 0000000..c50abdf
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/tiletop.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/close_focus.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/close_focus.png
new file mode 100755
index 0000000..d0bc2e8
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/close_focus.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/close_normal.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/close_normal.png
new file mode 100755
index 0000000..f99db1a
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/close_normal.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_active.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_active.png
new file mode 100755
index 0000000..1a0649f
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_inactive.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_inactive.png
new file mode 100755
index 0000000..47f19f6
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_active.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_active.png
new file mode 100755
index 0000000..44b8dac
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_inactive.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_inactive.png
new file mode 100755
index 0000000..98f7f1d
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_active.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_active.png
new file mode 100755
index 0000000..eab9b37
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_inactive.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_inactive.png
new file mode 100755
index 0000000..bce1d00
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_active.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_active.png
new file mode 100755
index 0000000..4f03984
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_inactive.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_inactive.png
new file mode 100755
index 0000000..2e56d32
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/minimize_focus.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/minimize_focus.png
new file mode 100755
index 0000000..5a968c3
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/minimize_focus.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/minimize_normal.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/minimize_normal.png
new file mode 100755
index 0000000..0574ae5
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/minimize_normal.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_active.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_active.png
new file mode 100755
index 0000000..42a9770
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_inactive.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_inactive.png
new file mode 100755
index 0000000..2f3a2be
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_active.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_active.png
new file mode 100755
index 0000000..499dfbf
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_inactive.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_inactive.png
new file mode 100755
index 0000000..a9a3206
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_active.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_active.png
new file mode 100755
index 0000000..72864ac
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_inactive.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_inactive.png
new file mode 100755
index 0000000..5493d8e
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_active.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_active.png
new file mode 100755
index 0000000..a150154
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_inactive.png b/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_inactive.png
new file mode 100755
index 0000000..7e6c99b
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/blackburn/theme.lua b/awesome/.config/awesome/themes/blackburn/theme.lua
new file mode 100644
index 0000000..d777d9b
--- /dev/null
+++ b/awesome/.config/awesome/themes/blackburn/theme.lua
@@ -0,0 +1,280 @@
+--[[
+
+ Blackburn Awesome WM theme 3.0
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local os = os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/blackburn"
+theme.wallpaper = theme.dir .. "/wall.png"
+theme.font = "Terminus 10.5"
+theme.taglist_font = "Icons 10"
+theme.fg_normal = "#D7D7D7"
+theme.fg_focus = "#F6784F"
+theme.bg_normal = "#060606"
+theme.bg_focus = "#060606"
+theme.fg_urgent = "#CC9393"
+theme.bg_urgent = "#2A1F1E"
+theme.border_width = dpi(1)
+theme.border_normal = "#0E0E0E"
+theme.border_focus = "#F79372"
+theme.taglist_fg_focus = "#F6784F"
+theme.taglist_bg_focus = "#060606"
+theme.tasklist_fg_focus = "#F6784F"
+theme.tasklist_bg_focus = "#060606"
+theme.menu_height = dpi(16)
+theme.menu_width = dpi(130)
+theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png"
+theme.awesome_icon = theme.dir .."/icons/awesome.png"
+theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png"
+theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png"
+theme.layout_tile = theme.dir .. "/icons/tile.png"
+theme.layout_tileleft = theme.dir .. "/icons/tileleft.png"
+theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png"
+theme.layout_tiletop = theme.dir .. "/icons/tiletop.png"
+theme.layout_fairv = theme.dir .. "/icons/fairv.png"
+theme.layout_fairh = theme.dir .. "/icons/fairh.png"
+theme.layout_spiral = theme.dir .. "/icons/spiral.png"
+theme.layout_dwindle = theme.dir .. "/icons/dwindle.png"
+theme.layout_max = theme.dir .. "/icons/max.png"
+theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png"
+theme.layout_magnifier = theme.dir .. "/icons/magnifier.png"
+theme.layout_floating = theme.dir .. "/icons/floating.png"
+theme.tasklist_plain_task_name = true
+theme.tasklist_disable_icon = true
+theme.useless_gap = 0
+theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png"
+theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png"
+theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png"
+theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png"
+theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png"
+theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png"
+theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png"
+theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png"
+theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png"
+theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png"
+theme.titlebar_minimize_button_focus = theme.dir .. "/icons/titlebar/minimize_focus.png"
+theme.titlebar_minimize_button_normal = theme.dir .. "/icons/titlebar/minimize_normal.png"
+
+awful.util.tagnames = { "ƀ", "Ƅ", "Ɗ", "ƈ", "ƙ" }
+
+local markup = lain.util.markup
+local separators = lain.util.separators
+local gray = "#9E9C9A"
+
+-- Textclock
+local mytextclock = wibox.widget.textclock(" %H:%M ")
+mytextclock.font = theme.font
+
+-- Calendar
+theme.cal = lain.widget.cal({
+ attach_to = { mytextclock },
+ notification_preset = {
+ font = "Terminus 11",
+ fg = theme.fg_normal,
+ bg = theme.bg_normal
+ }
+})
+
+-- Mail IMAP check
+--[[ to be set before use
+theme.mail = lain.widget.imap({
+ timeout = 180,
+ server = "server",
+ mail = "mail",
+ password = "keyring get mail",
+ notification_preset = { fg = white }
+ settings = function()
+ mail = ""
+ count = ""
+
+ if mailcount > 0 then
+ mail = "Mail "
+ count = mailcount .. " "
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, mail) .. count))
+ end
+})
+--]]
+
+-- MPD
+theme.mpd = lain.widget.mpd({
+ settings = function()
+ mpd_notification_preset.fg = white
+ artist = mpd_now.artist .. " "
+ title = mpd_now.title .. " "
+
+ if mpd_now.state == "pause" then
+ artist = "mpd "
+ title = "paused "
+ elseif mpd_now.state == "stop" then
+ artist = ""
+ title = ""
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, artist) .. title .. " "))
+ end
+})
+
+-- /home fs
+--[[ commented because it needs Gio/Glib >= 2.54
+theme.fs = lain.widget.fs({
+ notification_preset = { fg = white, bg = theme.bg_normal, font = "Terminus 10.5" },
+ settings = function()
+ fs_header = ""
+ fs_p = ""
+
+ if fs_now["/home"].percentage >= 90 then
+ fs_header = " Hdd "
+ fs_p = fs_now["/home"].percentage
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, fs_header) .. fs_p))
+ end
+})
+--]]
+
+-- Battery
+local bat = lain.widget.bat({
+ settings = function()
+ bat_header = " Bat "
+ bat_p = bat_now.perc .. " "
+ widget:set_markup(markup.font(theme.font, markup(gray, bat_header) .. bat_p))
+ end
+})
+
+-- ALSA volume
+theme.volume = lain.widget.alsa({
+ --togglechannel = "IEC958,3",
+ settings = function()
+ header = " Vol "
+ vlevel = volume_now.level
+
+ if volume_now.status == "off" then
+ vlevel = vlevel .. "M "
+ else
+ vlevel = vlevel .. " "
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, header) .. vlevel))
+ end
+})
+
+-- Weather
+--[[ to be set before use
+theme.weather = lain.widget.weather({
+ --APPID =
+ city_id = 2643743, -- placeholder (London)
+ settings = function()
+ units = math.floor(weather_now["main"]["temp"])
+ widget:set_markup(" " .. units .. " ")
+ end
+})
+--]]
+
+-- Separators
+local first = wibox.widget.textbox(' ')
+local arrl_pre = separators.arrow_right("alpha", "#1A1A1A")
+local arrl_post = separators.arrow_right("#1A1A1A", "alpha")
+
+local barheight = dpi(18)
+local barcolor = gears.color({
+ type = "linear",
+ from = { barheight, 0 },
+ to = { barheight, barheight },
+ stops = { {0, theme.bg_focus }, {0.8, theme.border_normal}, {1, "#1A1A1A"} }
+})
+theme.titlebar_bg = barcolor
+
+theme.titlebar_bg_focus = gears.color({
+ type = "linear",
+ from = { barheight, 0 },
+ to = { barheight, barheight },
+ stops = { {0, theme.bg_normal}, {0.5, theme.border_normal}, {1, "#492417"} }
+})
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+ -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+ -- We need one layoutbox per screen.
+ s.mylayoutbox = awful.widget.layoutbox(s)
+ s.mylayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function () awful.layout.inc( 1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function () awful.layout.inc(-1) end),
+ awful.button({}, 4, function () awful.layout.inc( 1) end),
+ awful.button({}, 5, function () awful.layout.inc(-1) end)))
+
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons)
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons, { bg_normal = barcolor, bg_focus = barcolor })
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = barcolor })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ first,
+ s.mytaglist,
+ arrl_pre,
+ s.mylayoutbox,
+ arrl_post,
+ s.mypromptbox,
+ first,
+ },
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget.systray(),
+ first,
+ theme.mpd.widget,
+ --theme.mail.widget,
+ --theme.weather.icon,
+ --theme.weather.widget,
+ --theme.fs.widget,
+ bat,
+ theme.volume.widget,
+ mytextclock,
+ },
+ }
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/blackburn/wall.png b/awesome/.config/awesome/themes/blackburn/wall.png
new file mode 100755
index 0000000..6774d91
Binary files /dev/null and b/awesome/.config/awesome/themes/blackburn/wall.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/ac.png b/awesome/.config/awesome/themes/copland/icons/ac.png
new file mode 100755
index 0000000..4b00cd1
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/ac.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/awesome.png b/awesome/.config/awesome/themes/copland/icons/awesome.png
new file mode 100755
index 0000000..b24e00d
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/awesome.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/bat.png b/awesome/.config/awesome/themes/copland/icons/bat.png
new file mode 100755
index 0000000..4ea9b2b
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/bat.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/bat_low.png b/awesome/.config/awesome/themes/copland/icons/bat_low.png
new file mode 100755
index 0000000..c198675
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/bat_low.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/bat_no.png b/awesome/.config/awesome/themes/copland/icons/bat_no.png
new file mode 100755
index 0000000..5cf536f
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/bat_no.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/centerfair.png b/awesome/.config/awesome/themes/copland/icons/centerfair.png
new file mode 100755
index 0000000..185d5e1
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/centerfair.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/centerwork.png b/awesome/.config/awesome/themes/copland/icons/centerwork.png
new file mode 100755
index 0000000..49d5a11
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/centerwork.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/disk.png b/awesome/.config/awesome/themes/copland/icons/disk.png
new file mode 100755
index 0000000..3ccd728
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/disk.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/dwindle.png b/awesome/.config/awesome/themes/copland/icons/dwindle.png
new file mode 100755
index 0000000..55b61b0
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/dwindle.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/fairh.png b/awesome/.config/awesome/themes/copland/icons/fairh.png
new file mode 100755
index 0000000..848f5a8
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/fairh.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/fairv.png b/awesome/.config/awesome/themes/copland/icons/fairv.png
new file mode 100755
index 0000000..610eb7b
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/fairv.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/floating.png b/awesome/.config/awesome/themes/copland/icons/floating.png
new file mode 100755
index 0000000..d8ce00a
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/floating.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/fullscreen.png b/awesome/.config/awesome/themes/copland/icons/fullscreen.png
new file mode 100755
index 0000000..feb44d1
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/fullscreen.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/magnifier.png b/awesome/.config/awesome/themes/copland/icons/magnifier.png
new file mode 100755
index 0000000..49616bc
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/magnifier.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/max.png b/awesome/.config/awesome/themes/copland/icons/max.png
new file mode 100755
index 0000000..3f4bdec
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/max.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/pause.png b/awesome/.config/awesome/themes/copland/icons/pause.png
new file mode 100755
index 0000000..381e532
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/pause.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/play.png b/awesome/.config/awesome/themes/copland/icons/play.png
new file mode 100755
index 0000000..05ad253
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/play.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/spiral.png b/awesome/.config/awesome/themes/copland/icons/spiral.png
new file mode 100755
index 0000000..664afb4
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/spiral.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/square_sel.png b/awesome/.config/awesome/themes/copland/icons/square_sel.png
new file mode 100755
index 0000000..58b58f2
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/square_sel.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/square_unsel.png b/awesome/.config/awesome/themes/copland/icons/square_unsel.png
new file mode 100755
index 0000000..40411f4
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/square_unsel.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/stop.png b/awesome/.config/awesome/themes/copland/icons/stop.png
new file mode 100755
index 0000000..b01b75e
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/stop.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/submenu.png b/awesome/.config/awesome/themes/copland/icons/submenu.png
new file mode 100755
index 0000000..10ed739
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/submenu.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/termfair.png b/awesome/.config/awesome/themes/copland/icons/termfair.png
new file mode 100755
index 0000000..9cfb636
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/termfair.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/tile.png b/awesome/.config/awesome/themes/copland/icons/tile.png
new file mode 100755
index 0000000..890e354
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/tile.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/tilebottom.png b/awesome/.config/awesome/themes/copland/icons/tilebottom.png
new file mode 100755
index 0000000..aac4302
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/tilebottom.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/tileleft.png b/awesome/.config/awesome/themes/copland/icons/tileleft.png
new file mode 100755
index 0000000..c87a32f
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/tileleft.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/tiletop.png b/awesome/.config/awesome/themes/copland/icons/tiletop.png
new file mode 100755
index 0000000..89f7f8d
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/tiletop.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/close_focus.png b/awesome/.config/awesome/themes/copland/icons/titlebar/close_focus.png
new file mode 100755
index 0000000..c1fa3ad
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/close_focus.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/close_normal.png b/awesome/.config/awesome/themes/copland/icons/titlebar/close_normal.png
new file mode 100755
index 0000000..77cd8eb
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/close_normal.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/floating_focus_active.png b/awesome/.config/awesome/themes/copland/icons/titlebar/floating_focus_active.png
new file mode 100755
index 0000000..8fcf336
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/floating_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/floating_focus_inactive.png b/awesome/.config/awesome/themes/copland/icons/titlebar/floating_focus_inactive.png
new file mode 100755
index 0000000..47f19f6
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/floating_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/floating_normal_active.png b/awesome/.config/awesome/themes/copland/icons/titlebar/floating_normal_active.png
new file mode 100755
index 0000000..df17970
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/floating_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/floating_normal_inactive.png b/awesome/.config/awesome/themes/copland/icons/titlebar/floating_normal_inactive.png
new file mode 100755
index 0000000..98f7f1d
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/floating_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_focus_active.png b/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_focus_active.png
new file mode 100755
index 0000000..96e8937
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_focus_inactive.png b/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_focus_inactive.png
new file mode 100755
index 0000000..bce1d00
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_normal_active.png b/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_normal_active.png
new file mode 100755
index 0000000..6ce0b10
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_normal_inactive.png b/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_normal_inactive.png
new file mode 100755
index 0000000..2e56d32
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/maximized_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_focus_active.png b/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_focus_active.png
new file mode 100755
index 0000000..d206ea4
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_focus_inactive.png b/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_focus_inactive.png
new file mode 100755
index 0000000..2f3a2be
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_normal_active.png b/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_normal_active.png
new file mode 100755
index 0000000..9a26d34
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_normal_inactive.png b/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_normal_inactive.png
new file mode 100755
index 0000000..a9a3206
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/ontop_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_focus_active.png b/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_focus_active.png
new file mode 100755
index 0000000..7e360db
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_focus_inactive.png b/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_focus_inactive.png
new file mode 100755
index 0000000..5493d8e
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_normal_active.png b/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_normal_active.png
new file mode 100755
index 0000000..a06138d
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_normal_inactive.png b/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_normal_inactive.png
new file mode 100755
index 0000000..7e6c99b
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/titlebar/sticky_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/vol.png b/awesome/.config/awesome/themes/copland/icons/vol.png
new file mode 100755
index 0000000..847d575
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/vol.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/vol_low.png b/awesome/.config/awesome/themes/copland/icons/vol_low.png
new file mode 100755
index 0000000..54d653e
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/vol_low.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/vol_mute.png b/awesome/.config/awesome/themes/copland/icons/vol_mute.png
new file mode 100755
index 0000000..361412d
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/vol_mute.png differ
diff --git a/awesome/.config/awesome/themes/copland/icons/vol_no.png b/awesome/.config/awesome/themes/copland/icons/vol_no.png
new file mode 100755
index 0000000..06d1a97
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/icons/vol_no.png differ
diff --git a/awesome/.config/awesome/themes/copland/theme.lua b/awesome/.config/awesome/themes/copland/theme.lua
new file mode 100644
index 0000000..56a25d6
--- /dev/null
+++ b/awesome/.config/awesome/themes/copland/theme.lua
@@ -0,0 +1,375 @@
+--[[
+
+ Copland Awesome WM theme 2.0
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local awesome, client, os = awesome, client, os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/copland"
+theme.wallpaper = theme.dir .. "/wall.png"
+theme.font = "Terminus 10.5"
+theme.fg_normal = "#BBBBBB"
+theme.fg_focus = "#78A4FF"
+theme.bg_normal = "#111111"
+theme.bg_focus = "#111111"
+theme.fg_urgent = "#000000"
+theme.bg_urgent = "#FFFFFF"
+theme.border_width = dpi(1)
+theme.border_normal = "#141414"
+theme.border_focus = "#93B6FF"
+theme.taglist_fg_focus = "#FFFFFF"
+theme.taglist_bg_focus = "#111111"
+theme.taglist_bg_normal = "#111111"
+theme.titlebar_bg_normal = "#191919"
+theme.titlebar_bg_focus = "#262626"
+theme.menu_height = dpi(16)
+theme.menu_width = dpi(130)
+theme.tasklist_disable_icon = true
+theme.awesome_icon = theme.dir .."/icons/awesome.png"
+theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png"
+theme.taglist_squares_sel = theme.dir .. "/icons/square_unsel.png"
+theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png"
+theme.vol = theme.dir .. "/icons/vol.png"
+theme.vol_low = theme.dir .. "/icons/vol_low.png"
+theme.vol_no = theme.dir .. "/icons/vol_no.png"
+theme.vol_mute = theme.dir .. "/icons/vol_mute.png"
+theme.disk = theme.dir .. "/icons/disk.png"
+theme.ac = theme.dir .. "/icons/ac.png"
+theme.bat = theme.dir .. "/icons/bat.png"
+theme.bat_low = theme.dir .. "/icons/bat_low.png"
+theme.bat_no = theme.dir .. "/icons/bat_no.png"
+theme.play = theme.dir .. "/icons/play.png"
+theme.pause = theme.dir .. "/icons/pause.png"
+theme.stop = theme.dir .. "/icons/stop.png"
+theme.layout_tile = theme.dir .. "/icons/tile.png"
+theme.layout_tileleft = theme.dir .. "/icons/tileleft.png"
+theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png"
+theme.layout_tiletop = theme.dir .. "/icons/tiletop.png"
+theme.layout_fairv = theme.dir .. "/icons/fairv.png"
+theme.layout_fairh = theme.dir .. "/icons/fairh.png"
+theme.layout_spiral = theme.dir .. "/icons/spiral.png"
+theme.layout_dwindle = theme.dir .. "/icons/dwindle.png"
+theme.layout_max = theme.dir .. "/icons/max.png"
+theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png"
+theme.layout_magnifier = theme.dir .. "/icons/magnifier.png"
+theme.layout_floating = theme.dir .. "/icons/floating.png"
+theme.useless_gap = 0
+theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png"
+theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png"
+theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png"
+theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png"
+theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png"
+theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png"
+theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png"
+theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png"
+theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png"
+theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png"
+
+-- lain related
+theme.layout_centerfair = theme.dir .. "/icons/centerfair.png"
+theme.layout_termfair = theme.dir .. "/icons/termfair.png"
+theme.layout_centerwork = theme.dir .. "/icons/centerwork.png"
+
+local markup = lain.util.markup
+local blue = theme.fg_focus
+local red = "#EB8F8F"
+local green = "#8FEB8F"
+
+-- Textclock
+--os.setlocale(os.getenv("LANG")) -- to localize the clock
+local mytextclock = wibox.widget.textclock(" %H:%M ")
+mytextclock.font = theme.font
+
+-- Calendar
+theme.cal = lain.widget.cal({
+ attach_to = { mytextclock },
+ notification_preset = {
+ font = "Terminus 11",
+ fg = theme.fg_normal,
+ bg = theme.bg_normal
+ }
+})
+
+-- Mail IMAP check
+--[[ to be set before use
+theme.mail = lain.widget.imap({
+ timeout = 180,
+ server = "server",
+ mail = "mail",
+ password = "keyring get mail",
+ settings = function()
+ mail = ""
+ count = ""
+
+ if mailcount > 0 then
+ mail = " Mail "
+ count = mailcount .. " "
+ end
+
+ widget:set_markup(markup(blue, mail) .. count)
+ end
+})
+--]]
+
+-- MPD
+local mpdicon = wibox.widget.imagebox()
+theme.mpd = lain.widget.mpd({
+ settings = function()
+ if mpd_now.state == "play" then
+ title = mpd_now.title
+ artist = " " .. mpd_now.artist .. markup("#777777", " | ")
+ mpdicon:set_image(theme.play)
+ elseif mpd_now.state == "pause" then
+ title = "mpd "
+ artist = "paused" .. markup("#777777", " | ")
+ mpdicon:set_image(theme.pause)
+ else
+ title = ""
+ artist = ""
+ mpdicon._private.image = nil
+ mpdicon:emit_signal("widget::redraw_needed")
+ mpdicon:emit_signal("widget::layout_changed")
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(blue, title) .. artist))
+ end
+})
+
+-- Battery
+local baticon = wibox.widget.imagebox(theme.bat)
+local batbar = wibox.widget {
+ forced_height = dpi(1),
+ forced_width = dpi(59),
+ color = theme.fg_normal,
+ background_color = theme.bg_normal,
+ margins = 1,
+ paddings = 1,
+ ticks = true,
+ ticks_size = dpi(6),
+ widget = wibox.widget.progressbar,
+}
+local batupd = lain.widget.bat({
+ settings = function()
+ if (not bat_now.status) or bat_now.status == "N/A" or type(bat_now.perc) ~= "number" then return end
+
+ if bat_now.status == "Charging" then
+ baticon:set_image(theme.ac)
+ if bat_now.perc >= 98 then
+ batbar:set_color(green)
+ elseif bat_now.perc > 50 then
+ batbar:set_color(theme.fg_normal)
+ elseif bat_now.perc > 15 then
+ batbar:set_color(theme.fg_normal)
+ else
+ batbar:set_color(red)
+ end
+ else
+ if bat_now.perc >= 98 then
+ batbar:set_color(green)
+ elseif bat_now.perc > 50 then
+ batbar:set_color(theme.fg_normal)
+ baticon:set_image(theme.bat)
+ elseif bat_now.perc > 15 then
+ batbar:set_color(theme.fg_normal)
+ baticon:set_image(theme.bat_low)
+ else
+ batbar:set_color(red)
+ baticon:set_image(theme.bat_no)
+ end
+ end
+ batbar:set_value(bat_now.perc / 100)
+ end
+})
+local batbg = wibox.container.background(batbar, "#474747", gears.shape.rectangle)
+local batwidget = wibox.container.margin(batbg, dpi(2), dpi(7), dpi(4), dpi(4))
+
+-- /home fs
+--[[ commented because it needs Gio/Glib >= 2.54
+local fsicon = wibox.widget.imagebox(theme.disk)
+local fsbar = wibox.widget {
+ forced_height = dpi(1),
+ forced_width = dpi(59),
+ color = theme.fg_normal,
+ background_color = theme.bg_normal,
+ margins = 1,
+ paddings = 1,
+ ticks = true,
+ ticks_size = dpi(6),
+ widget = wibox.widget.progressbar,
+}
+theme.fs = lain.widget.fs {
+ notification_preset = { fg = theme.fg_normal, bg = theme.bg_normal, font = "Terminus 10.5" },
+ settings = function()
+ if fs_now["/home"].percentage < 90 then
+ fsbar:set_color(theme.fg_normal)
+ else
+ fsbar:set_color("#EB8F8F")
+ end
+ fsbar:set_value(fs_now["/home"].percentage / 100)
+ end
+}
+local fsbg = wibox.container.background(fsbar, "#474747", gears.shape.rectangle)
+local fswidget = wibox.container.margin(fsbg, dpi(2), dpi(7), dpi(4), dpi(4))
+--]]
+
+-- ALSA volume bar
+local volicon = wibox.widget.imagebox(theme.vol)
+theme.volume = lain.widget.alsabar {
+ width = dpi(59), border_width = 0, ticks = true, ticks_size = dpi(6),
+ notification_preset = { font = theme.font },
+ --togglechannel = "IEC958,3",
+ settings = function()
+ if volume_now.status == "off" then
+ volicon:set_image(theme.vol_mute)
+ elseif volume_now.level == 0 then
+ volicon:set_image(theme.vol_no)
+ elseif volume_now.level <= 50 then
+ volicon:set_image(theme.vol_low)
+ else
+ volicon:set_image(theme.vol)
+ end
+ end,
+ colors = {
+ background = theme.bg_normal,
+ mute = red,
+ unmute = theme.fg_normal
+ }
+}
+theme.volume.tooltip.wibox.fg = theme.fg_focus
+theme.volume.bar:buttons(my_table.join (
+ awful.button({}, 1, function()
+ awful.spawn(string.format("%s -e alsamixer", awful.util.terminal))
+ end),
+ awful.button({}, 2, function()
+ os.execute(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel))
+ theme.volume.update()
+ end),
+ awful.button({}, 3, function()
+ os.execute(string.format("%s set %s toggle", theme.volume.cmd, theme.volume.togglechannel or theme.volume.channel))
+ theme.volume.update()
+ end),
+ awful.button({}, 4, function()
+ os.execute(string.format("%s set %s 1%%+", theme.volume.cmd, theme.volume.channel))
+ theme.volume.update()
+ end),
+ awful.button({}, 5, function()
+ os.execute(string.format("%s set %s 1%%-", theme.volume.cmd, theme.volume.channel))
+ theme.volume.update()
+ end)
+))
+local volumebg = wibox.container.background(theme.volume.bar, "#474747", gears.shape.rectangle)
+local volumewidget = wibox.container.margin(volumebg, dpi(2), dpi(7), dpi(4), dpi(4))
+
+-- Weather
+--[[ to be set before use
+theme.weather = lain.widget.weather({
+ --APPID =
+ city_id = 2643743, -- placeholder (London)
+})
+--]]
+
+-- Separators
+local first = wibox.widget.textbox(markup.font("Terminus 3", " "))
+local spr = wibox.widget.textbox(' ')
+local small_spr = wibox.widget.textbox(markup.font("Terminus 4", " "))
+local bar_spr = wibox.widget.textbox(markup.font("Terminus 3", " ") .. markup.fontfg(theme.font, "#777777", "|") .. markup.font("Terminus 5", " "))
+
+-- Eminent-like task filtering
+local orig_filter = awful.widget.taglist.filter.all
+
+-- Taglist label functions
+awful.widget.taglist.filter.all = function (t, args)
+ if t.selected or #t:clients() > 0 then
+ return orig_filter(t, args)
+ end
+end
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+ -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+ -- We need one layoutbox per screen.
+ s.mylayoutbox = awful.widget.layoutbox(s)
+ s.mylayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function () awful.layout.inc( 1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function () awful.layout.inc(-1) end),
+ awful.button({}, 4, function () awful.layout.inc( 1) end),
+ awful.button({}, 5, function () awful.layout.inc(-1) end)))
+
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons)
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons)
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = theme.bg_normal, fg = theme.fg_normal })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ small_spr,
+ s.mylayoutbox,
+ first,
+ bar_spr,
+ s.mytaglist,
+ first,
+ s.mypromptbox,
+ },
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget.systray(),
+ small_spr,
+ --theme.mail.widget,
+ mpdicon,
+ theme.mpd.widget,
+ baticon,
+ batwidget,
+ bar_spr,
+ --fsicon,
+ --fswidget,
+ bar_spr,
+ volicon,
+ volumewidget,
+ bar_spr,
+ mytextclock,
+ },
+ }
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/copland/wall.png b/awesome/.config/awesome/themes/copland/wall.png
new file mode 100644
index 0000000..ea9e4cc
Binary files /dev/null and b/awesome/.config/awesome/themes/copland/wall.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/awesome.png b/awesome/.config/awesome/themes/dremora/icons/awesome.png
new file mode 100755
index 0000000..ffb105e
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/awesome.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/dwindle.png b/awesome/.config/awesome/themes/dremora/icons/dwindle.png
new file mode 100755
index 0000000..04f3918
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/dwindle.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/fairh.png b/awesome/.config/awesome/themes/dremora/icons/fairh.png
new file mode 100755
index 0000000..0bb6dab
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/fairh.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/fairv.png b/awesome/.config/awesome/themes/dremora/icons/fairv.png
new file mode 100755
index 0000000..aff6c26
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/fairv.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/floating.png b/awesome/.config/awesome/themes/dremora/icons/floating.png
new file mode 100755
index 0000000..5d021b1
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/floating.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/magnifier.png b/awesome/.config/awesome/themes/dremora/icons/magnifier.png
new file mode 100755
index 0000000..dd4dec3
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/magnifier.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/max.png b/awesome/.config/awesome/themes/dremora/icons/max.png
new file mode 100755
index 0000000..7334f8b
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/max.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/spiral.png b/awesome/.config/awesome/themes/dremora/icons/spiral.png
new file mode 100755
index 0000000..31cbbd0
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/spiral.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/square_sel.png b/awesome/.config/awesome/themes/dremora/icons/square_sel.png
new file mode 100755
index 0000000..85cc605
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/square_sel.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/square_unsel.png b/awesome/.config/awesome/themes/dremora/icons/square_unsel.png
new file mode 100755
index 0000000..1c58e4b
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/square_unsel.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/submenu.png b/awesome/.config/awesome/themes/dremora/icons/submenu.png
new file mode 100755
index 0000000..988ef9e
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/submenu.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/tile.png b/awesome/.config/awesome/themes/dremora/icons/tile.png
new file mode 100755
index 0000000..72cbd6c
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/tile.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/tilebottom.png b/awesome/.config/awesome/themes/dremora/icons/tilebottom.png
new file mode 100755
index 0000000..a927128
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/tilebottom.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/tileleft.png b/awesome/.config/awesome/themes/dremora/icons/tileleft.png
new file mode 100755
index 0000000..c54d1f5
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/tileleft.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/tiletop.png b/awesome/.config/awesome/themes/dremora/icons/tiletop.png
new file mode 100755
index 0000000..db74cf3
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/tiletop.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/close_focus.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/close_focus.png
new file mode 100755
index 0000000..221bca0
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/close_focus.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/close_normal.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/close_normal.png
new file mode 100755
index 0000000..f923983
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/close_normal.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_focus_active.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_focus_active.png
new file mode 100755
index 0000000..d83bd00
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_focus_inactive.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_focus_inactive.png
new file mode 100755
index 0000000..47f19f6
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_normal_active.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_normal_active.png
new file mode 100755
index 0000000..b788552
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_normal_inactive.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_normal_inactive.png
new file mode 100755
index 0000000..4adc5e9
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/floating_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_active.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_active.png
new file mode 100755
index 0000000..2599cd5
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_inactive.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_inactive.png
new file mode 100755
index 0000000..bce1d00
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_active.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_active.png
new file mode 100755
index 0000000..a5b1d76
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_inactive.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_inactive.png
new file mode 100755
index 0000000..2e56d32
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_active.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_active.png
new file mode 100755
index 0000000..ade12fe
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_inactive.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_inactive.png
new file mode 100755
index 0000000..2f3a2be
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_active.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_active.png
new file mode 100755
index 0000000..02facc4
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_inactive.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_inactive.png
new file mode 100755
index 0000000..a9a3206
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_active.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_active.png
new file mode 100755
index 0000000..ebd45a1
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_inactive.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_inactive.png
new file mode 100755
index 0000000..5493d8e
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_active.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_active.png
new file mode 100755
index 0000000..15f0bc4
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_inactive.png b/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_inactive.png
new file mode 100755
index 0000000..7e6c99b
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/dremora/theme.lua b/awesome/.config/awesome/themes/dremora/theme.lua
new file mode 100644
index 0000000..5b84554
--- /dev/null
+++ b/awesome/.config/awesome/themes/dremora/theme.lua
@@ -0,0 +1,256 @@
+--[[
+
+ Dremora Awesome WM theme 2.0
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local os = os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/dremora"
+theme.wallpaper = theme.dir .. "/wall.png"
+theme.font = "Terminus 10.5"
+theme.taglist_font = "Icons 10"
+theme.fg_normal = "#747474"
+theme.fg_focus = "#DDDCFF"
+theme.bg_normal = "#121212"
+theme.bg_focus = "#121212"
+theme.fg_urgent = "#CC9393"
+theme.bg_urgent = "#2A1F1E"
+theme.border_width = dpi(0)
+theme.border_normal = "#121212"
+theme.border_focus = "#292929"
+theme.titlebar_bg_focus = "#292929"
+theme.taglist_fg_focus = "#dddcff"
+theme.taglist_bg_focus = "#121212"
+theme.menu_height = dpi(16)
+theme.menu_width = dpi(130)
+theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png"
+theme.awesome_icon = theme.dir .."/icons/awesome.png"
+theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png"
+theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png"
+theme.layout_tile = theme.dir .. "/icons/tile.png"
+theme.layout_tileleft = theme.dir .. "/icons/tileleft.png"
+theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png"
+theme.layout_tiletop = theme.dir .. "/icons/tiletop.png"
+theme.layout_fairv = theme.dir .. "/icons/fairv.png"
+theme.layout_fairh = theme.dir .. "/icons/fairh.png"
+theme.layout_spiral = theme.dir .. "/icons/spiral.png"
+theme.layout_dwindle = theme.dir .. "/icons/dwindle.png"
+theme.layout_max = theme.dir .. "/icons/max.png"
+theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png"
+theme.layout_magnifier = theme.dir .. "/icons/magnifier.png"
+theme.layout_floating = theme.dir .. "/icons/floating.png"
+theme.tasklist_plain_task_name = true
+theme.tasklist_disable_icon = true
+theme.useless_gap = dpi(10)
+theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png"
+theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png"
+theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png"
+theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png"
+theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png"
+theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png"
+theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png"
+theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png"
+theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png"
+theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png"
+
+awful.util.tagnames = { "ƀ", "Ƅ", "Ɗ", "ƈ", "ƙ" }
+
+local markup = lain.util.markup
+local separators = lain.util.separators
+local white = theme.fg_focus
+local gray = "#858585"
+
+-- Textclock
+local mytextclock = wibox.widget.textclock(markup(gray, " %a")
+.. markup(white, " %d ") .. markup(gray, "%b ") .. markup(white, "%H:%M "))
+mytextclock.font = theme.font
+
+-- Calendar
+theme.cal = lain.widget.cal({
+ attach_to = { mytextclock },
+ notification_preset = {
+ font = "Terminus 11",
+ fg = white,
+ bg = theme.bg_normal
+}})
+
+-- Mail IMAP check
+--[[ to be set before use
+theme.mail = lain.widget.imap({
+ timeout = 180,
+ server = "server",
+ mail = "mail",
+ password = "keyring get mail",
+ notification_preset = { fg = white }
+ settings = function()
+ mail = ""
+ count = ""
+
+ if mailcount > 0 then
+ mail = "Mail "
+ count = mailcount .. " "
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, mail) .. markup(white, count)))
+ end
+})
+--]]
+
+-- MPD
+theme.mpd = lain.widget.mpd({
+ settings = function()
+ mpd_notification_preset.fg = white
+ artist = mpd_now.artist .. " "
+ title = mpd_now.title .. " "
+
+ if mpd_now.state == "pause" then
+ artist = "mpd "
+ title = "paused "
+ elseif mpd_now.state == "stop" then
+ artist = ""
+ title = ""
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, artist) .. markup(white, title)))
+ end
+})
+
+-- /home fs
+--[[ commented because it needs Gio/Glib >= 2.54
+theme.fs = lain.widget.fs({
+ notification_preset = { fg = white, bg = theme.bg_normal, font = "Terminus 10.5" },
+ settings = function()
+ fs_header = ""
+ fs_p = ""
+
+ if fs_now["/home"].percentage >= 90 then
+ fs_header = " Hdd "
+ fs_p = fs_now["/home"].percentage
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, fs_header) .. markup(white, fs_p)))
+ end
+})
+--]]
+
+-- Battery
+local bat = lain.widget.bat({
+ settings = function()
+ bat_header = " Bat "
+ bat_p = bat_now.perc .. " "
+ widget:set_markup(markup.font(theme.font, markup(gray, bat_header) .. markup(white, bat_p)))
+ end
+})
+
+-- ALSA volume
+theme.volume = lain.widget.alsa({
+ --togglechannel = "IEC958,3",
+ settings = function()
+ header = " Vol "
+ vlevel = volume_now.level
+
+ if volume_now.status == "off" then
+ vlevel = vlevel .. "M "
+ else
+ vlevel = vlevel .. " "
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, header) .. markup(white, vlevel)))
+ end
+})
+
+-- Weather
+--[[ to be set before use
+theme.weather = lain.widget.weather({
+ --APPID =
+ city_id = 2643743, -- placeholder (London)
+ notification_preset = { fg = white }
+})
+--]]
+
+-- Separators
+local first = wibox.widget.textbox(' ')
+local arrl_pre = separators.arrow_right("alpha", "#1A1A1A")
+local arrl_post = separators.arrow_right("#1A1A1A", "alpha")
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+ -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+ -- We need one layoutbox per screen.
+ s.mylayoutbox = awful.widget.layoutbox(s)
+ s.mylayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function () awful.layout.inc( 1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function () awful.layout.inc(-1) end),
+ awful.button({}, 4, function () awful.layout.inc( 1) end),
+ awful.button({}, 5, function () awful.layout.inc(-1) end)))
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons)
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons)
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = theme.bg_normal, fg = theme.fg_normal })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ first,
+ s.mytaglist,
+ arrl_pre,
+ s.mylayoutbox,
+ arrl_post,
+ s.mypromptbox,
+ first,
+ },
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget.systray(),
+ first,
+ theme.mpd.widget,
+ --theme.mail.widget,
+ --theme.fs.widget,
+ bat.widget,
+ theme.volume.widget,
+ mytextclock,
+ },
+ }
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/dremora/wall.png b/awesome/.config/awesome/themes/dremora/wall.png
new file mode 100755
index 0000000..4501b60
Binary files /dev/null and b/awesome/.config/awesome/themes/dremora/wall.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/awesome_icon.png b/awesome/.config/awesome/themes/holo/icons/awesome_icon.png
new file mode 100755
index 0000000..ae13162
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/awesome_icon.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/awesome_icon_white.png b/awesome/.config/awesome/themes/holo/icons/awesome_icon_white.png
new file mode 100755
index 0000000..1b0de6e
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/awesome_icon_white.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/bar.png b/awesome/.config/awesome/themes/holo/icons/bar.png
new file mode 100755
index 0000000..767885c
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/bar.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/bottom_bar.png b/awesome/.config/awesome/themes/holo/icons/bottom_bar.png
new file mode 100755
index 0000000..076ad3b
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/bottom_bar.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/cal.png b/awesome/.config/awesome/themes/holo/icons/cal.png
new file mode 100755
index 0000000..1b023ec
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/cal.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/clock.png b/awesome/.config/awesome/themes/holo/icons/clock.png
new file mode 100755
index 0000000..6b2c4e5
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/clock.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/cpu.png b/awesome/.config/awesome/themes/holo/icons/cpu.png
new file mode 100755
index 0000000..1ce87eb
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/cpu.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/dwindle.png b/awesome/.config/awesome/themes/holo/icons/dwindle.png
new file mode 100755
index 0000000..f68b484
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/dwindle.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/fairh.png b/awesome/.config/awesome/themes/holo/icons/fairh.png
new file mode 100755
index 0000000..c7e5e6d
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/fairh.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/fairv.png b/awesome/.config/awesome/themes/holo/icons/fairv.png
new file mode 100755
index 0000000..d416b9d
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/fairv.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/floating.png b/awesome/.config/awesome/themes/holo/icons/floating.png
new file mode 100755
index 0000000..b91cd07
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/floating.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/magnifier.png b/awesome/.config/awesome/themes/holo/icons/magnifier.png
new file mode 100755
index 0000000..e1f744e
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/magnifier.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/max.png b/awesome/.config/awesome/themes/holo/icons/max.png
new file mode 100755
index 0000000..50d3994
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/max.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/mpd.png b/awesome/.config/awesome/themes/holo/icons/mpd.png
new file mode 100755
index 0000000..efa8ec3
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/mpd.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/net_down.png b/awesome/.config/awesome/themes/holo/icons/net_down.png
new file mode 100755
index 0000000..d5075a1
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/net_down.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/net_up.png b/awesome/.config/awesome/themes/holo/icons/net_up.png
new file mode 100755
index 0000000..66dfb54
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/net_up.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/next.png b/awesome/.config/awesome/themes/holo/icons/next.png
new file mode 100755
index 0000000..148ce90
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/next.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/pause.png b/awesome/.config/awesome/themes/holo/icons/pause.png
new file mode 100755
index 0000000..9e9bc3f
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/pause.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/play.png b/awesome/.config/awesome/themes/holo/icons/play.png
new file mode 100755
index 0000000..1949983
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/play.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/prev.png b/awesome/.config/awesome/themes/holo/icons/prev.png
new file mode 100755
index 0000000..d913bba
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/prev.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/spiral.png b/awesome/.config/awesome/themes/holo/icons/spiral.png
new file mode 100755
index 0000000..ebb7bb3
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/spiral.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/spr_bottom_right.png b/awesome/.config/awesome/themes/holo/icons/spr_bottom_right.png
new file mode 100755
index 0000000..d702f98
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/spr_bottom_right.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/spr_left.png b/awesome/.config/awesome/themes/holo/icons/spr_left.png
new file mode 100755
index 0000000..44822ed
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/spr_left.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/spr_right.png b/awesome/.config/awesome/themes/holo/icons/spr_right.png
new file mode 100755
index 0000000..5cca795
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/spr_right.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/spr_small.png b/awesome/.config/awesome/themes/holo/icons/spr_small.png
new file mode 100755
index 0000000..16492a8
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/spr_small.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/spr_very_small.png b/awesome/.config/awesome/themes/holo/icons/spr_very_small.png
new file mode 100755
index 0000000..8b9a227
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/spr_very_small.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/square_sel.png b/awesome/.config/awesome/themes/holo/icons/square_sel.png
new file mode 100755
index 0000000..73fb845
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/square_sel.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/square_unsel.png b/awesome/.config/awesome/themes/holo/icons/square_unsel.png
new file mode 100755
index 0000000..07dd9f0
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/square_unsel.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/stop.png b/awesome/.config/awesome/themes/holo/icons/stop.png
new file mode 100755
index 0000000..bfc819c
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/stop.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/tile.png b/awesome/.config/awesome/themes/holo/icons/tile.png
new file mode 100755
index 0000000..e2e52bb
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/tile.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/tilebottom.png b/awesome/.config/awesome/themes/holo/icons/tilebottom.png
new file mode 100755
index 0000000..439f528
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/tilebottom.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/tileleft.png b/awesome/.config/awesome/themes/holo/icons/tileleft.png
new file mode 100755
index 0000000..827e0d1
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/tileleft.png differ
diff --git a/awesome/.config/awesome/themes/holo/icons/tiletop.png b/awesome/.config/awesome/themes/holo/icons/tiletop.png
new file mode 100755
index 0000000..7139846
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/icons/tiletop.png differ
diff --git a/awesome/.config/awesome/themes/holo/theme.lua b/awesome/.config/awesome/themes/holo/theme.lua
new file mode 100644
index 0000000..75a7b48
--- /dev/null
+++ b/awesome/.config/awesome/themes/holo/theme.lua
@@ -0,0 +1,393 @@
+--[[
+
+ Holo Awesome WM theme 3.0
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local string, os = string, os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.default_dir = require("awful.util").get_themes_dir() .. "default"
+theme.icon_dir = os.getenv("HOME") .. "/.config/awesome/themes/holo/icons"
+theme.wallpaper = os.getenv("HOME") .. "/.config/awesome/themes/holo/wall.png"
+theme.font = "Roboto Bold 10"
+theme.taglist_font = "Roboto Condensed Regular 8"
+theme.fg_normal = "#FFFFFF"
+theme.fg_focus = "#0099CC"
+theme.bg_focus = "#303030"
+theme.bg_normal = "#242424"
+theme.fg_urgent = "#CC9393"
+theme.bg_urgent = "#006B8E"
+theme.border_width = dpi(3)
+theme.border_normal = "#252525"
+theme.border_focus = "#0099CC"
+theme.taglist_fg_focus = "#FFFFFF"
+theme.tasklist_bg_normal = "#222222"
+theme.tasklist_fg_focus = "#4CB7DB"
+theme.menu_height = dpi(20)
+theme.menu_width = dpi(160)
+theme.menu_icon_size = dpi(32)
+theme.awesome_icon = theme.icon_dir .. "/awesome_icon_white.png"
+theme.awesome_icon_launcher = theme.icon_dir .. "/awesome_icon.png"
+theme.taglist_squares_sel = theme.icon_dir .. "/square_sel.png"
+theme.taglist_squares_unsel = theme.icon_dir .. "/square_unsel.png"
+theme.spr_small = theme.icon_dir .. "/spr_small.png"
+theme.spr_very_small = theme.icon_dir .. "/spr_very_small.png"
+theme.spr_right = theme.icon_dir .. "/spr_right.png"
+theme.spr_bottom_right = theme.icon_dir .. "/spr_bottom_right.png"
+theme.spr_left = theme.icon_dir .. "/spr_left.png"
+theme.bar = theme.icon_dir .. "/bar.png"
+theme.bottom_bar = theme.icon_dir .. "/bottom_bar.png"
+theme.mpdl = theme.icon_dir .. "/mpd.png"
+theme.mpd_on = theme.icon_dir .. "/mpd_on.png"
+theme.prev = theme.icon_dir .. "/prev.png"
+theme.nex = theme.icon_dir .. "/next.png"
+theme.stop = theme.icon_dir .. "/stop.png"
+theme.pause = theme.icon_dir .. "/pause.png"
+theme.play = theme.icon_dir .. "/play.png"
+theme.clock = theme.icon_dir .. "/clock.png"
+theme.calendar = theme.icon_dir .. "/cal.png"
+theme.cpu = theme.icon_dir .. "/cpu.png"
+theme.net_up = theme.icon_dir .. "/net_up.png"
+theme.net_down = theme.icon_dir .. "/net_down.png"
+theme.layout_tile = theme.icon_dir .. "/tile.png"
+theme.layout_tileleft = theme.icon_dir .. "/tileleft.png"
+theme.layout_tilebottom = theme.icon_dir .. "/tilebottom.png"
+theme.layout_tiletop = theme.icon_dir .. "/tiletop.png"
+theme.layout_fairv = theme.icon_dir .. "/fairv.png"
+theme.layout_fairh = theme.icon_dir .. "/fairh.png"
+theme.layout_spiral = theme.icon_dir .. "/spiral.png"
+theme.layout_dwindle = theme.icon_dir .. "/dwindle.png"
+theme.layout_max = theme.icon_dir .. "/max.png"
+theme.layout_fullscreen = theme.icon_dir .. "/fullscreen.png"
+theme.layout_magnifier = theme.icon_dir .. "/magnifier.png"
+theme.layout_floating = theme.icon_dir .. "/floating.png"
+theme.tasklist_plain_task_name = true
+theme.tasklist_disable_icon = true
+theme.useless_gap = dpi(4)
+theme.titlebar_close_button_normal = theme.default_dir.."/titlebar/close_normal.png"
+theme.titlebar_close_button_focus = theme.default_dir.."/titlebar/close_focus.png"
+theme.titlebar_minimize_button_normal = theme.default_dir.."/titlebar/minimize_normal.png"
+theme.titlebar_minimize_button_focus = theme.default_dir.."/titlebar/minimize_focus.png"
+theme.titlebar_ontop_button_normal_inactive = theme.default_dir.."/titlebar/ontop_normal_inactive.png"
+theme.titlebar_ontop_button_focus_inactive = theme.default_dir.."/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_active = theme.default_dir.."/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_active = theme.default_dir.."/titlebar/ontop_focus_active.png"
+theme.titlebar_sticky_button_normal_inactive = theme.default_dir.."/titlebar/sticky_normal_inactive.png"
+theme.titlebar_sticky_button_focus_inactive = theme.default_dir.."/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_active = theme.default_dir.."/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_active = theme.default_dir.."/titlebar/sticky_focus_active.png"
+theme.titlebar_floating_button_normal_inactive = theme.default_dir.."/titlebar/floating_normal_inactive.png"
+theme.titlebar_floating_button_focus_inactive = theme.default_dir.."/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_active = theme.default_dir.."/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_active = theme.default_dir.."/titlebar/floating_focus_active.png"
+theme.titlebar_maximized_button_normal_inactive = theme.default_dir.."/titlebar/maximized_normal_inactive.png"
+theme.titlebar_maximized_button_focus_inactive = theme.default_dir.."/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_active = theme.default_dir.."/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_active = theme.default_dir.."/titlebar/maximized_focus_active.png"
+
+theme.musicplr = string.format("%s -e ncmpcpp", awful.util.terminal)
+
+local markup = lain.util.markup
+local blue = "#80CCE6"
+local space3 = markup.font("Roboto 3", " ")
+
+-- Clock
+local mytextclock = wibox.widget.textclock(markup("#FFFFFF", space3 .. "%H:%M " .. markup.font("Roboto 4", " ")))
+mytextclock.font = theme.font
+local clock_icon = wibox.widget.imagebox(theme.clock)
+local clockbg = wibox.container.background(mytextclock, theme.bg_focus, gears.shape.rectangle)
+local clockwidget = wibox.container.margin(clockbg, dpi(0), dpi(3), dpi(5), dpi(5))
+
+-- Calendar
+local mytextcalendar = wibox.widget.textclock(markup.fontfg(theme.font, "#FFFFFF", space3 .. "%d %b " .. markup.font("Roboto 5", " ")))
+local calendar_icon = wibox.widget.imagebox(theme.calendar)
+local calbg = wibox.container.background(mytextcalendar, theme.bg_focus, gears.shape.rectangle)
+local calendarwidget = wibox.container.margin(calbg, dpi(0), dpi(0), dpi(5), dpi(5))
+theme.cal = lain.widget.cal({
+ attach_to = { mytextclock, mytextcalendar },
+ notification_preset = {
+ fg = "#FFFFFF",
+ bg = theme.bg_normal,
+ position = "bottom_right",
+ font = "Monospace 10"
+ }
+})
+
+-- Mail IMAP check
+--[[ to be set before use
+theme.mail = lain.widget.imap({
+ timeout = 180,
+ server = "server",
+ mail = "mail",
+ password = "keyring get mail",
+ settings = function()
+ mail_notification_preset.fg = "#FFFFFF"
+ mail = ""
+ count = ""
+
+ if mailcount > 0 then
+ mail = "Mail "
+ count = mailcount .. " "
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(blue, mail) .. markup("#FFFFFF", count)))
+ end
+})
+--]]
+
+-- MPD
+local mpd_icon = awful.widget.launcher({ image = theme.mpdl, command = theme.musicplr })
+local prev_icon = wibox.widget.imagebox(theme.prev)
+local next_icon = wibox.widget.imagebox(theme.nex)
+local stop_icon = wibox.widget.imagebox(theme.stop)
+local pause_icon = wibox.widget.imagebox(theme.pause)
+local play_pause_icon = wibox.widget.imagebox(theme.play)
+theme.mpd = lain.widget.mpd({
+ settings = function ()
+ if mpd_now.state == "play" then
+ mpd_now.artist = mpd_now.artist:upper():gsub("&.-;", string.lower)
+ mpd_now.title = mpd_now.title:upper():gsub("&.-;", string.lower)
+ widget:set_markup(markup.font("Roboto 4", " ")
+ .. markup.font(theme.taglist_font,
+ " " .. mpd_now.artist
+ .. " - " ..
+ mpd_now.title .. " ") .. markup.font("Roboto 5", " "))
+ play_pause_icon:set_image(theme.pause)
+ elseif mpd_now.state == "pause" then
+ widget:set_markup(markup.font("Roboto 4", " ") ..
+ markup.font(theme.taglist_font, " MPD PAUSED ") ..
+ markup.font("Roboto 5", " "))
+ play_pause_icon:set_image(theme.play)
+ else
+ widget:set_markup("")
+ play_pause_icon:set_image(theme.play)
+ end
+ end
+})
+local musicbg = wibox.container.background(theme.mpd.widget, theme.bg_focus, gears.shape.rectangle)
+local musicwidget = wibox.container.margin(musicbg, dpi(0), dpi(0), dpi(5), dpi(5))
+
+musicwidget:buttons(my_table.join(awful.button({ }, 1,
+function () awful.spawn(theme.musicplr) end)))
+prev_icon:buttons(my_table.join(awful.button({}, 1,
+function ()
+ os.execute("mpc prev")
+ theme.mpd.update()
+end)))
+next_icon:buttons(my_table.join(awful.button({}, 1,
+function ()
+ os.execute("mpc next")
+ theme.mpd.update()
+end)))
+stop_icon:buttons(my_table.join(awful.button({}, 1,
+function ()
+ play_pause_icon:set_image(theme.play)
+ os.execute("mpc stop")
+ theme.mpd.update()
+end)))
+play_pause_icon:buttons(my_table.join(awful.button({}, 1,
+function ()
+ os.execute("mpc toggle")
+ theme.mpd.update()
+end)))
+
+-- Battery
+local bat = lain.widget.bat({
+ settings = function()
+ bat_header = " Bat "
+ bat_p = bat_now.perc .. " "
+ if bat_now.ac_status == 1 then
+ bat_p = bat_p .. "Plugged "
+ end
+ widget:set_markup(markup.font(theme.font, markup(blue, bat_header) .. bat_p))
+ end
+})
+
+-- / fs
+--[[ commented because it needs Gio/Glib >= 2.54
+theme.fs = lain.widget.fs({
+ notification_preset = { bg = theme.bg_normal, font = "Monospace 9" },
+})
+--]]
+
+-- ALSA volume bar
+theme.volume = lain.widget.alsabar({
+ notification_preset = { font = "Monospace 9"},
+ --togglechannel = "IEC958,3",
+ width = dpi(80), height = dpi(10), border_width = dpi(0),
+ colors = {
+ background = "#383838",
+ unmute = "#80CCE6",
+ mute = "#FF9F9F"
+ },
+})
+theme.volume.bar.paddings = dpi(0)
+theme.volume.bar.margins = dpi(5)
+local volumewidget = wibox.container.background(theme.volume.bar, theme.bg_focus, gears.shape.rectangle)
+volumewidget = wibox.container.margin(volumewidget, dpi(0), dpi(0), dpi(5), dpi(5))
+
+-- CPU
+local cpu_icon = wibox.widget.imagebox(theme.cpu)
+local cpu = lain.widget.cpu({
+ settings = function()
+ widget:set_markup(space3 .. markup.font(theme.font, "CPU " .. cpu_now.usage
+ .. "% ") .. markup.font("Roboto 5", " "))
+ end
+})
+local cpubg = wibox.container.background(cpu.widget, theme.bg_focus, gears.shape.rectangle)
+local cpuwidget = wibox.container.margin(cpubg, dpi(0), dpi(0), dpi(5), dpi(5))
+
+-- Net
+local netdown_icon = wibox.widget.imagebox(theme.net_down)
+local netup_icon = wibox.widget.imagebox(theme.net_up)
+local net = lain.widget.net({
+ settings = function()
+ widget:set_markup(markup.font("Roboto 1", " ") .. markup.font(theme.font, net_now.received .. " - "
+ .. net_now.sent) .. markup.font("Roboto 2", " "))
+ end
+})
+local netbg = wibox.container.background(net.widget, theme.bg_focus, gears.shape.rectangle)
+local networkwidget = wibox.container.margin(netbg, dpi(0), dpi(0), dpi(5), dpi(5))
+
+-- Weather
+--[[ to be set before use
+theme.weather = lain.widget.weather({
+ --APPID =
+ city_id = 2643743, -- placeholder (London)
+ notification_preset = { font = "Monospace 9", position = "bottom_right" },
+})
+--]]
+
+-- Launcher
+local mylauncher = awful.widget.button({ image = theme.awesome_icon_launcher })
+mylauncher:connect_signal("button::press", function() awful.util.mymainmenu:toggle() end)
+
+-- Separators
+local first = wibox.widget.textbox(' ')
+local spr_small = wibox.widget.imagebox(theme.spr_small)
+local spr_very_small = wibox.widget.imagebox(theme.spr_very_small)
+local spr_right = wibox.widget.imagebox(theme.spr_right)
+local spr_bottom_right = wibox.widget.imagebox(theme.spr_bottom_right)
+local spr_left = wibox.widget.imagebox(theme.spr_left)
+local bar = wibox.widget.imagebox(theme.bar)
+local bottom_bar = wibox.widget.imagebox(theme.bottom_bar)
+
+local barcolor = gears.color({
+ type = "linear",
+ from = { dpi(32), 0 },
+ to = { dpi(32), dpi(32) },
+ stops = { {0, theme.bg_focus}, {0.25, "#505050"}, {1, theme.bg_focus} }
+})
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+ -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+ -- We need one layoutbox per screen.
+ s.mylayoutbox = awful.widget.layoutbox(s)
+ s.mylayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function () awful.layout.inc( 1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function () awful.layout.inc(-1) end),
+ awful.button({}, 4, function () awful.layout.inc( 1) end),
+ awful.button({}, 5, function () awful.layout.inc(-1) end)))
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons, { bg_focus = barcolor })
+
+ mytaglistcont = wibox.container.background(s.mytaglist, theme.bg_focus, gears.shape.rectangle)
+ s.mytag = wibox.container.margin(mytaglistcont, dpi(0), dpi(0), dpi(5), dpi(5))
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons, { bg_focus = theme.bg_focus, shape = gears.shape.rectangle, shape_border_width = 5, shape_border_color = theme.tasklist_bg_normal, align = "center" })
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(32) })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ first,
+ s.mytag,
+ spr_small,
+ s.mylayoutbox,
+ spr_small,
+ s.mypromptbox,
+ },
+ nil, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget.systray(),
+ --theme.mail.widget,
+ --bat.widget,
+ spr_right,
+ musicwidget,
+ bar,
+ prev_icon,
+ next_icon,
+ stop_icon,
+ play_pause_icon,
+ bar,
+ mpd_icon,
+ bar,
+ spr_very_small,
+ volumewidget,
+ spr_left,
+ },
+ }
+
+ -- Create the bottom wibox
+ s.mybottomwibox = awful.wibar({ position = "bottom", screen = s, border_width = dpi(0), height = dpi(32) })
+ s.borderwibox = awful.wibar({ position = "bottom", screen = s, height = dpi(1), bg = theme.fg_focus, x = dpi(0), y = dpi(33)})
+
+ -- Add widgets to the bottom wibox
+ s.mybottomwibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ mylauncher,
+ },
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ spr_bottom_right,
+ netdown_icon,
+ networkwidget,
+ netup_icon,
+ bottom_bar,
+ cpu_icon,
+ cpuwidget,
+ bottom_bar,
+ calendar_icon,
+ calendarwidget,
+ bottom_bar,
+ clock_icon,
+ clockwidget,
+ },
+ }
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/holo/wall.png b/awesome/.config/awesome/themes/holo/wall.png
new file mode 100755
index 0000000..7ec8009
Binary files /dev/null and b/awesome/.config/awesome/themes/holo/wall.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/ac.png b/awesome/.config/awesome/themes/multicolor/icons/ac.png
new file mode 100755
index 0000000..272b832
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/ac.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/bat.png b/awesome/.config/awesome/themes/multicolor/icons/bat.png
new file mode 100755
index 0000000..bd63927
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/bat.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/clock.png b/awesome/.config/awesome/themes/multicolor/icons/clock.png
new file mode 100755
index 0000000..22aef71
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/clock.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/cpu.png b/awesome/.config/awesome/themes/multicolor/icons/cpu.png
new file mode 100755
index 0000000..e3794ca
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/cpu.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/dish.png b/awesome/.config/awesome/themes/multicolor/icons/dish.png
new file mode 100755
index 0000000..c71499b
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/dish.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/dwindle.png b/awesome/.config/awesome/themes/multicolor/icons/dwindle.png
new file mode 100755
index 0000000..94d8382
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/dwindle.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/fairh.png b/awesome/.config/awesome/themes/multicolor/icons/fairh.png
new file mode 100755
index 0000000..4468efc
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/fairh.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/fairv.png b/awesome/.config/awesome/themes/multicolor/icons/fairv.png
new file mode 100755
index 0000000..7c8728e
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/fairv.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/floating.png b/awesome/.config/awesome/themes/multicolor/icons/floating.png
new file mode 100755
index 0000000..7593a2a
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/floating.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/fs.png b/awesome/.config/awesome/themes/multicolor/icons/fs.png
new file mode 100755
index 0000000..1c1b13e
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/fs.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/fullscreen.png b/awesome/.config/awesome/themes/multicolor/icons/fullscreen.png
new file mode 100755
index 0000000..f63a69c
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/fullscreen.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/magnifier.png b/awesome/.config/awesome/themes/multicolor/icons/magnifier.png
new file mode 100755
index 0000000..8819554
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/magnifier.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/mail.png b/awesome/.config/awesome/themes/multicolor/icons/mail.png
new file mode 100755
index 0000000..25021f5
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/mail.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/max.png b/awesome/.config/awesome/themes/multicolor/icons/max.png
new file mode 100755
index 0000000..4b6a8c3
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/max.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/mem.png b/awesome/.config/awesome/themes/multicolor/icons/mem.png
new file mode 100755
index 0000000..d04ee11
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/mem.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/net_down.png b/awesome/.config/awesome/themes/multicolor/icons/net_down.png
new file mode 100755
index 0000000..09433b1
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/net_down.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/net_up.png b/awesome/.config/awesome/themes/multicolor/icons/net_up.png
new file mode 100755
index 0000000..395d014
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/net_up.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/note.png b/awesome/.config/awesome/themes/multicolor/icons/note.png
new file mode 100755
index 0000000..2f41eb3
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/note.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/note_on.png b/awesome/.config/awesome/themes/multicolor/icons/note_on.png
new file mode 100755
index 0000000..264d2c8
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/note_on.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/spiral.png b/awesome/.config/awesome/themes/multicolor/icons/spiral.png
new file mode 100755
index 0000000..6a1ebf1
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/spiral.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/spkr.png b/awesome/.config/awesome/themes/multicolor/icons/spkr.png
new file mode 100755
index 0000000..80c20b0
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/spkr.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/square_a.png b/awesome/.config/awesome/themes/multicolor/icons/square_a.png
new file mode 100755
index 0000000..1774d95
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/square_a.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/square_b.png b/awesome/.config/awesome/themes/multicolor/icons/square_b.png
new file mode 100755
index 0000000..b47e9f3
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/square_b.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/submenu.png b/awesome/.config/awesome/themes/multicolor/icons/submenu.png
new file mode 100755
index 0000000..7c81cab
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/submenu.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/temp.png b/awesome/.config/awesome/themes/multicolor/icons/temp.png
new file mode 100755
index 0000000..6c8f8bd
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/temp.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/tile.png b/awesome/.config/awesome/themes/multicolor/icons/tile.png
new file mode 100755
index 0000000..64103d9
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/tile.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/tilebottom.png b/awesome/.config/awesome/themes/multicolor/icons/tilebottom.png
new file mode 100755
index 0000000..9363636
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/tilebottom.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/tileleft.png b/awesome/.config/awesome/themes/multicolor/icons/tileleft.png
new file mode 100755
index 0000000..9331898
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/tileleft.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/tiletop.png b/awesome/.config/awesome/themes/multicolor/icons/tiletop.png
new file mode 100755
index 0000000..1cef886
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/tiletop.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/close_focus.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/close_focus.png
new file mode 100755
index 0000000..cd297db
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/close_focus.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/close_normal.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/close_normal.png
new file mode 100755
index 0000000..5448ed8
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/close_normal.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_active.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_active.png
new file mode 100755
index 0000000..ae5a8e2
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_inactive.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_inactive.png
new file mode 100755
index 0000000..c54eb0c
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_active.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_active.png
new file mode 100755
index 0000000..62342d1
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_inactive.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_inactive.png
new file mode 100755
index 0000000..e2bbdfa
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_active.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_active.png
new file mode 100755
index 0000000..957298b
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_inactive.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_inactive.png
new file mode 100755
index 0000000..1187229
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_active.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_active.png
new file mode 100755
index 0000000..a705f81
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_inactive.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_inactive.png
new file mode 100755
index 0000000..4c1ab1f
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/minimize_focus.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/minimize_focus.png
new file mode 100755
index 0000000..bbe8cff
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/minimize_focus.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/minimize_normal.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/minimize_normal.png
new file mode 100755
index 0000000..36621d0
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/minimize_normal.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_active.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_active.png
new file mode 100755
index 0000000..25a3080
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_inactive.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_inactive.png
new file mode 100755
index 0000000..d3c077a
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_active.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_active.png
new file mode 100755
index 0000000..117a203
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_inactive.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_inactive.png
new file mode 100755
index 0000000..d3a10c8
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_active.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_active.png
new file mode 100755
index 0000000..147ce6a
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_inactive.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_inactive.png
new file mode 100755
index 0000000..396628a
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_active.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_active.png
new file mode 100755
index 0000000..bdb5595
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_inactive.png b/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_inactive.png
new file mode 100755
index 0000000..a96b9b1
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/multicolor/theme.lua b/awesome/.config/awesome/themes/multicolor/theme.lua
new file mode 100644
index 0000000..e7cbbce
--- /dev/null
+++ b/awesome/.config/awesome/themes/multicolor/theme.lua
@@ -0,0 +1,350 @@
+--[[
+
+ Multicolor Awesome WM theme 2.0
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local os = os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.confdir = os.getenv("HOME") .. "/.config/awesome/themes/multicolor"
+theme.wallpaper = theme.confdir .. "/wall.png"
+theme.font = "Terminus 8"
+theme.menu_bg_normal = "#000000"
+theme.menu_bg_focus = "#000000"
+theme.bg_normal = "#000000"
+theme.bg_focus = "#000000"
+theme.bg_urgent = "#000000"
+theme.fg_normal = "#aaaaaa"
+theme.fg_focus = "#ff8c00"
+theme.fg_urgent = "#af1d18"
+theme.fg_minimize = "#ffffff"
+theme.border_width = dpi(1)
+theme.border_normal = "#1c2022"
+theme.border_focus = "#606060"
+theme.border_marked = "#3ca4d8"
+theme.menu_border_width = 0
+theme.menu_width = dpi(130)
+theme.menu_submenu_icon = theme.confdir .. "/icons/submenu.png"
+theme.menu_fg_normal = "#aaaaaa"
+theme.menu_fg_focus = "#ff8c00"
+theme.menu_bg_normal = "#050505dd"
+theme.menu_bg_focus = "#050505dd"
+theme.widget_temp = theme.confdir .. "/icons/temp.png"
+theme.widget_uptime = theme.confdir .. "/icons/ac.png"
+theme.widget_cpu = theme.confdir .. "/icons/cpu.png"
+theme.widget_weather = theme.confdir .. "/icons/dish.png"
+theme.widget_fs = theme.confdir .. "/icons/fs.png"
+theme.widget_mem = theme.confdir .. "/icons/mem.png"
+theme.widget_note = theme.confdir .. "/icons/note.png"
+theme.widget_note_on = theme.confdir .. "/icons/note_on.png"
+theme.widget_netdown = theme.confdir .. "/icons/net_down.png"
+theme.widget_netup = theme.confdir .. "/icons/net_up.png"
+theme.widget_mail = theme.confdir .. "/icons/mail.png"
+theme.widget_batt = theme.confdir .. "/icons/bat.png"
+theme.widget_clock = theme.confdir .. "/icons/clock.png"
+theme.widget_vol = theme.confdir .. "/icons/spkr.png"
+theme.taglist_squares_sel = theme.confdir .. "/icons/square_a.png"
+theme.taglist_squares_unsel = theme.confdir .. "/icons/square_b.png"
+theme.tasklist_plain_task_name = true
+theme.tasklist_disable_icon = true
+theme.useless_gap = 0
+theme.layout_tile = theme.confdir .. "/icons/tile.png"
+theme.layout_tilegaps = theme.confdir .. "/icons/tilegaps.png"
+theme.layout_tileleft = theme.confdir .. "/icons/tileleft.png"
+theme.layout_tilebottom = theme.confdir .. "/icons/tilebottom.png"
+theme.layout_tiletop = theme.confdir .. "/icons/tiletop.png"
+theme.layout_fairv = theme.confdir .. "/icons/fairv.png"
+theme.layout_fairh = theme.confdir .. "/icons/fairh.png"
+theme.layout_spiral = theme.confdir .. "/icons/spiral.png"
+theme.layout_dwindle = theme.confdir .. "/icons/dwindle.png"
+theme.layout_max = theme.confdir .. "/icons/max.png"
+theme.layout_fullscreen = theme.confdir .. "/icons/fullscreen.png"
+theme.layout_magnifier = theme.confdir .. "/icons/magnifier.png"
+theme.layout_floating = theme.confdir .. "/icons/floating.png"
+theme.titlebar_close_button_normal = theme.confdir .. "/icons/titlebar/close_normal.png"
+theme.titlebar_close_button_focus = theme.confdir .. "/icons/titlebar/close_focus.png"
+theme.titlebar_minimize_button_normal = theme.confdir .. "/icons/titlebar/minimize_normal.png"
+theme.titlebar_minimize_button_focus = theme.confdir .. "/icons/titlebar/minimize_focus.png"
+theme.titlebar_ontop_button_normal_inactive = theme.confdir .. "/icons/titlebar/ontop_normal_inactive.png"
+theme.titlebar_ontop_button_focus_inactive = theme.confdir .. "/icons/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_active = theme.confdir .. "/icons/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_active = theme.confdir .. "/icons/titlebar/ontop_focus_active.png"
+theme.titlebar_sticky_button_normal_inactive = theme.confdir .. "/icons/titlebar/sticky_normal_inactive.png"
+theme.titlebar_sticky_button_focus_inactive = theme.confdir .. "/icons/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_active = theme.confdir .. "/icons/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_active = theme.confdir .. "/icons/titlebar/sticky_focus_active.png"
+theme.titlebar_floating_button_normal_inactive = theme.confdir .. "/icons/titlebar/floating_normal_inactive.png"
+theme.titlebar_floating_button_focus_inactive = theme.confdir .. "/icons/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_active = theme.confdir .. "/icons/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_active = theme.confdir .. "/icons/titlebar/floating_focus_active.png"
+theme.titlebar_maximized_button_normal_inactive = theme.confdir .. "/icons/titlebar/maximized_normal_inactive.png"
+theme.titlebar_maximized_button_focus_inactive = theme.confdir .. "/icons/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_active = theme.confdir .. "/icons/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_active = theme.confdir .. "/icons/titlebar/maximized_focus_active.png"
+
+local markup = lain.util.markup
+
+-- Textclock
+os.setlocale(os.getenv("LANG")) -- to localize the clock
+local clockicon = wibox.widget.imagebox(theme.widget_clock)
+local mytextclock = wibox.widget.textclock(markup("#7788af", "%A %d %B ") .. markup("#ab7367", ">") .. markup("#de5e1e", " %H:%M "))
+mytextclock.font = theme.font
+
+-- Calendar
+theme.cal = lain.widget.cal({
+ attach_to = { mytextclock },
+ notification_preset = {
+ font = "Terminus 10",
+ fg = theme.fg_normal,
+ bg = theme.bg_normal
+ }
+})
+
+-- Weather
+--[[ to be set before use
+local weathericon = wibox.widget.imagebox(theme.widget_weather)
+theme.weather = lain.widget.weather({
+ city_id = 2643743, -- placeholder (London)
+ notification_preset = { font = "Terminus 10", fg = theme.fg_normal },
+ weather_na_markup = markup.fontfg(theme.font, "#eca4c4", "N/A "),
+ settings = function()
+ descr = weather_now["weather"][1]["description"]:lower()
+ units = math.floor(weather_now["main"]["temp"])
+ widget:set_markup(markup.fontfg(theme.font, "#eca4c4", descr .. " @ " .. units .. "°C "))
+ end
+})
+--]]
+
+-- / fs
+--[[ commented because it needs Gio/Glib >= 2.54
+local fsicon = wibox.widget.imagebox(theme.widget_fs)
+theme.fs = lain.widget.fs({
+ notification_preset = { font = "Terminus 10", fg = theme.fg_normal },
+ settings = function()
+ widget:set_markup(markup.fontfg(theme.font, "#80d9d8", string.format("%.1f", fs_now["/"].used) .. "% "))
+ end
+})
+--]]
+
+-- Mail IMAP check
+--[[ to be set before use
+local mailicon = wibox.widget.imagebox()
+theme.mail = lain.widget.imap({
+ timeout = 180,
+ server = "server",
+ mail = "mail",
+ password = "keyring get mail",
+ settings = function()
+ if mailcount > 0 then
+ mailicon:set_image(theme.widget_mail)
+ widget:set_markup(markup.fontfg(theme.font, "#cccccc", mailcount .. " "))
+ else
+ widget:set_text("")
+ --mailicon:set_image() -- not working in 4.0
+ mailicon._private.image = nil
+ mailicon:emit_signal("widget::redraw_needed")
+ mailicon:emit_signal("widget::layout_changed")
+ end
+ end
+})
+--]]
+
+-- CPU
+local cpuicon = wibox.widget.imagebox(theme.widget_cpu)
+local cpu = lain.widget.cpu({
+ settings = function()
+ widget:set_markup(markup.fontfg(theme.font, "#e33a6e", cpu_now.usage .. "% "))
+ end
+})
+
+-- Coretemp
+local tempicon = wibox.widget.imagebox(theme.widget_temp)
+local temp = lain.widget.temp({
+ settings = function()
+ widget:set_markup(markup.fontfg(theme.font, "#f1af5f", coretemp_now .. "°C "))
+ end
+})
+
+-- Battery
+local baticon = wibox.widget.imagebox(theme.widget_batt)
+local bat = lain.widget.bat({
+ settings = function()
+ local perc = bat_now.perc ~= "N/A" and bat_now.perc .. "%" or bat_now.perc
+
+ if bat_now.ac_status == 1 then
+ perc = perc .. " plug"
+ end
+
+ widget:set_markup(markup.fontfg(theme.font, theme.fg_normal, perc .. " "))
+ end
+})
+
+-- ALSA volume
+local volicon = wibox.widget.imagebox(theme.widget_vol)
+theme.volume = lain.widget.alsa({
+ settings = function()
+ if volume_now.status == "off" then
+ volume_now.level = volume_now.level .. "M"
+ end
+
+ widget:set_markup(markup.fontfg(theme.font, "#7493d2", volume_now.level .. "% "))
+ end
+})
+
+-- Net
+local netdownicon = wibox.widget.imagebox(theme.widget_netdown)
+local netdowninfo = wibox.widget.textbox()
+local netupicon = wibox.widget.imagebox(theme.widget_netup)
+local netupinfo = lain.widget.net({
+ settings = function()
+ --[[ uncomment if using the weather widget
+ if iface ~= "network off" and
+ string.match(theme.weather.widget.text, "N/A")
+ then
+ theme.weather.update()
+ end
+ --]]
+
+ widget:set_markup(markup.fontfg(theme.font, "#e54c62", net_now.sent .. " "))
+ netdowninfo:set_markup(markup.fontfg(theme.font, "#87af5f", net_now.received .. " "))
+ end
+})
+
+-- MEM
+local memicon = wibox.widget.imagebox(theme.widget_mem)
+local memory = lain.widget.mem({
+ settings = function()
+ widget:set_markup(markup.fontfg(theme.font, "#e0da37", mem_now.used .. "M "))
+ end
+})
+
+-- MPD
+local mpdicon = wibox.widget.imagebox()
+theme.mpd = lain.widget.mpd({
+ settings = function()
+ mpd_notification_preset = {
+ text = string.format("%s [%s] - %s\n%s", mpd_now.artist,
+ mpd_now.album, mpd_now.date, mpd_now.title)
+ }
+
+ if mpd_now.state == "play" then
+ artist = mpd_now.artist .. " > "
+ title = mpd_now.title .. " "
+ mpdicon:set_image(theme.widget_note_on)
+ elseif mpd_now.state == "pause" then
+ artist = "mpd "
+ title = "paused "
+ else
+ artist = ""
+ title = ""
+ --mpdicon:set_image() -- not working in 4.0
+ mpdicon._private.image = nil
+ mpdicon:emit_signal("widget::redraw_needed")
+ mpdicon:emit_signal("widget::layout_changed")
+ end
+ widget:set_markup(markup.fontfg(theme.font, "#e54c62", artist) .. markup.fontfg(theme.font, "#b2b2b2", title))
+ end
+})
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+ -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+ -- We need one layoutbox per screen.
+ s.mylayoutbox = awful.widget.layoutbox(s)
+ s.mylayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function () awful.layout.inc( 1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function () awful.layout.inc(-1) end),
+ awful.button({}, 4, function () awful.layout.inc( 1) end),
+ awful.button({}, 5, function () awful.layout.inc(-1) end)))
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons)
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons)
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(19), bg = theme.bg_normal, fg = theme.fg_normal })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ --s.mylayoutbox,
+ s.mytaglist,
+ s.mypromptbox,
+ mpdicon,
+ theme.mpd.widget,
+ },
+ --s.mytasklist, -- Middle widget
+ nil,
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget.systray(),
+ --mailicon,
+ --theme.mail.widget,
+ netdownicon,
+ netdowninfo,
+ netupicon,
+ netupinfo.widget,
+ volicon,
+ theme.volume.widget,
+ memicon,
+ memory.widget,
+ cpuicon,
+ cpu.widget,
+ --fsicon,
+ --theme.fs.widget,
+ --weathericon,
+ --theme.weather.widget,
+ tempicon,
+ temp.widget,
+ baticon,
+ bat.widget,
+ clockicon,
+ mytextclock,
+ },
+ }
+
+ -- Create the bottom wibox
+ s.mybottomwibox = awful.wibar({ position = "bottom", screen = s, border_width = 0, height = dpi(20), bg = theme.bg_normal, fg = theme.fg_normal })
+
+ -- Add widgets to the bottom wibox
+ s.mybottomwibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ },
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ s.mylayoutbox,
+ },
+ }
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/multicolor/wall.png b/awesome/.config/awesome/themes/multicolor/wall.png
new file mode 100755
index 0000000..a3188d0
Binary files /dev/null and b/awesome/.config/awesome/themes/multicolor/wall.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/ac.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/ac.png
new file mode 100755
index 0000000..96efcb4
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/ac.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/battery.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/battery.png
new file mode 100755
index 0000000..8c85596
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/battery.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/battery_empty.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/battery_empty.png
new file mode 100755
index 0000000..00821c9
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/battery_empty.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/battery_low.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/battery_low.png
new file mode 100755
index 0000000..29f3fc5
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/battery_low.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/centerfair.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/centerfair.png
new file mode 100755
index 0000000..c4f64b0
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/centerfair.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/centerwork.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/centerwork.png
new file mode 100755
index 0000000..9071516
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/centerwork.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/centerworkh.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/centerworkh.png
new file mode 100755
index 0000000..b1d1379
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/centerworkh.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/cpu.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/cpu.png
new file mode 100755
index 0000000..35af1c3
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/cpu.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/dwindle.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/dwindle.png
new file mode 100755
index 0000000..649ea99
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/dwindle.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/fairh.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/fairh.png
new file mode 100755
index 0000000..62d3d99
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/fairh.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/fairv.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/fairv.png
new file mode 100755
index 0000000..131dd0f
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/fairv.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/floating.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/floating.png
new file mode 100755
index 0000000..d25c47b
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/floating.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/hdd.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/hdd.png
new file mode 100755
index 0000000..0fb6833
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/hdd.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/magnifier.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/magnifier.png
new file mode 100755
index 0000000..60d3e0d
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/magnifier.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/mail.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/mail.png
new file mode 100755
index 0000000..474e602
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/mail.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/mail_on.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/mail_on.png
new file mode 100755
index 0000000..19106d7
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/mail_on.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/max.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/max.png
new file mode 100755
index 0000000..5b0a5b7
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/max.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/mem.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/mem.png
new file mode 100755
index 0000000..7860a1a
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/mem.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/net.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/net.png
new file mode 100755
index 0000000..bc42fdc
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/net.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/net_wired.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/net_wired.png
new file mode 100755
index 0000000..e8cc2bd
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/net_wired.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/note.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/note.png
new file mode 100755
index 0000000..baa29c3
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/note.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/note_on.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/note_on.png
new file mode 100755
index 0000000..1a7ab94
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/note_on.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/scissors.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/scissors.png
new file mode 100755
index 0000000..f8c700d
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/scissors.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/spiral.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/spiral.png
new file mode 100755
index 0000000..d9ee0f6
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/spiral.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/square_sel.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/square_sel.png
new file mode 100755
index 0000000..1102a9f
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/square_sel.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/square_unsel.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/square_unsel.png
new file mode 100755
index 0000000..7386b85
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/square_unsel.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/submenu.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/submenu.png
new file mode 100755
index 0000000..b55ebce
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/submenu.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/task.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/task.png
new file mode 100755
index 0000000..9701b68
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/task.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/temp.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/temp.png
new file mode 100755
index 0000000..6793a9f
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/temp.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/termfair.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/termfair.png
new file mode 100755
index 0000000..3e06023
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/termfair.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/tile.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/tile.png
new file mode 100755
index 0000000..922c05c
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/tile.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/tilebottom.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/tilebottom.png
new file mode 100755
index 0000000..6ec9cb8
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/tilebottom.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/tileleft.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/tileleft.png
new file mode 100755
index 0000000..8e3d2d6
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/tileleft.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/tiletop.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/tiletop.png
new file mode 100755
index 0000000..3da75a1
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/tiletop.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_focus.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_focus.png
new file mode 100755
index 0000000..b2051b0
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_focus.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_normal.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_normal.png
new file mode 100755
index 0000000..da6028c
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_normal.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_active.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_active.png
new file mode 100755
index 0000000..5fe84c0
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_inactive.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_inactive.png
new file mode 100755
index 0000000..47f19f6
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_active.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_active.png
new file mode 100755
index 0000000..576fa36
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_inactive.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_inactive.png
new file mode 100755
index 0000000..4adc5e9
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_active.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_active.png
new file mode 100755
index 0000000..7d9a11a
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_inactive.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_inactive.png
new file mode 100755
index 0000000..bce1d00
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_active.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_active.png
new file mode 100755
index 0000000..9f24945
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_inactive.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_inactive.png
new file mode 100755
index 0000000..2e56d32
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_active.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_active.png
new file mode 100755
index 0000000..41a69e2
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_inactive.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_inactive.png
new file mode 100755
index 0000000..2f3a2be
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_active.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_active.png
new file mode 100755
index 0000000..0f937b7
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_inactive.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_inactive.png
new file mode 100755
index 0000000..a9a3206
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_active.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_active.png
new file mode 100755
index 0000000..a9bc8a2
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_inactive.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_inactive.png
new file mode 100755
index 0000000..5493d8e
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_active.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_active.png
new file mode 100755
index 0000000..1e150f5
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_inactive.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_inactive.png
new file mode 100755
index 0000000..7e6c99b
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/vol.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/vol.png
new file mode 100755
index 0000000..bbf33d4
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/vol.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/vol_low.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/vol_low.png
new file mode 100755
index 0000000..aa3ce4d
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/vol_low.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/vol_mute.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/vol_mute.png
new file mode 100755
index 0000000..e855fd2
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/vol_mute.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/icons/vol_no.png b/awesome/.config/awesome/themes/powerarrow-dark/icons/vol_no.png
new file mode 100755
index 0000000..bbe917b
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/icons/vol_no.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/theme.lua b/awesome/.config/awesome/themes/powerarrow-dark/theme.lua
new file mode 100644
index 0000000..f72b3c9
--- /dev/null
+++ b/awesome/.config/awesome/themes/powerarrow-dark/theme.lua
@@ -0,0 +1,359 @@
+--[[
+
+ Powerarrow Dark Awesome WM theme
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local os = os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/powerarrow-dark"
+theme.wallpaper = theme.dir .. "/wall.png"
+theme.font = "Terminus 9"
+theme.fg_normal = "#DDDDFF"
+theme.fg_focus = "#EA6F81"
+theme.fg_urgent = "#CC9393"
+theme.bg_normal = "#1A1A1A"
+theme.bg_focus = "#313131"
+theme.bg_urgent = "#1A1A1A"
+theme.border_width = dpi(1)
+theme.border_normal = "#3F3F3F"
+theme.border_focus = "#7F7F7F"
+theme.border_marked = "#CC9393"
+theme.tasklist_bg_focus = "#1A1A1A"
+theme.titlebar_bg_focus = theme.bg_focus
+theme.titlebar_bg_normal = theme.bg_normal
+theme.titlebar_fg_focus = theme.fg_focus
+theme.menu_height = dpi(16)
+theme.menu_width = dpi(140)
+theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png"
+theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png"
+theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png"
+theme.layout_tile = theme.dir .. "/icons/tile.png"
+theme.layout_tileleft = theme.dir .. "/icons/tileleft.png"
+theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png"
+theme.layout_tiletop = theme.dir .. "/icons/tiletop.png"
+theme.layout_fairv = theme.dir .. "/icons/fairv.png"
+theme.layout_fairh = theme.dir .. "/icons/fairh.png"
+theme.layout_spiral = theme.dir .. "/icons/spiral.png"
+theme.layout_dwindle = theme.dir .. "/icons/dwindle.png"
+theme.layout_max = theme.dir .. "/icons/max.png"
+theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png"
+theme.layout_magnifier = theme.dir .. "/icons/magnifier.png"
+theme.layout_floating = theme.dir .. "/icons/floating.png"
+theme.widget_ac = theme.dir .. "/icons/ac.png"
+theme.widget_battery = theme.dir .. "/icons/battery.png"
+theme.widget_battery_low = theme.dir .. "/icons/battery_low.png"
+theme.widget_battery_empty = theme.dir .. "/icons/battery_empty.png"
+theme.widget_mem = theme.dir .. "/icons/mem.png"
+theme.widget_cpu = theme.dir .. "/icons/cpu.png"
+theme.widget_temp = theme.dir .. "/icons/temp.png"
+theme.widget_net = theme.dir .. "/icons/net.png"
+theme.widget_hdd = theme.dir .. "/icons/hdd.png"
+theme.widget_music = theme.dir .. "/icons/note.png"
+theme.widget_music_on = theme.dir .. "/icons/note_on.png"
+theme.widget_vol = theme.dir .. "/icons/vol.png"
+theme.widget_vol_low = theme.dir .. "/icons/vol_low.png"
+theme.widget_vol_no = theme.dir .. "/icons/vol_no.png"
+theme.widget_vol_mute = theme.dir .. "/icons/vol_mute.png"
+theme.widget_mail = theme.dir .. "/icons/mail.png"
+theme.widget_mail_on = theme.dir .. "/icons/mail_on.png"
+theme.tasklist_plain_task_name = true
+theme.tasklist_disable_icon = true
+theme.useless_gap = dpi(0)
+theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png"
+theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png"
+theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png"
+theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png"
+theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png"
+theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png"
+theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png"
+theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png"
+theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png"
+theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png"
+
+local markup = lain.util.markup
+local separators = lain.util.separators
+
+local keyboardlayout = awful.widget.keyboardlayout:new()
+
+-- Textclock
+local clockicon = wibox.widget.imagebox(theme.widget_clock)
+local clock = awful.widget.watch(
+ "date +'%a %d %b %R'", 60,
+ function(widget, stdout)
+ widget:set_markup(" " .. markup.font(theme.font, stdout))
+ end
+)
+
+-- Calendar
+theme.cal = lain.widget.cal({
+ attach_to = { clock },
+ notification_preset = {
+ font = "Terminus 10",
+ fg = theme.fg_normal,
+ bg = theme.bg_normal
+ }
+})
+
+-- Mail IMAP check
+local mailicon = wibox.widget.imagebox(theme.widget_mail)
+--[[ commented because it needs to be set before use
+mailicon:buttons(my_table.join(awful.button({ }, 1, function () awful.spawn(mail) end)))
+theme.mail = lain.widget.imap({
+ timeout = 180,
+ server = "server",
+ mail = "mail",
+ password = "keyring get mail",
+ settings = function()
+ if mailcount > 0 then
+ widget:set_markup(markup.font(theme.font, " " .. mailcount .. " "))
+ mailicon:set_image(theme.widget_mail_on)
+ else
+ widget:set_text("")
+ mailicon:set_image(theme.widget_mail)
+ end
+ end
+})
+--]]
+
+-- MPD
+local musicplr = awful.util.terminal .. " -title Music -e ncmpcpp"
+local mpdicon = wibox.widget.imagebox(theme.widget_music)
+mpdicon:buttons(my_table.join(
+ awful.button({ "Mod4" }, 1, function () awful.spawn(musicplr) end),
+ awful.button({ }, 1, function ()
+ os.execute("mpc prev")
+ theme.mpd.update()
+ end),
+ awful.button({ }, 2, function ()
+ os.execute("mpc toggle")
+ theme.mpd.update()
+ end),
+ awful.button({ }, 3, function ()
+ os.execute("mpc next")
+ theme.mpd.update()
+ end)))
+theme.mpd = lain.widget.mpd({
+ settings = function()
+ if mpd_now.state == "play" then
+ artist = " " .. mpd_now.artist .. " "
+ title = mpd_now.title .. " "
+ mpdicon:set_image(theme.widget_music_on)
+ elseif mpd_now.state == "pause" then
+ artist = " mpd "
+ title = "paused "
+ else
+ artist = ""
+ title = ""
+ mpdicon:set_image(theme.widget_music)
+ end
+
+ widget:set_markup(markup.font(theme.font, markup("#EA6F81", artist) .. title))
+ end
+})
+
+-- MEM
+local memicon = wibox.widget.imagebox(theme.widget_mem)
+local mem = lain.widget.mem({
+ settings = function()
+ widget:set_markup(markup.font(theme.font, " " .. mem_now.used .. "MB "))
+ end
+})
+
+-- CPU
+local cpuicon = wibox.widget.imagebox(theme.widget_cpu)
+local cpu = lain.widget.cpu({
+ settings = function()
+ widget:set_markup(markup.font(theme.font, " " .. cpu_now.usage .. "% "))
+ end
+})
+
+-- Coretemp
+local tempicon = wibox.widget.imagebox(theme.widget_temp)
+local temp = lain.widget.temp({
+ settings = function()
+ widget:set_markup(markup.font(theme.font, " " .. coretemp_now .. "°C "))
+ end
+})
+
+-- / fs
+local fsicon = wibox.widget.imagebox(theme.widget_hdd)
+--[[ commented because it needs Gio/Glib >= 2.54
+theme.fs = lain.widget.fs({
+ notification_preset = { fg = theme.fg_normal, bg = theme.bg_normal, font = "Terminus 10" },
+ settings = function()
+ widget:set_markup(markup.font(theme.font, " " .. fs_now["/"].percentage .. "% "))
+ end
+})
+--]]
+
+-- Battery
+local baticon = wibox.widget.imagebox(theme.widget_battery)
+local bat = lain.widget.bat({
+ settings = function()
+ if bat_now.status and bat_now.status ~= "N/A" then
+ if bat_now.ac_status == 1 then
+ baticon:set_image(theme.widget_ac)
+ elseif not bat_now.perc and tonumber(bat_now.perc) <= 5 then
+ baticon:set_image(theme.widget_battery_empty)
+ elseif not bat_now.perc and tonumber(bat_now.perc) <= 15 then
+ baticon:set_image(theme.widget_battery_low)
+ else
+ baticon:set_image(theme.widget_battery)
+ end
+ widget:set_markup(markup.font(theme.font, " " .. bat_now.perc .. "% "))
+ else
+ widget:set_markup(markup.font(theme.font, " AC "))
+ baticon:set_image(theme.widget_ac)
+ end
+ end
+})
+
+-- ALSA volume
+local volicon = wibox.widget.imagebox(theme.widget_vol)
+theme.volume = lain.widget.alsa({
+ settings = function()
+ if volume_now.status == "off" then
+ volicon:set_image(theme.widget_vol_mute)
+ elseif tonumber(volume_now.level) == 0 then
+ volicon:set_image(theme.widget_vol_no)
+ elseif tonumber(volume_now.level) <= 50 then
+ volicon:set_image(theme.widget_vol_low)
+ else
+ volicon:set_image(theme.widget_vol)
+ end
+
+ widget:set_markup(markup.font(theme.font, " " .. volume_now.level .. "% "))
+ end
+})
+theme.volume.widget:buttons(awful.util.table.join(
+ awful.button({}, 4, function ()
+ awful.util.spawn("amixer set Master 1%+")
+ theme.volume.update()
+ end),
+ awful.button({}, 5, function ()
+ awful.util.spawn("amixer set Master 1%-")
+ theme.volume.update()
+ end)
+))
+
+-- Net
+local neticon = wibox.widget.imagebox(theme.widget_net)
+local net = lain.widget.net({
+ settings = function()
+ widget:set_markup(markup.font(theme.font,
+ markup("#7AC82E", " " .. string.format("%06.1f", net_now.received))
+ .. " " ..
+ markup("#46A8C3", " " .. string.format("%06.1f", net_now.sent) .. " ")))
+ end
+})
+
+-- Separators
+local spr = wibox.widget.textbox(' ')
+local arrl_dl = separators.arrow_left(theme.bg_focus, "alpha")
+local arrl_ld = separators.arrow_left("alpha", theme.bg_focus)
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+ -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+ -- We need one layoutbox per screen.
+ s.mylayoutbox = awful.widget.layoutbox(s)
+ s.mylayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function () awful.layout.inc( 1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function () awful.layout.inc(-1) end),
+ awful.button({}, 4, function () awful.layout.inc( 1) end),
+ awful.button({}, 5, function () awful.layout.inc(-1) end)))
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons)
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons)
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = theme.bg_normal, fg = theme.fg_normal })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ --spr,
+ s.mytaglist,
+ s.mypromptbox,
+ spr,
+ },
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget.systray(),
+ keyboardlayout,
+ spr,
+ arrl_ld,
+ wibox.container.background(mpdicon, theme.bg_focus),
+ wibox.container.background(theme.mpd.widget, theme.bg_focus),
+ arrl_dl,
+ volicon,
+ theme.volume.widget,
+ arrl_ld,
+ wibox.container.background(mailicon, theme.bg_focus),
+ --wibox.container.background(theme.mail.widget, theme.bg_focus),
+ arrl_dl,
+ memicon,
+ mem.widget,
+ arrl_ld,
+ wibox.container.background(cpuicon, theme.bg_focus),
+ wibox.container.background(cpu.widget, theme.bg_focus),
+ arrl_dl,
+ tempicon,
+ temp.widget,
+ arrl_ld,
+ wibox.container.background(fsicon, theme.bg_focus),
+ --wibox.container.background(theme.fs.widget, theme.bg_focus),
+ arrl_dl,
+ baticon,
+ bat.widget,
+ arrl_ld,
+ wibox.container.background(neticon, theme.bg_focus),
+ wibox.container.background(net.widget, theme.bg_focus),
+ arrl_dl,
+ clock,
+ spr,
+ arrl_ld,
+ wibox.container.background(s.mylayoutbox, theme.bg_focus),
+ },
+ }
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/powerarrow-dark/wall.png b/awesome/.config/awesome/themes/powerarrow-dark/wall.png
new file mode 100755
index 0000000..9d1118b
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow-dark/wall.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/binclock.lua b/awesome/.config/awesome/themes/powerarrow/binclock.lua
new file mode 100644
index 0000000..68668ea
--- /dev/null
+++ b/awesome/.config/awesome/themes/powerarrow/binclock.lua
@@ -0,0 +1,96 @@
+--[[
+
+ Licensed under GNU General Public License v2
+ * (c) 2017, Luca CPZ
+ * (c) 2013, romockee
+
+--]]
+
+local gears = require("gears")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+local date = os.date
+local ipairs = ipairs
+local math = math
+local select = select
+local string = string
+
+local binclock = {}
+
+function binclock.dec2bin(num, bits)
+ local bits, t = bits or select(2, math.frexp(num)), {}
+ for b = bits, 1, -1 do
+ t[b] = math.fmod(num, 2)
+ num = (num - t[b]) / 2
+ end
+ return t
+end
+
+function binclock.paintdot(cr, val, shift)
+ local height = 0
+ for _, bit in ipairs(binclock.dec2bin(val, 4)) do
+ if bit >= 1 then
+ cr:set_source(gears.color(binclock.color_active))
+ else
+ cr:set_source(gears.color(binclock.color_inactive))
+ end
+ cr:rectangle(shift, height, binclock.dotsize, binclock.dotsize)
+ cr:fill()
+ height = height + binclock.dotsize + binclock.step
+ end
+end
+
+local function factory(args)
+ local args = args or {}
+
+ binclock.width = args.width or dpi(42)
+ binclock.height = args.height or dpi(18)
+ binclock.show_seconds = args.show_seconds or false
+ binclock.color_active = args.color_active or "#CCCCCC"
+ binclock.color_inactive = args.color_inactive or "#444444"
+ binclock.dotsize = math.floor(binclock.height / 5)
+ binclock.step = math.floor(binclock.dotsize / 3)
+
+ binclock.widget = wibox.widget {
+ fit = function(self, context, width, height)
+ return binclock.width, binclock.height
+ end,
+ draw = function(self, context, cr, width, height)
+ local t = date("*t")
+
+ local hour = string.format("%02d", t.hour)
+ local min = string.format("%02d", t.min)
+ local sec = string.format("%02d", t.sec)
+
+ local col_count = 4
+ if binclock.show_seconds then
+ col_count = 6
+ end
+ local step = math.floor((binclock.width - col_count * binclock.dotsize) / 8)
+
+ binclock.paintdot(cr, string.sub(hour, 1, 1), step, 2)
+ binclock.paintdot(cr, string.sub(hour, 2, 2), binclock.dotsize + 2 * step)
+
+ binclock.paintdot(cr, string.sub(min, 1, 1), binclock.dotsize * 2 + 4 * step)
+ binclock.paintdot(cr, string.sub(min, 2, 2), binclock.dotsize * 3 + 5 * step)
+
+ if binclock.show_seconds then
+ binclock.paintdot(cr, string.sub(sec, 1, 1), binclock.dotsize * 4 + 7 * step)
+ binclock.paintdot(cr, string.sub(sec, 2, 2), binclock.dotsize * 5 + 8 * step)
+ end
+ end,
+ layout = wibox.widget.base.make_widget
+ }
+
+ binclock.timer = gears.timer {
+ autostart = true,
+ timeout = binclock.show_seconds and 1 or 60,
+ callback = function()
+ binclock.widget:emit_signal("widget::redraw_needed")
+ end
+ }
+
+ return binclock
+end
+
+return factory
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/ac.png b/awesome/.config/awesome/themes/powerarrow/icons/ac.png
new file mode 100755
index 0000000..453af4e
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/ac.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/awesome.png b/awesome/.config/awesome/themes/powerarrow/icons/awesome.png
new file mode 100755
index 0000000..4cabb6c
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/awesome.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/battery.png b/awesome/.config/awesome/themes/powerarrow/icons/battery.png
new file mode 100755
index 0000000..7dd78a5
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/battery.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/battery_empty.png b/awesome/.config/awesome/themes/powerarrow/icons/battery_empty.png
new file mode 100755
index 0000000..763aa93
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/battery_empty.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/battery_low.png b/awesome/.config/awesome/themes/powerarrow/icons/battery_low.png
new file mode 100755
index 0000000..626222f
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/battery_low.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/brightness.png b/awesome/.config/awesome/themes/powerarrow/icons/brightness.png
new file mode 100755
index 0000000..030d524
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/brightness.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/cpu.png b/awesome/.config/awesome/themes/powerarrow/icons/cpu.png
new file mode 100755
index 0000000..c28a787
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/cpu.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/floating.png b/awesome/.config/awesome/themes/powerarrow/icons/floating.png
new file mode 100755
index 0000000..079fea4
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/floating.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/fwd.png b/awesome/.config/awesome/themes/powerarrow/icons/fwd.png
new file mode 100755
index 0000000..e9b875e
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/fwd.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/hdd.png b/awesome/.config/awesome/themes/powerarrow/icons/hdd.png
new file mode 100755
index 0000000..8922eaa
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/hdd.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/mail.png b/awesome/.config/awesome/themes/powerarrow/icons/mail.png
new file mode 100755
index 0000000..be656ed
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/mail.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/mail_on.png b/awesome/.config/awesome/themes/powerarrow/icons/mail_on.png
new file mode 100755
index 0000000..ce8984f
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/mail_on.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/mem.png b/awesome/.config/awesome/themes/powerarrow/icons/mem.png
new file mode 100755
index 0000000..ee6d480
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/mem.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/net.png b/awesome/.config/awesome/themes/powerarrow/icons/net.png
new file mode 100755
index 0000000..769bfec
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/net.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/next.png b/awesome/.config/awesome/themes/powerarrow/icons/next.png
new file mode 100755
index 0000000..9a62593
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/next.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/note.png b/awesome/.config/awesome/themes/powerarrow/icons/note.png
new file mode 100755
index 0000000..19866aa
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/note.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/note_on.png b/awesome/.config/awesome/themes/powerarrow/icons/note_on.png
new file mode 100755
index 0000000..aae5ca3
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/note_on.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/pacman.png b/awesome/.config/awesome/themes/powerarrow/icons/pacman.png
new file mode 100755
index 0000000..575144a
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/pacman.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/pause.png b/awesome/.config/awesome/themes/powerarrow/icons/pause.png
new file mode 100755
index 0000000..d4546e6
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/pause.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/phones.png b/awesome/.config/awesome/themes/powerarrow/icons/phones.png
new file mode 100755
index 0000000..bec0e57
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/phones.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/play.png b/awesome/.config/awesome/themes/powerarrow/icons/play.png
new file mode 100755
index 0000000..b228f74
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/play.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/prev.png b/awesome/.config/awesome/themes/powerarrow/icons/prev.png
new file mode 100755
index 0000000..4c4ca40
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/prev.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/rwd.png b/awesome/.config/awesome/themes/powerarrow/icons/rwd.png
new file mode 100755
index 0000000..ac3d6f4
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/rwd.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/scissors.png b/awesome/.config/awesome/themes/powerarrow/icons/scissors.png
new file mode 100755
index 0000000..30f867d
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/scissors.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/square_sel.png b/awesome/.config/awesome/themes/powerarrow/icons/square_sel.png
new file mode 100755
index 0000000..874a3a5
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/square_sel.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/square_unsel.png b/awesome/.config/awesome/themes/powerarrow/icons/square_unsel.png
new file mode 100755
index 0000000..979642f
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/square_unsel.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/stop.png b/awesome/.config/awesome/themes/powerarrow/icons/stop.png
new file mode 100755
index 0000000..207915b
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/stop.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/submenu.png b/awesome/.config/awesome/themes/powerarrow/icons/submenu.png
new file mode 100755
index 0000000..e9a6b7c
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/submenu.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/task.png b/awesome/.config/awesome/themes/powerarrow/icons/task.png
new file mode 100755
index 0000000..962b51a
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/task.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/temp.png b/awesome/.config/awesome/themes/powerarrow/icons/temp.png
new file mode 100755
index 0000000..7952de8
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/temp.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/tile.png b/awesome/.config/awesome/themes/powerarrow/icons/tile.png
new file mode 100755
index 0000000..01fd1b5
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/tile.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/tilebottom.png b/awesome/.config/awesome/themes/powerarrow/icons/tilebottom.png
new file mode 100755
index 0000000..bff1f42
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/tilebottom.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/tileleft.png b/awesome/.config/awesome/themes/powerarrow/icons/tileleft.png
new file mode 100755
index 0000000..205140a
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/tileleft.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/tiletop.png b/awesome/.config/awesome/themes/powerarrow/icons/tiletop.png
new file mode 100755
index 0000000..148cb9b
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/tiletop.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/close_focus.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/close_focus.png
new file mode 100755
index 0000000..cccbadc
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/close_focus.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/close_normal.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/close_normal.png
new file mode 100755
index 0000000..cb0c3fa
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/close_normal.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_active.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_active.png
new file mode 100755
index 0000000..77ea127
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_inactive.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_inactive.png
new file mode 100755
index 0000000..d254a73
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_active.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_active.png
new file mode 100755
index 0000000..c5ce3de
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_inactive.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_inactive.png
new file mode 100755
index 0000000..850b602
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_active.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_active.png
new file mode 100755
index 0000000..9fc0483
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_inactive.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_inactive.png
new file mode 100755
index 0000000..f684470
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_active.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_active.png
new file mode 100755
index 0000000..4aa4196
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_inactive.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_inactive.png
new file mode 100755
index 0000000..bfe01a3
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_active.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_active.png
new file mode 100755
index 0000000..86e61b7
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_inactive.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_inactive.png
new file mode 100755
index 0000000..286d439
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_active.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_active.png
new file mode 100755
index 0000000..fcee772
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_inactive.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_inactive.png
new file mode 100755
index 0000000..a628626
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_active.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_active.png
new file mode 100755
index 0000000..5af45c1
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_inactive.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_inactive.png
new file mode 100755
index 0000000..22d7453
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_active.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_active.png
new file mode 100755
index 0000000..aad079e
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_active.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_inactive.png b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_inactive.png
new file mode 100755
index 0000000..5f3e655
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_inactive.png differ
diff --git a/awesome/.config/awesome/themes/powerarrow/theme.lua b/awesome/.config/awesome/themes/powerarrow/theme.lua
new file mode 100644
index 0000000..984c9a8
--- /dev/null
+++ b/awesome/.config/awesome/themes/powerarrow/theme.lua
@@ -0,0 +1,400 @@
+--[[
+
+ Powerarrow Awesome WM theme
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local math, string, os = math, string, os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/powerarrow"
+theme.wallpaper = theme.dir .. "/wall.png"
+theme.font = "Terminus 9"
+theme.fg_normal = "#FEFEFE"
+theme.fg_focus = "#32D6FF"
+theme.fg_urgent = "#C83F11"
+theme.bg_normal = "#222222"
+theme.bg_focus = "#1E2320"
+theme.bg_urgent = "#3F3F3F"
+theme.taglist_fg_focus = "#00CCFF"
+theme.tasklist_bg_focus = "#222222"
+theme.tasklist_fg_focus = "#00CCFF"
+theme.border_width = dpi(2)
+theme.border_normal = "#3F3F3F"
+theme.border_focus = "#6F6F6F"
+theme.border_marked = "#CC9393"
+theme.titlebar_bg_focus = "#3F3F3F"
+theme.titlebar_bg_normal = "#3F3F3F"
+theme.titlebar_bg_focus = theme.bg_focus
+theme.titlebar_bg_normal = theme.bg_normal
+theme.titlebar_fg_focus = theme.fg_focus
+theme.menu_height = dpi(16)
+theme.menu_width = dpi(140)
+theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png"
+theme.awesome_icon = theme.dir .. "/icons/awesome.png"
+theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png"
+theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png"
+theme.layout_tile = theme.dir .. "/icons/tile.png"
+theme.layout_tileleft = theme.dir .. "/icons/tileleft.png"
+theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png"
+theme.layout_tiletop = theme.dir .. "/icons/tiletop.png"
+theme.layout_fairv = theme.dir .. "/icons/fairv.png"
+theme.layout_fairh = theme.dir .. "/icons/fairh.png"
+theme.layout_spiral = theme.dir .. "/icons/spiral.png"
+theme.layout_dwindle = theme.dir .. "/icons/dwindle.png"
+theme.layout_max = theme.dir .. "/icons/max.png"
+theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png"
+theme.layout_magnifier = theme.dir .. "/icons/magnifier.png"
+theme.layout_floating = theme.dir .. "/icons/floating.png"
+theme.widget_ac = theme.dir .. "/icons/ac.png"
+theme.widget_battery = theme.dir .. "/icons/battery.png"
+theme.widget_battery_low = theme.dir .. "/icons/battery_low.png"
+theme.widget_battery_empty = theme.dir .. "/icons/battery_empty.png"
+theme.widget_brightness = theme.dir .. "/icons/brightness.png"
+theme.widget_mem = theme.dir .. "/icons/mem.png"
+theme.widget_cpu = theme.dir .. "/icons/cpu.png"
+theme.widget_temp = theme.dir .. "/icons/temp.png"
+theme.widget_net = theme.dir .. "/icons/net.png"
+theme.widget_hdd = theme.dir .. "/icons/hdd.png"
+theme.widget_music = theme.dir .. "/icons/note.png"
+theme.widget_music_on = theme.dir .. "/icons/note_on.png"
+theme.widget_music_pause = theme.dir .. "/icons/pause.png"
+theme.widget_music_stop = theme.dir .. "/icons/stop.png"
+theme.widget_vol = theme.dir .. "/icons/vol.png"
+theme.widget_vol_low = theme.dir .. "/icons/vol_low.png"
+theme.widget_vol_no = theme.dir .. "/icons/vol_no.png"
+theme.widget_vol_mute = theme.dir .. "/icons/vol_mute.png"
+theme.widget_mail = theme.dir .. "/icons/mail.png"
+theme.widget_mail_on = theme.dir .. "/icons/mail_on.png"
+theme.widget_task = theme.dir .. "/icons/task.png"
+theme.widget_scissors = theme.dir .. "/icons/scissors.png"
+theme.tasklist_plain_task_name = true
+theme.tasklist_disable_icon = true
+theme.useless_gap = 0
+theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png"
+theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png"
+theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png"
+theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png"
+theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png"
+theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png"
+theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png"
+theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png"
+theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png"
+theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png"
+
+local markup = lain.util.markup
+local separators = lain.util.separators
+
+-- Binary clock
+local binclock = require("themes.powerarrow.binclock"){
+ height = dpi(32),
+ show_seconds = true,
+ color_active = theme.fg_normal,
+ color_inactive = theme.bg_focus
+}
+
+-- Calendar
+theme.cal = lain.widget.cal({
+ --cal = "cal --color=always",
+ attach_to = { binclock.widget },
+ notification_preset = {
+ font = "Terminus 10",
+ fg = theme.fg_normal,
+ bg = theme.bg_normal
+ }
+})
+
+-- Taskwarrior
+local task = wibox.widget.imagebox(theme.widget_task)
+lain.widget.contrib.task.attach(task, {
+ -- do not colorize output
+ show_cmd = "task | sed -r 's/\\x1B\\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g'"
+})
+task:buttons(my_table.join(awful.button({}, 1, lain.widget.contrib.task.prompt)))
+
+-- Scissors (xsel copy and paste)
+local scissors = wibox.widget.imagebox(theme.widget_scissors)
+scissors:buttons(my_table.join(awful.button({}, 1, function() awful.spawn.with_shell("xsel | xsel -i -b") end)))
+
+-- Mail IMAP check
+--[[ commented because it needs to be set before use
+local mailicon = wibox.widget.imagebox(theme.widget_mail)
+mailicon:buttons(my_table.join(awful.button({ }, 1, function () awful.spawn(mail) end)))
+theme.mail = lain.widget.imap({
+ timeout = 180,
+ server = "server",
+ mail = "mail",
+ password = "keyring get mail",
+ settings = function()
+ if mailcount > 0 then
+ widget:set_text(" " .. mailcount .. " ")
+ mailicon:set_image(theme.widget_mail_on)
+ else
+ widget:set_text("")
+ mailicon:set_image(theme.widget_mail)
+ end
+ end
+})
+--]]
+
+-- ALSA volume
+theme.volume = lain.widget.alsabar({
+ --togglechannel = "IEC958,3",
+ notification_preset = { font = "Terminus 10", fg = theme.fg_normal },
+})
+
+-- MPD
+local musicplr = awful.util.terminal .. " -title Music -g 130x34-320+16 -e ncmpcpp"
+local mpdicon = wibox.widget.imagebox(theme.widget_music)
+mpdicon:buttons(my_table.join(
+ awful.button({ modkey }, 1, function () awful.spawn.with_shell(musicplr) end),
+ awful.button({ }, 1, function ()
+ os.execute("mpc prev")
+ theme.mpd.update()
+ end),
+ awful.button({ }, 2, function ()
+ os.execute("mpc toggle")
+ theme.mpd.update()
+ end),
+ awful.button({ }, 3, function ()
+ os.execute("mpc next")
+ theme.mpd.update()
+ end)))
+theme.mpd = lain.widget.mpd({
+ settings = function()
+ if mpd_now.state == "play" then
+ artist = " " .. mpd_now.artist .. " "
+ title = mpd_now.title .. " "
+ mpdicon:set_image(theme.widget_music_on)
+ widget:set_markup(markup.font(theme.font, markup("#FF8466", artist) .. " " .. title))
+ elseif mpd_now.state == "pause" then
+ widget:set_markup(markup.font(theme.font, " mpd paused "))
+ mpdicon:set_image(theme.widget_music_pause)
+ else
+ widget:set_text("")
+ mpdicon:set_image(theme.widget_music)
+ end
+ end
+})
+
+-- MEM
+local memicon = wibox.widget.imagebox(theme.widget_mem)
+local mem = lain.widget.mem({
+ settings = function()
+ widget:set_markup(markup.font(theme.font, " " .. mem_now.used .. "MB "))
+ end
+})
+
+-- CPU
+local cpuicon = wibox.widget.imagebox(theme.widget_cpu)
+local cpu = lain.widget.cpu({
+ settings = function()
+ widget:set_markup(markup.font(theme.font, " " .. cpu_now.usage .. "% "))
+ end
+})
+
+--[[ Coretemp (lm_sensors, per core)
+local tempwidget = awful.widget.watch({awful.util.shell, '-c', 'sensors | grep Core'}, 30,
+function(widget, stdout)
+ local temps = ""
+ for line in stdout:gmatch("[^\r\n]+") do
+ temps = temps .. line:match("+(%d+).*°C") .. "° " -- in Celsius
+ end
+ widget:set_markup(markup.font(theme.font, " " .. temps))
+end)
+--]]
+-- Coretemp (lain, average)
+local temp = lain.widget.temp({
+ settings = function()
+ widget:set_markup(markup.font(theme.font, " " .. coretemp_now .. "°C "))
+ end
+})
+--]]
+local tempicon = wibox.widget.imagebox(theme.widget_temp)
+
+-- / fs
+local fsicon = wibox.widget.imagebox(theme.widget_hdd)
+--[[ commented because it needs Gio/Glib >= 2.54
+theme.fs = lain.widget.fs({
+ notification_preset = { fg = theme.fg_normal, bg = theme.bg_normal, font = "Terminus 10" },
+ settings = function()
+ local fsp = string.format(" %3.2f %s ", fs_now["/"].free, fs_now["/"].units)
+ widget:set_markup(markup.font(theme.font, fsp))
+ end
+})
+--]]
+
+-- Battery
+local baticon = wibox.widget.imagebox(theme.widget_battery)
+local bat = lain.widget.bat({
+ settings = function()
+ if bat_now.status and bat_now.status ~= "N/A" then
+ if bat_now.ac_status == 1 then
+ widget:set_markup(markup.font(theme.font, " AC "))
+ baticon:set_image(theme.widget_ac)
+ return
+ elseif not bat_now.perc and tonumber(bat_now.perc) <= 5 then
+ baticon:set_image(theme.widget_battery_empty)
+ elseif not bat_now.perc and tonumber(bat_now.perc) <= 15 then
+ baticon:set_image(theme.widget_battery_low)
+ else
+ baticon:set_image(theme.widget_battery)
+ end
+ widget:set_markup(markup.font(theme.font, " " .. bat_now.perc .. "% "))
+ else
+ widget:set_markup()
+ baticon:set_image(theme.widget_ac)
+ end
+ end
+})
+
+-- Net
+local neticon = wibox.widget.imagebox(theme.widget_net)
+local net = lain.widget.net({
+ settings = function()
+ widget:set_markup(markup.fontfg(theme.font, "#FEFEFE", " " .. net_now.received .. " ↓↑ " .. net_now.sent .. " "))
+ end
+})
+
+-- Brigtness
+local brighticon = wibox.widget.imagebox(theme.widget_brightness)
+-- If you use xbacklight, comment the line with "light -G" and uncomment the line bellow
+-- local brightwidget = awful.widget.watch('xbacklight -get', 0.1,
+local brightwidget = awful.widget.watch('light -G', 0.1,
+ function(widget, stdout, stderr, exitreason, exitcode)
+ local brightness_level = tonumber(string.format("%.0f", stdout))
+ widget:set_markup(markup.font(theme.font, " " .. brightness_level .. "%"))
+end)
+
+-- Separators
+local arrow = separators.arrow_left
+
+function theme.powerline_rl(cr, width, height)
+ local arrow_depth, offset = height/2, 0
+
+ -- Avoid going out of the (potential) clip area
+ if arrow_depth < 0 then
+ width = width + 2*arrow_depth
+ offset = -arrow_depth
+ end
+
+ cr:move_to(offset + arrow_depth , 0 )
+ cr:line_to(offset + width , 0 )
+ cr:line_to(offset + width - arrow_depth , height/2 )
+ cr:line_to(offset + width , height )
+ cr:line_to(offset + arrow_depth , height )
+ cr:line_to(offset , height/2 )
+
+ cr:close_path()
+end
+
+local function pl(widget, bgcolor, padding)
+ return wibox.container.background(wibox.container.margin(widget, dpi(16), dpi(16)), bgcolor, theme.powerline_rl)
+end
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+ -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+ -- We need one layoutbox per screen.
+ s.mylayoutbox = awful.widget.layoutbox(s)
+ s.mylayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function () awful.layout.inc( 1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function () awful.layout.inc(-1) end),
+ awful.button({}, 4, function () awful.layout.inc( 1) end),
+ awful.button({}, 5, function () awful.layout.inc(-1) end)))
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons)
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons)
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(16), bg = theme.bg_normal, fg = theme.fg_normal })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ --spr,
+ s.mytaglist,
+ s.mypromptbox,
+ spr,
+ },
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget.systray(),
+ wibox.container.margin(scissors, dpi(4), dpi(8)),
+ --[[ using shapes
+ pl(wibox.widget { mpdicon, theme.mpd.widget, layout = wibox.layout.align.horizontal }, "#343434"),
+ pl(task, "#343434"),
+ --pl(wibox.widget { mailicon, mail and theme.mail.widget, layout = wibox.layout.align.horizontal }, "#343434"),
+ pl(wibox.widget { memicon, mem.widget, layout = wibox.layout.align.horizontal }, "#777E76"),
+ pl(wibox.widget { cpuicon, cpu.widget, layout = wibox.layout.align.horizontal }, "#4B696D"),
+ pl(wibox.widget { tempicon, temp.widget, layout = wibox.layout.align.horizontal }, "#4B3B51"),
+ --pl(wibox.widget { fsicon, theme.fs and theme.fs.widget, layout = wibox.layout.align.horizontal }, "#CB755B"),
+ pl(wibox.widget { baticon, bat.widget, layout = wibox.layout.align.horizontal }, "#8DAA9A"),
+ pl(wibox.widget { neticon, net.widget, layout = wibox.layout.align.horizontal }, "#C0C0A2"),
+ pl(binclock.widget, "#777E76"),
+ --]]
+ -- using separators
+ arrow(theme.bg_normal, "#343434"),
+ wibox.container.background(wibox.container.margin(wibox.widget { mailicon, theme.mail and theme.mail.widget, layout = wibox.layout.align.horizontal }, dpi(4), dpi(7)), "#343434"),
+ arrow("#343434", theme.bg_normal),
+ wibox.container.background(wibox.container.margin(wibox.widget { mpdicon, theme.mpd.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(6)), theme.bg_focus),
+ arrow(theme.bg_normal, "#343434"),
+ wibox.container.background(wibox.container.margin(task, dpi(3), dpi(7)), "#343434"),
+ arrow("#343434", "#777E76"),
+ wibox.container.background(wibox.container.margin(wibox.widget { memicon, mem.widget, layout = wibox.layout.align.horizontal }, dpi(2), dpi(3)), "#777E76"),
+ arrow("#777E76", "#4B696D"),
+ wibox.container.background(wibox.container.margin(wibox.widget { cpuicon, cpu.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(4)), "#4B696D"),
+ arrow("#4B696D", "#4B3B51"),
+ wibox.container.background(wibox.container.margin(wibox.widget { tempicon, temp.widget, layout = wibox.layout.align.horizontal }, dpi(4), dpi(4)), "#4B3B51"),
+ arrow("#4B3B51", "#CB755B"),
+ wibox.container.background(wibox.container.margin(wibox.widget { fsicon, theme.fs and theme.fs.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(3)), "#CB755B"),
+ arrow("#CB755B", "#8DAA9A"),
+ wibox.container.background(wibox.container.margin(wibox.widget { baticon, bat.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(3)), "#8DAA9A"),
+ arrow("#8DAA9A", "#C0C0A2"),
+ wibox.container.background(wibox.container.margin(wibox.widget { nil, neticon, net.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(3)), "#C0C0A2"),
+ arrow("#C0C0A2", "#777E76"),
+ wibox.container.background(wibox.container.margin(binclock.widget, dpi(4), dpi(8)), "#777E76"),
+ arrow("#777E76", "alpha"),
+ --]]
+ s.mylayoutbox,
+ },
+ }
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/powerarrow/wall.png b/awesome/.config/awesome/themes/powerarrow/wall.png
new file mode 100755
index 0000000..0989db9
Binary files /dev/null and b/awesome/.config/awesome/themes/powerarrow/wall.png differ
diff --git a/awesome/.config/awesome/themes/rainbow/icons/awesome.png b/awesome/.config/awesome/themes/rainbow/icons/awesome.png
new file mode 100755
index 0000000..d99fd37
Binary files /dev/null and b/awesome/.config/awesome/themes/rainbow/icons/awesome.png differ
diff --git a/awesome/.config/awesome/themes/rainbow/icons/square_sel.png b/awesome/.config/awesome/themes/rainbow/icons/square_sel.png
new file mode 100755
index 0000000..532719f
Binary files /dev/null and b/awesome/.config/awesome/themes/rainbow/icons/square_sel.png differ
diff --git a/awesome/.config/awesome/themes/rainbow/icons/square_unsel.png b/awesome/.config/awesome/themes/rainbow/icons/square_unsel.png
new file mode 100755
index 0000000..72dea5b
Binary files /dev/null and b/awesome/.config/awesome/themes/rainbow/icons/square_unsel.png differ
diff --git a/awesome/.config/awesome/themes/rainbow/icons/submenu.png b/awesome/.config/awesome/themes/rainbow/icons/submenu.png
new file mode 100755
index 0000000..26ab82a
Binary files /dev/null and b/awesome/.config/awesome/themes/rainbow/icons/submenu.png differ
diff --git a/awesome/.config/awesome/themes/rainbow/theme.lua b/awesome/.config/awesome/themes/rainbow/theme.lua
new file mode 100644
index 0000000..7837b93
--- /dev/null
+++ b/awesome/.config/awesome/themes/rainbow/theme.lua
@@ -0,0 +1,279 @@
+--[[
+
+ Rainbow Awesome WM theme 2.0
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local os = os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.default_dir = require("awful.util").get_themes_dir() .. "default"
+theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/rainbow"
+theme.wallpaper = theme.dir .. "/wall.png"
+theme.font = "Terminus 10.5"
+theme.fg_normal = "#9E9E9E"
+theme.fg_focus = "#EBEBFF"
+theme.bg_normal = "#242424"
+theme.bg_focus = "#242424"
+theme.fg_urgent = "#000000"
+theme.bg_urgent = "#FFFFFF"
+theme.border_width = dpi(1)
+theme.border_normal = "#242424"
+theme.border_focus = "#EBEBFF"
+theme.taglist_fg_focus = "#EDEFFF"
+theme.taglist_bg_focus = "#242424"
+theme.menu_height = dpi(16)
+theme.menu_width = dpi(140)
+theme.ocol = ""
+theme.tasklist_sticky = theme.ocol .. "[S]"
+theme.tasklist_ontop = theme.ocol .. "[T]"
+theme.tasklist_floating = theme.ocol .. "[F]"
+theme.tasklist_maximized_horizontal = theme.ocol .. "[M] "
+theme.tasklist_maximized_vertical = ""
+theme.tasklist_disable_icon = true
+theme.awesome_icon = theme.dir .."/icons/awesome.png"
+theme.menu_submenu_icon = theme.dir .."/icons/submenu.png"
+theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png"
+theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png"
+theme.useless_gap = dpi(8)
+theme.layout_txt_tile = "[t]"
+theme.layout_txt_tileleft = "[l]"
+theme.layout_txt_tilebottom = "[b]"
+theme.layout_txt_tiletop = "[tt]"
+theme.layout_txt_fairv = "[fv]"
+theme.layout_txt_fairh = "[fh]"
+theme.layout_txt_spiral = "[s]"
+theme.layout_txt_dwindle = "[d]"
+theme.layout_txt_max = "[m]"
+theme.layout_txt_fullscreen = "[F]"
+theme.layout_txt_magnifier = "[M]"
+theme.layout_txt_floating = "[*]"
+theme.titlebar_close_button_normal = theme.default_dir.."/titlebar/close_normal.png"
+theme.titlebar_close_button_focus = theme.default_dir.."/titlebar/close_focus.png"
+theme.titlebar_minimize_button_normal = theme.default_dir.."/titlebar/minimize_normal.png"
+theme.titlebar_minimize_button_focus = theme.default_dir.."/titlebar/minimize_focus.png"
+theme.titlebar_ontop_button_normal_inactive = theme.default_dir.."/titlebar/ontop_normal_inactive.png"
+theme.titlebar_ontop_button_focus_inactive = theme.default_dir.."/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_active = theme.default_dir.."/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_active = theme.default_dir.."/titlebar/ontop_focus_active.png"
+theme.titlebar_sticky_button_normal_inactive = theme.default_dir.."/titlebar/sticky_normal_inactive.png"
+theme.titlebar_sticky_button_focus_inactive = theme.default_dir.."/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_active = theme.default_dir.."/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_active = theme.default_dir.."/titlebar/sticky_focus_active.png"
+theme.titlebar_floating_button_normal_inactive = theme.default_dir.."/titlebar/floating_normal_inactive.png"
+theme.titlebar_floating_button_focus_inactive = theme.default_dir.."/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_active = theme.default_dir.."/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_active = theme.default_dir.."/titlebar/floating_focus_active.png"
+theme.titlebar_maximized_button_normal_inactive = theme.default_dir.."/titlebar/maximized_normal_inactive.png"
+theme.titlebar_maximized_button_focus_inactive = theme.default_dir.."/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_active = theme.default_dir.."/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_active = theme.default_dir.."/titlebar/maximized_focus_active.png"
+
+-- lain related
+theme.layout_txt_cascade = "[cascade]"
+theme.layout_txt_cascadetile = "[cascadetile]"
+theme.layout_txt_centerwork = "[centerwork]"
+theme.layout_txt_termfair = "[termfair]"
+theme.layout_txt_centerfair = "[centerfair]"
+
+local markup = lain.util.markup
+local white = theme.fg_focus
+local gray = theme.fg_normal
+
+-- Textclock
+local mytextclock = wibox.widget.textclock(markup(white, " %H:%M "))
+mytextclock.font = theme.font
+
+-- Calendar
+theme.cal = lain.widget.cal({
+ attach_to = { mytextclock },
+ notification_preset = {
+ font = "Terminus 11",
+ fg = white,
+ bg = theme.bg_normal
+ }
+})
+
+-- Mail IMAP check
+--[[ commented because it needs to be set before use
+theme.mail = lain.widget.imap({
+ timeout = 180,
+ server = "server",
+ mail = "mail",
+ password = "keyring get mail",
+ settings = function()
+ mail_notification_preset.fg = white
+
+ mail = ""
+ count = ""
+
+ if mailcount > 0 then
+ mail = "Mail "
+ count = mailcount .. " "
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, mail) .. markup(white, count)))
+ end
+})
+--]]
+
+-- MPD
+theme.mpd = lain.widget.mpd({
+ settings = function()
+ mpd_notification_preset.fg = white
+
+ artist = mpd_now.artist .. " "
+ title = mpd_now.title .. " "
+
+ if mpd_now.state == "pause" then
+ artist = "mpd "
+ title = "paused "
+ elseif mpd_now.state == "stop" then
+ artist = ""
+ title = ""
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, artist) .. markup(white, title)))
+ end
+})
+
+-- /home fs
+--[[ commented because it needs Gio/Glib >= 2.54
+theme.fs = lain.widget.fs({
+ notification_preset = { fg = white, bg = theme.bg_normal, font = "Terminus 10.5" },
+ settings = function()
+ local fs_header, fs_p = "", ""
+
+ if fs_now["/home"].percentage >= 90 then
+ fs_header = " Hdd "
+ fs_p = fs_now["/home"].percentage
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, fs_header) .. markup(white, fs_p)))
+ end
+})
+--]]
+
+-- ALSA volume bar
+theme.volume = lain.widget.alsabar({
+ ticks = true, width = dpi(67),
+ notification_preset = { font = theme.font }
+})
+theme.volume.tooltip.wibox.fg = theme.fg_focus
+theme.volume.tooltip.wibox.font = theme.font
+theme.volume.bar:buttons(my_table.join (
+ awful.button({}, 1, function()
+ awful.spawn(string.format("%s -e alsamixer", terminal))
+ end),
+ awful.button({}, 2, function()
+ os.execute(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel))
+ theme.volume.update()
+ end),
+ awful.button({}, 3, function()
+ os.execute(string.format("%s set %s toggle", theme.volume.cmd, theme.volume.togglechannel or theme.volume.channel))
+ theme.volume.update()
+ end),
+ awful.button({}, 4, function()
+ os.execute(string.format("%s set %s 1%%+", theme.volume.cmd, theme.volume.channel))
+ theme.volume.update()
+ end),
+ awful.button({}, 5, function()
+ os.execute(string.format("%s set %s 1%%-", theme.volume.cmd, theme.volume.channel))
+ theme.volume.update()
+ end)
+))
+local volumebg = wibox.container.background(theme.volume.bar, "#585858", gears.shape.rectangle)
+local volumewidget = wibox.container.margin(volumebg, dpi(7), dpi(7), dpi(5), dpi(5))
+
+-- Weather
+--[[ to be set before use
+theme.weather = lain.widget.weather({
+ --APPID =
+ city_id = 2643743, -- placeholder (London)
+ notification_preset = { font = theme.font, fg = white }
+})
+--]]
+
+-- Separators
+local first = wibox.widget.textbox(markup.font("Terminus 4", " "))
+local spr = wibox.widget.textbox(' ')
+
+local function update_txt_layoutbox(s)
+ -- Writes a string representation of the current layout in a textbox widget
+ local txt_l = theme["layout_txt_" .. awful.layout.getname(awful.layout.get(s))] or ""
+ s.mytxtlayoutbox:set_text(txt_l)
+end
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+
+ -- Textual layoutbox
+ s.mytxtlayoutbox = wibox.widget.textbox(theme["layout_txt_" .. awful.layout.getname(awful.layout.get(s))])
+ awful.tag.attached_connect_signal(s, "property::selected", function () update_txt_layoutbox(s) end)
+ awful.tag.attached_connect_signal(s, "property::layout", function () update_txt_layoutbox(s) end)
+ s.mytxtlayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function() awful.layout.inc(1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function() awful.layout.inc(-1) end),
+ awful.button({}, 4, function() awful.layout.inc(1) end),
+ awful.button({}, 5, function() awful.layout.inc(-1) end)))
+
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons)
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons)
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = theme.bg_normal, fg = theme.fg_normal })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ first,
+ s.mytaglist,
+ spr,
+ s.mytxtlayoutbox,
+ --spr,
+ s.mypromptbox,
+ spr,
+ },
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget.systray(),
+ spr,
+ theme.mpd.widget,
+ --theme.mail.widget,
+ --theme.fs.widget,
+ volumewidget,
+ mytextclock,
+ },
+ }
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/rainbow/wall.png b/awesome/.config/awesome/themes/rainbow/wall.png
new file mode 100755
index 0000000..6bed238
Binary files /dev/null and b/awesome/.config/awesome/themes/rainbow/wall.png differ
diff --git a/awesome/.config/awesome/themes/steamburn/icons/awesome.png b/awesome/.config/awesome/themes/steamburn/icons/awesome.png
new file mode 100755
index 0000000..0306bdf
Binary files /dev/null and b/awesome/.config/awesome/themes/steamburn/icons/awesome.png differ
diff --git a/awesome/.config/awesome/themes/steamburn/icons/square_sel.png b/awesome/.config/awesome/themes/steamburn/icons/square_sel.png
new file mode 100755
index 0000000..2bcabb8
Binary files /dev/null and b/awesome/.config/awesome/themes/steamburn/icons/square_sel.png differ
diff --git a/awesome/.config/awesome/themes/steamburn/icons/square_unsel.png b/awesome/.config/awesome/themes/steamburn/icons/square_unsel.png
new file mode 100755
index 0000000..14c4fe4
Binary files /dev/null and b/awesome/.config/awesome/themes/steamburn/icons/square_unsel.png differ
diff --git a/awesome/.config/awesome/themes/steamburn/icons/submenu.png b/awesome/.config/awesome/themes/steamburn/icons/submenu.png
new file mode 100755
index 0000000..12b97c6
Binary files /dev/null and b/awesome/.config/awesome/themes/steamburn/icons/submenu.png differ
diff --git a/awesome/.config/awesome/themes/steamburn/theme.lua b/awesome/.config/awesome/themes/steamburn/theme.lua
new file mode 100644
index 0000000..a6631a3
--- /dev/null
+++ b/awesome/.config/awesome/themes/steamburn/theme.lua
@@ -0,0 +1,278 @@
+--[[
+
+ Steamburn Awesome WM theme 3.0
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local os = os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.zenburn_dir = require("awful.util").get_themes_dir() .. "zenburn"
+theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/steamburn"
+theme.wallpaper = theme.dir .. "/wall.png"
+theme.font = "Terminus 10.5"
+theme.fg_normal = "#e2ccb0"
+theme.fg_focus = "#d88166"
+theme.fg_urgent = "#CC9393"
+theme.bg_normal = "#140c0b"
+theme.bg_focus = "#140c0b"
+theme.bg_urgent = "#2a1f1e"
+theme.border_width = dpi(1)
+theme.border_normal = "#302627"
+theme.border_focus = "#c2745b"
+theme.border_marked = "#CC9393"
+theme.taglist_fg_focus = "#d88166"
+theme.tasklist_bg_focus = "#140c0b"
+theme.tasklist_fg_focus = "#d88166"
+theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png"
+theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png"
+theme.menu_height = dpi(16)
+theme.menu_width = dpi(140)
+theme.awesome_icon = theme.dir .."/icons/awesome.png"
+theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png"
+theme.layout_txt_tile = "[t]"
+theme.layout_txt_tileleft = "[l]"
+theme.layout_txt_tilebottom = "[b]"
+theme.layout_txt_tiletop = "[tt]"
+theme.layout_txt_fairv = "[fv]"
+theme.layout_txt_fairh = "[fh]"
+theme.layout_txt_spiral = "[s]"
+theme.layout_txt_dwindle = "[d]"
+theme.layout_txt_max = "[m]"
+theme.layout_txt_fullscreen = "[F]"
+theme.layout_txt_magnifier = "[M]"
+theme.layout_txt_floating = "[|]"
+theme.tasklist_plain_task_name = true
+theme.tasklist_disable_icon = true
+theme.useless_gap = dpi(0)
+theme.titlebar_close_button_normal = theme.zenburn_dir.."/titlebar/close_normal.png"
+theme.titlebar_close_button_focus = theme.zenburn_dir.."/titlebar/close_focus.png"
+theme.titlebar_minimize_button_normal = theme.zenburn_dir.."/titlebar/minimize_normal.png"
+theme.titlebar_minimize_button_focus = theme.zenburn_dir.."/titlebar/minimize_focus.png"
+theme.titlebar_ontop_button_normal_inactive = theme.zenburn_dir.."/titlebar/ontop_normal_inactive.png"
+theme.titlebar_ontop_button_focus_inactive = theme.zenburn_dir.."/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_active = theme.zenburn_dir.."/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_active = theme.zenburn_dir.."/titlebar/ontop_focus_active.png"
+theme.titlebar_sticky_button_normal_inactive = theme.zenburn_dir.."/titlebar/sticky_normal_inactive.png"
+theme.titlebar_sticky_button_focus_inactive = theme.zenburn_dir.."/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_active = theme.zenburn_dir.."/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_active = theme.zenburn_dir.."/titlebar/sticky_focus_active.png"
+theme.titlebar_floating_button_normal_inactive = theme.zenburn_dir.."/titlebar/floating_normal_inactive.png"
+theme.titlebar_floating_button_focus_inactive = theme.zenburn_dir.."/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_active = theme.zenburn_dir.."/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_active = theme.zenburn_dir.."/titlebar/floating_focus_active.png"
+theme.titlebar_maximized_button_normal_inactive = theme.zenburn_dir.."/titlebar/maximized_normal_inactive.png"
+theme.titlebar_maximized_button_focus_inactive = theme.zenburn_dir.."/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_active = theme.zenburn_dir.."/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_active = theme.zenburn_dir.."/titlebar/maximized_focus_active.png"
+
+-- lain related
+theme.layout_txt_termfair = "[termfair]"
+theme.layout_txt_centerfair = "[centerfair]"
+
+local markup = lain.util.markup
+local gray = "#94928F"
+
+-- Textclock
+local mytextclock = wibox.widget.textclock(" %H:%M ")
+mytextclock.font = theme.font
+
+-- Calendar
+theme.cal = lain.widget.cal({
+ attach_to = { mytextclock },
+ notification_preset = {
+ font = "Terminus 11",
+ fg = theme.fg_normal,
+ bg = theme.bg_normal
+ }
+})
+
+-- Mail IMAP check
+--[[ to be set before use
+theme.mail = lain.widget.imap({
+ timeout = 180,
+ server = "server",
+ mail = "mail",
+ password = "keyring get mail",
+ settings = function()
+ mail = ""
+ count = ""
+
+ if mailcount > 0 then
+ mail = "Mail "
+ count = mailcount .. " "
+ end
+
+ widget:set_markup(markup(gray, mail) .. count)
+ end
+})
+--]]
+
+-- MPD
+theme.mpd = lain.widget.mpd({
+ settings = function()
+ artist = mpd_now.artist .. " "
+ title = mpd_now.title .. " "
+
+ if mpd_now.state == "pause" then
+ artist = "mpd "
+ title = "paused "
+ elseif mpd_now.state == "stop" then
+ artist = ""
+ title = ""
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, artist) .. title))
+ end
+})
+
+-- CPU
+local cpu = lain.widget.sysload({
+ settings = function()
+ widget:set_markup(markup.font(theme.font, markup(gray, " Cpu ") .. load_1 .. " "))
+ end
+})
+
+-- MEM
+local mem = lain.widget.mem({
+ settings = function()
+ widget:set_markup(markup.font(theme.font, markup(gray, " Mem ") .. mem_now.used .. " "))
+ end
+})
+
+-- /home fs
+--[[ commented because it needs Gio/Glib >= 2.54
+theme.fs = lain.widget.fs({
+ partition = "/home",
+ notification_preset = { fg = theme.fg_normal, bg = theme.bg_normal, font = "Terminus 10.5" },
+})
+--]]
+
+-- Battery
+local bat = lain.widget.bat({
+ settings = function()
+ local perc = bat_now.perc
+ if bat_now.ac_status == 1 then perc = perc .. " Plug" end
+ widget:set_markup(markup.font(theme.font, markup(gray, " Bat ") .. perc .. " "))
+ end
+})
+
+-- Net checker
+local net = lain.widget.net({
+ settings = function()
+ if net_now.state == "up" then net_state = "On"
+ else net_state = "Off" end
+ widget:set_markup(markup.font(theme.font, markup(gray, " Net ") .. net_state .. " "))
+ end
+})
+
+-- ALSA volume
+theme.volume = lain.widget.alsa({
+ settings = function()
+ header = " Vol "
+ vlevel = volume_now.level
+
+ if volume_now.status == "off" then
+ vlevel = vlevel .. "M "
+ else
+ vlevel = vlevel .. " "
+ end
+
+ widget:set_markup(markup.font(theme.font, markup(gray, header) .. vlevel))
+ end
+})
+
+-- Weather
+--[[ to be set before use
+theme.weather = lain.widget.weather({
+ --APPID =
+ city_id = 2643743, -- placeholder (London)
+})
+--]]
+
+-- Separators
+local first = wibox.widget.textbox(markup.font("Terminus 4", " "))
+local spr = wibox.widget.textbox(' ')
+
+local function update_txt_layoutbox(s)
+ -- Writes a string representation of the current layout in a textbox widget
+ local txt_l = theme["layout_txt_" .. awful.layout.getname(awful.layout.get(s))] or ""
+ s.mytxtlayoutbox:set_text(txt_l)
+end
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+
+ -- Textual layoutbox
+ s.mytxtlayoutbox = wibox.widget.textbox(theme["layout_txt_" .. awful.layout.getname(awful.layout.get(s))])
+ awful.tag.attached_connect_signal(s, "property::selected", function () update_txt_layoutbox(s) end)
+ awful.tag.attached_connect_signal(s, "property::layout", function () update_txt_layoutbox(s) end)
+ s.mytxtlayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function() awful.layout.inc(1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function() awful.layout.inc(-1) end),
+ awful.button({}, 4, function() awful.layout.inc(1) end),
+ awful.button({}, 5, function() awful.layout.inc(-1) end)))
+
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons)
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons)
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18) })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ first,
+ s.mytaglist,
+ spr,
+ s.mytxtlayoutbox,
+ --spr,
+ s.mypromptbox,
+ spr,
+ },
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget.systray(),
+ spr,
+ theme.mpd.widget,
+ --theme.mail.widget,
+ cpu.widget,
+ mem.widget,
+ bat.widget,
+ net.widget,
+ theme.volume.widget,
+ mytextclock
+ },
+ }
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/steamburn/wall.png b/awesome/.config/awesome/themes/steamburn/wall.png
new file mode 100755
index 0000000..57359d1
Binary files /dev/null and b/awesome/.config/awesome/themes/steamburn/wall.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/awesome.png b/awesome/.config/awesome/themes/vertex/icons/awesome.png
new file mode 100755
index 0000000..cbded64
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/awesome.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-000-charging.png b/awesome/.config/awesome/themes/vertex/icons/bat-000-charging.png
new file mode 100755
index 0000000..cc2abdd
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-000-charging.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-000.png b/awesome/.config/awesome/themes/vertex/icons/bat-000.png
new file mode 100755
index 0000000..550d8f0
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-000.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-020-charging.png b/awesome/.config/awesome/themes/vertex/icons/bat-020-charging.png
new file mode 100755
index 0000000..bd5e788
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-020-charging.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-020.png b/awesome/.config/awesome/themes/vertex/icons/bat-020.png
new file mode 100755
index 0000000..c8525eb
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-020.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-040-charging.png b/awesome/.config/awesome/themes/vertex/icons/bat-040-charging.png
new file mode 100755
index 0000000..5d20c11
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-040-charging.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-040.png b/awesome/.config/awesome/themes/vertex/icons/bat-040.png
new file mode 100755
index 0000000..ad378bf
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-040.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-060-charging.png b/awesome/.config/awesome/themes/vertex/icons/bat-060-charging.png
new file mode 100755
index 0000000..ea7c293
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-060-charging.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-060.png b/awesome/.config/awesome/themes/vertex/icons/bat-060.png
new file mode 100755
index 0000000..5883885
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-060.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-080-charging.png b/awesome/.config/awesome/themes/vertex/icons/bat-080-charging.png
new file mode 100755
index 0000000..b633044
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-080-charging.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-080.png b/awesome/.config/awesome/themes/vertex/icons/bat-080.png
new file mode 100755
index 0000000..d3fb971
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-080.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-100-charging.png b/awesome/.config/awesome/themes/vertex/icons/bat-100-charging.png
new file mode 100755
index 0000000..f2d7419
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-100-charging.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-100.png b/awesome/.config/awesome/themes/vertex/icons/bat-100.png
new file mode 100755
index 0000000..5852e69
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-100.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/bat-charged.png b/awesome/.config/awesome/themes/vertex/icons/bat-charged.png
new file mode 100755
index 0000000..bb6b657
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/bat-charged.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/ethernet-connected.png b/awesome/.config/awesome/themes/vertex/icons/ethernet-connected.png
new file mode 100755
index 0000000..6894931
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/ethernet-connected.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/ethernet-disconnected.png b/awesome/.config/awesome/themes/vertex/icons/ethernet-disconnected.png
new file mode 100755
index 0000000..cfd73bb
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/ethernet-disconnected.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/panel.png b/awesome/.config/awesome/themes/vertex/icons/panel.png
new file mode 100755
index 0000000..2f429e5
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/panel.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/volume-high.png b/awesome/.config/awesome/themes/vertex/icons/volume-high.png
new file mode 100755
index 0000000..8fc8279
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/volume-high.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/volume-low.png b/awesome/.config/awesome/themes/vertex/icons/volume-low.png
new file mode 100755
index 0000000..7a0682f
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/volume-low.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/volume-medium.png b/awesome/.config/awesome/themes/vertex/icons/volume-medium.png
new file mode 100755
index 0000000..2b5c888
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/volume-medium.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/volume-muted-blocked.png b/awesome/.config/awesome/themes/vertex/icons/volume-muted-blocked.png
new file mode 100755
index 0000000..6dea15b
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/volume-muted-blocked.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/volume-muted.png b/awesome/.config/awesome/themes/vertex/icons/volume-muted.png
new file mode 100755
index 0000000..7d08ac9
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/volume-muted.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/volume-off.png b/awesome/.config/awesome/themes/vertex/icons/volume-off.png
new file mode 100755
index 0000000..8a6d8c5
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/volume-off.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/wireless-disconnected.png b/awesome/.config/awesome/themes/vertex/icons/wireless-disconnected.png
new file mode 100755
index 0000000..f98d8b4
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/wireless-disconnected.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/wireless-full.png b/awesome/.config/awesome/themes/vertex/icons/wireless-full.png
new file mode 100755
index 0000000..3f83dec
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/wireless-full.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/wireless-high.png b/awesome/.config/awesome/themes/vertex/icons/wireless-high.png
new file mode 100755
index 0000000..b3622ec
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/wireless-high.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/wireless-low.png b/awesome/.config/awesome/themes/vertex/icons/wireless-low.png
new file mode 100755
index 0000000..3f1e740
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/wireless-low.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/wireless-medium.png b/awesome/.config/awesome/themes/vertex/icons/wireless-medium.png
new file mode 100755
index 0000000..6bd0ec5
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/wireless-medium.png differ
diff --git a/awesome/.config/awesome/themes/vertex/icons/wireless-none.png b/awesome/.config/awesome/themes/vertex/icons/wireless-none.png
new file mode 100755
index 0000000..e47b478
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/icons/wireless-none.png differ
diff --git a/awesome/.config/awesome/themes/vertex/theme.lua b/awesome/.config/awesome/themes/vertex/theme.lua
new file mode 100644
index 0000000..14190bd
--- /dev/null
+++ b/awesome/.config/awesome/themes/vertex/theme.lua
@@ -0,0 +1,470 @@
+--[[
+
+ Vertex Awesome WM theme
+ github.com/lcpz
+
+--]]
+
+local gears = require("gears")
+local lain = require("lain")
+local awful = require("awful")
+local wibox = require("wibox")
+local dpi = require("beautiful.xresources").apply_dpi
+
+local math, string, tag, tonumber, type, os = math, string, tag, tonumber, type, os
+local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
+
+local theme = {}
+theme.default_dir = require("awful.util").get_themes_dir() .. "default"
+theme.icon_dir = os.getenv("HOME") .. "/.config/awesome/themes/vertex/icons"
+theme.wallpaper = os.getenv("HOME") .. "/.config/awesome/themes/vertex/wall.png"
+theme.font = "Roboto Bold 10"
+theme.taglist_font = "FontAwesome 17"
+theme.fg_normal = "#FFFFFF"
+theme.fg_focus = "#6A95EB"
+theme.bg_focus = "#303030"
+theme.bg_focus2 = "#3762B8"
+theme.bg_normal = "#242424"
+theme.fg_urgent = "#CC9393"
+theme.bg_urgent = "#006B8E"
+theme.border_width = dpi(4)
+theme.border_normal = "#252525"
+theme.border_focus = "#7CA2EE"
+theme.tooltip_border_color = theme.fg_focus
+theme.tooltip_border_width = theme.border_width
+theme.menu_height = dpi(24)
+theme.menu_width = dpi(140)
+theme.awesome_icon = theme.icon_dir .. "/awesome.png"
+theme.taglist_squares_sel = gears.surface.load_from_shape(dpi(3), dpi(30), gears.shape.rectangle, theme.fg_focus)
+theme.taglist_squares_unsel = gears.surface.load_from_shape(dpi(3), dpi(30), gears.shape.rectangle, theme.bg_focus2)
+theme.panelbg = theme.icon_dir .. "/panel.png"
+theme.bat000charging = theme.icon_dir .. "/bat-000-charging.png"
+theme.bat000 = theme.icon_dir .. "/bat-000.png"
+theme.bat020charging = theme.icon_dir .. "/bat-020-charging.png"
+theme.bat020 = theme.icon_dir .. "/bat-020.png"
+theme.bat040charging = theme.icon_dir .. "/bat-040-charging.png"
+theme.bat040 = theme.icon_dir .. "/bat-040.png"
+theme.bat060charging = theme.icon_dir .. "/bat-060-charging.png"
+theme.bat060 = theme.icon_dir .. "/bat-060.png"
+theme.bat080charging = theme.icon_dir .. "/bat-080-charging.png"
+theme.bat080 = theme.icon_dir .. "/bat-080.png"
+theme.bat100charging = theme.icon_dir .. "/bat-100-charging.png"
+theme.bat100 = theme.icon_dir .. "/bat-100.png"
+theme.batcharged = theme.icon_dir .. "/bat-charged.png"
+theme.ethon = theme.icon_dir .. "/ethernet-connected.png"
+theme.ethoff = theme.icon_dir .. "/ethernet-disconnected.png"
+theme.volhigh = theme.icon_dir .. "/volume-high.png"
+theme.vollow = theme.icon_dir .. "/volume-low.png"
+theme.volmed = theme.icon_dir .. "/volume-medium.png"
+theme.volmutedblocked = theme.icon_dir .. "/volume-muted-blocked.png"
+theme.volmuted = theme.icon_dir .. "/volume-muted.png"
+theme.voloff = theme.icon_dir .. "/volume-off.png"
+theme.wifidisc = theme.icon_dir .. "/wireless-disconnected.png"
+theme.wififull = theme.icon_dir .. "/wireless-full.png"
+theme.wifihigh = theme.icon_dir .. "/wireless-high.png"
+theme.wifilow = theme.icon_dir .. "/wireless-low.png"
+theme.wifimed = theme.icon_dir .. "/wireless-medium.png"
+theme.wifinone = theme.icon_dir .. "/wireless-none.png"
+theme.layout_fairh = theme.default_dir.."/layouts/fairhw.png"
+theme.layout_fairv = theme.default_dir.."/layouts/fairvw.png"
+theme.layout_floating = theme.default_dir.."/layouts/floatingw.png"
+theme.layout_magnifier = theme.default_dir.."/layouts/magnifierw.png"
+theme.layout_max = theme.default_dir.."/layouts/maxw.png"
+theme.layout_fullscreen = theme.default_dir.."/layouts/fullscreenw.png"
+theme.layout_tilebottom = theme.default_dir.."/layouts/tilebottomw.png"
+theme.layout_tileleft = theme.default_dir.."/layouts/tileleftw.png"
+theme.layout_tile = theme.default_dir.."/layouts/tilew.png"
+theme.layout_tiletop = theme.default_dir.."/layouts/tiletopw.png"
+theme.layout_spiral = theme.default_dir.."/layouts/spiralw.png"
+theme.layout_dwindle = theme.default_dir.."/layouts/dwindlew.png"
+theme.layout_cornernw = theme.default_dir.."/layouts/cornernww.png"
+theme.layout_cornerne = theme.default_dir.."/layouts/cornernew.png"
+theme.layout_cornersw = theme.default_dir.."/layouts/cornersww.png"
+theme.layout_cornerse = theme.default_dir.."/layouts/cornersew.png"
+theme.tasklist_plain_task_name = true
+theme.tasklist_disable_icon = true
+theme.useless_gap = dpi(10)
+theme.titlebar_close_button_normal = theme.default_dir.."/titlebar/close_normal.png"
+theme.titlebar_close_button_focus = theme.default_dir.."/titlebar/close_focus.png"
+theme.titlebar_minimize_button_normal = theme.default_dir.."/titlebar/minimize_normal.png"
+theme.titlebar_minimize_button_focus = theme.default_dir.."/titlebar/minimize_focus.png"
+theme.titlebar_ontop_button_normal_inactive = theme.default_dir.."/titlebar/ontop_normal_inactive.png"
+theme.titlebar_ontop_button_focus_inactive = theme.default_dir.."/titlebar/ontop_focus_inactive.png"
+theme.titlebar_ontop_button_normal_active = theme.default_dir.."/titlebar/ontop_normal_active.png"
+theme.titlebar_ontop_button_focus_active = theme.default_dir.."/titlebar/ontop_focus_active.png"
+theme.titlebar_sticky_button_normal_inactive = theme.default_dir.."/titlebar/sticky_normal_inactive.png"
+theme.titlebar_sticky_button_focus_inactive = theme.default_dir.."/titlebar/sticky_focus_inactive.png"
+theme.titlebar_sticky_button_normal_active = theme.default_dir.."/titlebar/sticky_normal_active.png"
+theme.titlebar_sticky_button_focus_active = theme.default_dir.."/titlebar/sticky_focus_active.png"
+theme.titlebar_floating_button_normal_inactive = theme.default_dir.."/titlebar/floating_normal_inactive.png"
+theme.titlebar_floating_button_focus_inactive = theme.default_dir.."/titlebar/floating_focus_inactive.png"
+theme.titlebar_floating_button_normal_active = theme.default_dir.."/titlebar/floating_normal_active.png"
+theme.titlebar_floating_button_focus_active = theme.default_dir.."/titlebar/floating_focus_active.png"
+theme.titlebar_maximized_button_normal_inactive = theme.default_dir.."/titlebar/maximized_normal_inactive.png"
+theme.titlebar_maximized_button_focus_inactive = theme.default_dir.."/titlebar/maximized_focus_inactive.png"
+theme.titlebar_maximized_button_normal_active = theme.default_dir.."/titlebar/maximized_normal_active.png"
+theme.titlebar_maximized_button_focus_active = theme.default_dir.."/titlebar/maximized_focus_active.png"
+
+-- http://fontawesome.io/cheatsheet
+awful.util.tagnames = { "", "", "", "", "", "", "", "" }
+
+local markup = lain.util.markup
+
+-- Clock
+--os.setlocale(os.getenv("LANG")) -- to localize the clock
+local mytextclock = wibox.widget.textclock(markup("#FFFFFF", "%a %d %b, %H:%M"))
+mytextclock.font = theme.font
+theme.cal = lain.widget.cal({
+ attach_to = { mytextclock },
+ notification_preset = {
+ fg = "#FFFFFF",
+ bg = theme.bg_normal,
+ position = "top_middle",
+ font = "Monospace 10"
+ }
+})
+
+-- Battery
+local baticon = wibox.widget.imagebox(theme.bat000)
+local battooltip = awful.tooltip({
+ objects = { baticon },
+ margin_leftright = dpi(15),
+ margin_topbottom = dpi(12)
+})
+battooltip.wibox.fg = theme.fg_normal
+battooltip.textbox.font = theme.font
+battooltip.timeout = 0
+battooltip:set_shape(function(cr, width, height)
+ gears.shape.infobubble(cr, width, height, corner_radius, arrow_size, width - dpi(35))
+end)
+local bat = lain.widget.bat({
+ settings = function()
+ local index, perc = "bat", tonumber(bat_now.perc) or 0
+
+ if perc <= 7 then
+ index = index .. "000"
+ elseif perc <= 20 then
+ index = index .. "020"
+ elseif perc <= 40 then
+ index = index .. "040"
+ elseif perc <= 60 then
+ index = index .. "060"
+ elseif perc <= 80 then
+ index = index .. "080"
+ elseif perc <= 100 then
+ index = index .. "100"
+ end
+
+ if bat_now.ac_status == 1 then
+ index = index .. "charging"
+ end
+
+ baticon:set_image(theme[index])
+ battooltip:set_markup(string.format("\n%s%%, %s", perc, bat_now.time))
+ end
+})
+
+-- MPD
+theme.mpd = lain.widget.mpd({
+ music_dir = "/mnt/storage/Downloads/Music",
+ settings = function()
+ if mpd_now.state == "play" then
+ title = mpd_now.title
+ artist = " " .. mpd_now.artist .. " "
+ elseif mpd_now.state == "pause" then
+ title = "mpd "
+ artist = "paused "
+ else
+ title = ""
+ artist = ""
+ end
+
+ widget:set_markup(markup.font(theme.font, title .. markup(theme.fg_focus, artist)))
+ end
+})
+
+-- ALSA volume
+local volicon = wibox.widget.imagebox()
+theme.volume = lain.widget.alsabar({
+ --togglechannel = "IEC958,3",
+ notification_preset = { font = "Monospace 12", fg = theme.fg_normal },
+ settings = function()
+ local index, perc = "", tonumber(volume_now.level) or 0
+
+ if volume_now.status == "off" then
+ index = "volmutedblocked"
+ else
+ if perc <= 5 then
+ index = "volmuted"
+ elseif perc <= 25 then
+ index = "vollow"
+ elseif perc <= 75 then
+ index = "volmed"
+ else
+ index = "volhigh"
+ end
+ end
+
+ volicon:set_image(theme[index])
+ end
+})
+volicon:buttons(my_table.join (
+ awful.button({}, 1, function()
+ awful.spawn(string.format("%s -e alsamixer", awful.util.terminal))
+ end),
+ awful.button({}, 2, function()
+ os.execute(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel))
+ theme.volume.notify()
+ end),
+ awful.button({}, 3, function()
+ os.execute(string.format("%s set %s toggle", theme.volume.cmd, theme.volume.togglechannel or theme.volume.channel))
+ theme.volume.notify()
+ end),
+ awful.button({}, 4, function()
+ os.execute(string.format("%s set %s 1%%+", theme.volume.cmd, theme.volume.channel))
+ theme.volume.notify()
+ end),
+ awful.button({}, 5, function()
+ os.execute(string.format("%s set %s 1%%-", theme.volume.cmd, theme.volume.channel))
+ theme.volume.notify()
+ end)
+))
+
+-- Wifi carrier and signal strength
+local wificon = wibox.widget.imagebox(theme.wifidisc)
+local wifitooltip = awful.tooltip({
+ objects = { wificon },
+ margin_leftright = dpi(15),
+ margin_topbottom = dpi(15)
+})
+wifitooltip.wibox.fg = theme.fg_normal
+wifitooltip.textbox.font = theme.font
+wifitooltip.timeout = 0
+wifitooltip:set_shape(function(cr, width, height)
+ gears.shape.infobubble(cr, width, height, corner_radius, arrow_size, width - dpi(120))
+end)
+local mywifisig = awful.widget.watch(
+ { awful.util.shell, "-c", "awk 'NR==3 {printf(\"%d-%.0f\\n\",$2, $3*10/7)}' /proc/net/wireless; iw dev wlan0 link" },
+ 2,
+ function(widget, stdout)
+ local carrier, perc = stdout:match("(%d)-(%d+)")
+ local tiptext = stdout:gsub("(%d)-(%d+)", ""):gsub("%s+$", "")
+ perc = tonumber(perc)
+
+ if carrier == "1" or not perc then
+ wificon:set_image(theme.wifidisc)
+ wifitooltip:set_markup("No carrier")
+ else
+ if perc <= 5 then
+ wificon:set_image(theme.wifinone)
+ elseif perc <= 25 then
+ wificon:set_image(theme.wifilow)
+ elseif perc <= 50 then
+ wificon:set_image(theme.wifimed)
+ elseif perc <= 75 then
+ wificon:set_image(theme.wifihigh)
+ else
+ wificon:set_image(theme.wififull)
+ end
+ wifitooltip:set_markup(tiptext)
+ end
+ end
+)
+wificon:connect_signal("button::press", function() awful.spawn(string.format("%s -e wavemon", awful.util.terminal)) end)
+
+-- Weather
+--[[ to be set before use
+theme.weather = lain.widget.weather({
+ city_id = 2643743, -- placeholder (London)
+ notification_preset = { font = "Monospace 10" },
+ settings = function()
+ units = math.floor(weather_now["main"]["temp"])
+ widget:set_markup(" " .. markup.font(theme.font, units .. "°C") .. " ")
+ end
+})
+--]]
+
+-- Launcher
+local mylauncher = awful.widget.button({image = theme.awesome_icon})
+mylauncher:connect_signal("button::press", function() awful.util.mymainmenu:toggle() end)
+
+-- Separators
+local space = wibox.widget.textbox(" ")
+local rspace1 = wibox.widget.textbox()
+local rspace0 = wibox.widget.textbox()
+local rspace2 = wibox.widget.textbox()
+local rspace3 = wibox.widget.textbox()
+local tspace1 = wibox.widget.textbox()
+tspace1.forced_width = dpi(18)
+rspace1.forced_width = dpi(16)
+rspace0.forced_width = dpi(18)
+rspace2.forced_width = dpi(19)
+rspace3.forced_width = dpi(21)
+
+local lspace1 = wibox.widget.textbox()
+local lspace2 = wibox.widget.textbox()
+local lspace3 = wibox.widget.textbox()
+lspace1.forced_height = dpi(18)
+lspace2.forced_height = dpi(10)
+lspace3.forced_height = dpi(16)
+
+local barcolor = gears.color({
+ type = "linear",
+ from = { 0, dpi(46) },
+ to = { dpi(46), dpi(46) },
+ stops = { {0, theme.bg_focus}, {0.9, theme.bg_focus2} }
+})
+
+local barcolor2 = gears.color({
+ type = "linear",
+ from = { 0, dpi(46) },
+ to = { dpi(46), dpi(46) },
+ stops = { {0, "#323232"}, {1, theme.bg_normal} }
+})
+
+local dockshape = function(cr, width, height)
+ gears.shape.partially_rounded_rect(cr, width, height, false, true, true, false, 6)
+end
+
+function theme.vertical_wibox(s)
+ -- Create the vertical wibox
+ s.dockheight = (35 * s.workarea.height)/100
+
+ s.myleftwibox = wibox({ screen = s, x=0, y=s.workarea.height/2 - s.dockheight/2, width = dpi(6), height = s.dockheight, fg = theme.fg_normal, bg = barcolor2, ontop = true, visible = true, type = "dock" })
+
+ if s.index > 1 and s.myleftwibox.y == 0 then
+ s.myleftwibox.y = screen[1].myleftwibox.y
+ end
+
+ -- Add widgets to the vertical wibox
+ s.myleftwibox:setup {
+ layout = wibox.layout.align.vertical,
+ {
+ layout = wibox.layout.fixed.vertical,
+ lspace1,
+ s.mytaglist,
+ lspace2,
+ s.layoutb,
+ wibox.container.margin(mylauncher, dpi(5), dpi(8), dpi(13), dpi(0)),
+ },
+ }
+
+ -- Add toggling functionalities
+ s.docktimer = gears.timer{ timeout = 2 }
+ s.docktimer:connect_signal("timeout", function()
+ local s = awful.screen.focused()
+ s.myleftwibox.width = dpi(9)
+ s.layoutb.visible = false
+ mylauncher.visible = false
+ if s.docktimer.started then
+ s.docktimer:stop()
+ end
+ end)
+ tag.connect_signal("property::selected", function(t)
+ local s = t.screen or awful.screen.focused()
+ s.myleftwibox.width = dpi(38)
+ s.layoutb.visible = true
+ mylauncher.visible = true
+ gears.surface.apply_shape_bounding(s.myleftwibox, dockshape)
+ if not s.docktimer.started then
+ s.docktimer:start()
+ end
+ end)
+
+ s.myleftwibox:connect_signal("mouse::leave", function()
+ local s = awful.screen.focused()
+ s.myleftwibox.width = dpi(9)
+ s.layoutb.visible = false
+ mylauncher.visible = false
+ end)
+
+ s.myleftwibox:connect_signal("mouse::enter", function()
+ local s = awful.screen.focused()
+ s.myleftwibox.width = dpi(38)
+ s.layoutb.visible = true
+ mylauncher.visible = true
+ gears.surface.apply_shape_bounding(s.myleftwibox, dockshape)
+ end)
+end
+
+
+function theme.at_screen_connect(s)
+ -- Quake application
+ s.quake = lain.util.quake({ app = awful.util.terminal, border = theme.border_width })
+
+ -- If wallpaper is a function, call it with the screen
+ local wallpaper = theme.wallpaper
+ if type(wallpaper) == "function" then
+ wallpaper = wallpaper(s)
+ end
+ gears.wallpaper.maximized(wallpaper, s, true)
+
+ -- Tags
+ awful.tag(awful.util.tagnames, s, awful.layout.layouts[1])
+
+ -- Create a promptbox for each screen
+ s.mypromptbox = awful.widget.prompt()
+ s.mypromptbox.bg = "#00000000"
+
+ -- Create an imagebox widget which will contains an icon indicating which layout we're using.
+ -- We need one layoutbox per screen.
+ s.mylayoutbox = awful.widget.layoutbox(s)
+ s.mylayoutbox:buttons(my_table.join(
+ awful.button({}, 1, function () awful.layout.inc( 1) end),
+ awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end),
+ awful.button({}, 3, function () awful.layout.inc(-1) end),
+ awful.button({}, 4, function () awful.layout.inc( 1) end),
+ awful.button({}, 5, function () awful.layout.inc(-1) end)))
+ s.layoutb = wibox.container.margin(s.mylayoutbox, dpi(8), dpi(11), dpi(3), dpi(3))
+
+ -- Create a taglist widget
+ s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons, {
+ font = theme.taglist_font,
+ shape = gears.shape.rectangle,
+ spacing = dpi(10),
+ square_unsel = theme.square_unsel,
+ bg_focus = barcolor
+ }, nil, wibox.layout.fixed.vertical())
+
+ -- Create a tasklist widget
+ s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.focused, awful.util.tasklist_buttons, { bg_focus = "#00000000" })
+
+ -- Create the wibox
+ s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(25), bg = gears.color.create_png_pattern(theme.panelbg) })
+
+ -- Add widgets to the wibox
+ s.mywibox:setup {
+ layout = wibox.layout.align.horizontal,
+ expand = "none",
+ { -- Left widgets
+ layout = wibox.layout.fixed.horizontal,
+ s.mypromptbox,
+ tspace1,
+ s.mytasklist,
+ },
+ { -- Middle widgets
+ layout = wibox.layout.flex.horizontal,
+ max_widget_size = 1500,
+ mytextclock
+ },
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ wibox.widget { nil, nil, theme.mpd.widget, layout = wibox.layout.align.horizontal },
+ rspace0,
+ --theme.weather.icon,
+ --theme.weather.widget,
+ rspace1,
+ wificon,
+ rspace0,
+ volicon,
+ rspace2,
+ baticon,
+ rspace3,
+ wibox.widget.systray(),
+ },
+ }
+
+ gears.timer.delayed_call(theme.vertical_wibox, s)
+end
+
+return theme
diff --git a/awesome/.config/awesome/themes/vertex/wall.png b/awesome/.config/awesome/themes/vertex/wall.png
new file mode 100755
index 0000000..863b1bf
Binary files /dev/null and b/awesome/.config/awesome/themes/vertex/wall.png differ