diff --git a/etc/X11/xorg.conf.d/50-acceleration.conf b/etc/X11/xorg.conf.d/50-acceleration.conf
old mode 100755
new mode 100644
diff --git a/etc/oblogout.conf b/etc/oblogout.conf
deleted file mode 100644
index f62a06b2..00000000
--- a/etc/oblogout.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-[settings]
-usehal = false
-
-[looks]
-opacity = 80
-bgcolor = black
-buttontheme = adeos-archlabs
-buttons = cancel, logout, suspend, lock, restart, shutdown
-
-[shortcuts]
-cancel = Escape
-shutdown = S
-restart = R
-suspend = U
-logout = L
-lock = K
-#hibernate = H
-
-[commands]
-shutdown = systemctl poweroff
-restart = systemctl reboot
-suspend = systemctl suspend
-logout = session-logout
-#hibernate = systemctl hibernate
-lock = pkill oblogout; i3lock-fancy -p
-#switchuser = gdm-control --switch-user
-#safesuspend = safesuspend
diff --git a/home/.config/Thunar/uca.xml b/home/.config/Thunar/uca.xml
index 29834c35..4f89abc1 100644
--- a/home/.config/Thunar/uca.xml
+++ b/home/.config/Thunar/uca.xml
@@ -1,44 +1,44 @@
-
- utilities-terminal
- Open in Terminal
- 1499240572835265-1
- exo-open --launch TerminalEmulator %f
-
- *
-
-
-
-
- document-open
- Open as Root
- 1498523394840843-5
- gksu thunar %f
-
- *
-
-
-
- archive-extract
- Extract Here
- 1500573442438340-2
- file-roller -h %N
-
- *
-
-
-
-
- archive-insert
- Archive
- 1500573639456321-3
- file-roller -d %F
- Archive selected items
- *
-
-
-
-
-
+
+ utilities-terminal
+ Open in Terminal
+ 1499240572835265-1
+ exo-open --launch TerminalEmulator %f
+
+ *
+
+
+
+
+ document-open
+ Open as Root
+ 1498523394840843-5
+ gksu thunar %f
+
+ *
+
+
+
+ archive-extract
+ Extract Here
+ 1500573442438340-2
+ file-roller -h %N
+
+ *
+
+
+
+
+ archive-insert
+ Archive
+ 1500573639456321-3
+ file-roller -d %F
+ Archive selected items
+ *
+
+
+
+
+
diff --git a/home/.config/awesome/rc.lua b/home/.config/awesome/rc.lua
index ed9173b5..dd3f2696 100644
--- a/home/.config/awesome/rc.lua
+++ b/home/.config/awesome/rc.lua
@@ -234,7 +234,7 @@ mytasklist.buttons = awful.util.table.join(
instance:hide()
instance = nil
else
- instance = awful.menu.clients({ width=250 })
+ instance = awful.menu.clients({ width=200 })
end
end),
awful.button({ }, 4, function ()
diff --git a/home/.config/awesome/vicious/contrib/ati.lua b/home/.config/awesome/vicious/contrib/ati.lua
index fd9932c9..003e46c1 100644
--- a/home/.config/awesome/vicious/contrib/ati.lua
+++ b/home/.config/awesome/vicious/contrib/ati.lua
@@ -9,9 +9,9 @@ local io = { open = io.open }
local setmetatable = setmetatable
local helpers = require("vicious.helpers")
local string = {
- sub = string.sub,
- match = string.match,
- gmatch = string.gmatch
+ sub = string.sub,
+ match = string.match,
+ gmatch = string.gmatch
}
-- }}}
@@ -23,56 +23,56 @@ local ati = {}
-- {{{ Define variables
local _units = { clock = { ["khz"] = 1, ["mhz"] = 1000 },
- voltage = { ["v"] = 1, ["mv"] = 1000 } }
+ voltage = { ["v"] = 1, ["mv"] = 1000 } }
local _reps = {
- ["sclk"] = { name = "engine_clock", units = _units.clock, mul = 10 },
- ["mclk"] = { name = "memory_clock", units = _units.clock, mul = 10 },
- ["vddc"] = { name = "voltage", units = _units.voltage },
- ["voltage"] = { name = "voltage", units = _units.voltage },
- ["current engine clock"] = { name = "engine_clock", units = _units.clock },
- ["current memory clock"] = { name = "memory_clock", units = _units.clock }
+ ["sclk"] = { name = "engine_clock", units = _units.clock, mul = 10 },
+ ["mclk"] = { name = "memory_clock", units = _units.clock, mul = 10 },
+ ["vddc"] = { name = "voltage", units = _units.voltage },
+ ["voltage"] = { name = "voltage", units = _units.voltage },
+ ["current engine clock"] = { name = "engine_clock", units = _units.clock },
+ ["current memory clock"] = { name = "memory_clock", units = _units.clock }
}
-- }}}
-- {{{ ATI widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- local pm = helpers.pathtotable("/sys/class/drm/"..warg.."/device")
- local _data = {}
+ local pm = helpers.pathtotable("/sys/class/drm/"..warg.."/device")
+ local _data = {}
- -- Get power info
- _data["{method}"] =
- pm.power_method and string.sub(pm.power_method, 1, -2) or "N/A"
- _data["{dpm_state}"] =
- pm.power_dpm_state and string.sub(pm.power_dpm_state, 1, -2) or "N/A"
- _data["{dpm_perf_level}"] =
- pm.power_dpm_force_performance_level and
- string.sub(pm.power_dpm_force_performance_level, 1, -2) or "N/A"
- _data["{profile}"] =
- pm.power_profile and string.sub(pm.power_profile, 1, -2) or "N/A"
+ -- Get power info
+ _data["{method}"] =
+ pm.power_method and string.sub(pm.power_method, 1, -2) or "N/A"
+ _data["{dpm_state}"] =
+ pm.power_dpm_state and string.sub(pm.power_dpm_state, 1, -2) or "N/A"
+ _data["{dpm_perf_level}"] =
+ pm.power_dpm_force_performance_level and
+ string.sub(pm.power_dpm_force_performance_level, 1, -2) or "N/A"
+ _data["{profile}"] =
+ pm.power_profile and string.sub(pm.power_profile, 1, -2) or "N/A"
- local f = io.open("/sys/kernel/debug/dri/64/radeon_pm_info", "r")
- if f then -- Get ATI info from the debug filesystem
- for line in f:lines() do
- for k, unit in string.gmatch(line, "(%a+[%a%s]*):[%s]+([%d]+)") do
- unit = tonumber(unit)
+ local f = io.open("/sys/kernel/debug/dri/64/radeon_pm_info", "r")
+ if f then -- Get ATI info from the debug filesystem
+ for line in f:lines() do
+ for k, unit in string.gmatch(line, "(%a+[%a%s]*):[%s]+([%d]+)") do
+ unit = tonumber(unit)
- _data["{dpm_power_level}"] = -- DPM active?
- tonumber(string.match(line, "power level ([%d])")) or "N/A"
+ _data["{dpm_power_level}"] = -- DPM active?
+ tonumber(string.match(line, "power level ([%d])")) or "N/A"
- if _reps[k] then
- for u, v in pairs(_reps[k].units) do
- _data["{".._reps[k].name.." "..u.."}"] =
- (unit * (_reps[k].mul or 1)) / v
- end
- end
- end
+ if _reps[k] then
+ for u, v in pairs(_reps[k].units) do
+ _data["{".._reps[k].name.." "..u.."}"] =
+ (unit * (_reps[k].mul or 1)) / v
+ end
end
- f:close()
+ end
end
+ f:close()
+ end
- return _data
+ return _data
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/batacpi.lua b/home/.config/awesome/vicious/contrib/batacpi.lua
index fc7d54ba..a0488a5f 100644
--- a/home/.config/awesome/vicious/contrib/batacpi.lua
+++ b/home/.config/awesome/vicious/contrib/batacpi.lua
@@ -19,33 +19,33 @@ local batacpi = {}
-- {{{ Battery widget type
local function worker(format)
- local battery_info = {}
- local battery_state = {
- ["full"] = "↯",
- ["unknown"] = "⌁",
- ["charged"] = "↯",
- ["charging"] = "+",
- ["discharging"] = "-"
- }
+ local battery_info = {}
+ local battery_state = {
+ ["full"] = "↯",
+ ["unknown"] = "⌁",
+ ["charged"] = "↯",
+ ["charging"] = "+",
+ ["discharging"] = "-"
+ }
- -- Get data from acpitool
- local f = io.popen("acpitool -b")
+ -- Get data from acpitool
+ local f = io.popen("acpitool -b")
- for line in f:lines() do
- -- Check if the battery is present
- if string.match(line, "^[%s]+Battery.*") then
- -- Store state and charge information
- table.insert(battery_info, (battery_state[string.match(line, "([%a]*),") or "unknown"]))
- table.insert(battery_info, (tonumber(string.match(line, "([%d]?[%d]?[%d])%.")) or 0))
- -- Store remaining time information
- table.insert(battery_info, (string.match(line, "%%,%s(.*)") or "N/A"))
- else
- return {battery_state["unknown"], 0, "N/A"}
- end
+ for line in f:lines() do
+ -- Check if the battery is present
+ if string.match(line, "^[%s]+Battery.*") then
+ -- Store state and charge information
+ table.insert(battery_info, (battery_state[string.match(line, "([%a]*),") or "unknown"]))
+ table.insert(battery_info, (tonumber(string.match(line, "([%d]?[%d]?[%d])%.")) or 0))
+ -- Store remaining time information
+ table.insert(battery_info, (string.match(line, "%%,%s(.*)") or "N/A"))
+ else
+ return {battery_state["unknown"], 0, "N/A"}
end
- f:close()
+ end
+ f:close()
- return battery_info
+ return battery_info
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/batpmu.lua b/home/.config/awesome/vicious/contrib/batpmu.lua
index 8c73d93d..7ab29fbd 100644
--- a/home/.config/awesome/vicious/contrib/batpmu.lua
+++ b/home/.config/awesome/vicious/contrib/batpmu.lua
@@ -8,13 +8,13 @@ local tonumber = tonumber
local io = { open = io.open }
local setmetatable = setmetatable
local math = {
- min = math.min,
- floor = math.floor
+ min = math.min,
+ floor = math.floor
}
local string = {
- find = string.find,
- match = string.match,
- format = string.format
+ find = string.find,
+ match = string.match,
+ format = string.format
}
-- }}}
@@ -26,53 +26,53 @@ local batpmu = {}
-- {{{ Battery widget type
local function worker(format, batid)
- local battery_state = {
- ["full"] = "↯",
- ["unknown"] = "⌁",
- ["00000013"] = "+",
- ["00000011"] = "-"
- }
+ local battery_state = {
+ ["full"] = "↯",
+ ["unknown"] = "⌁",
+ ["00000013"] = "+",
+ ["00000011"] = "-"
+ }
- -- Get /proc/pmu/battery* state
- local f = io.open("/proc/pmu/" .. batid)
- -- Handler for incompetent users
- if not f then return {battery_state["unknown"], 0, "N/A"} end
- local statefile = f:read("*all")
- f:close()
+ -- Get /proc/pmu/battery* state
+ local f = io.open("/proc/pmu/" .. batid)
+ -- Handler for incompetent users
+ if not f then return {battery_state["unknown"], 0, "N/A"} end
+ local statefile = f:read("*all")
+ f:close()
- -- Get /proc/pmu/info data
- local f = io.open("/proc/pmu/info")
- local infofile = f:read("*all")
- f:close()
+ -- Get /proc/pmu/info data
+ local f = io.open("/proc/pmu/info")
+ local infofile = f:read("*all")
+ f:close()
- -- Check if the battery is present
- if infofile == nil or string.find(infofile, "Battery count[%s]+:[%s]0") then
- return {battery_state["unknown"], 0, "N/A"}
- end
+ -- Check if the battery is present
+ if infofile == nil or string.find(infofile, "Battery count[%s]+:[%s]0") then
+ return {battery_state["unknown"], 0, "N/A"}
+ end
- -- Get capacity and charge information
- local capacity = string.match(statefile, "max_charge[%s]+:[%s]([%d]+).*")
- local remaining = string.match(statefile, "charge[%s]+:[%s]([%d]+).*")
+ -- Get capacity and charge information
+ local capacity = string.match(statefile, "max_charge[%s]+:[%s]([%d]+).*")
+ local remaining = string.match(statefile, "charge[%s]+:[%s]([%d]+).*")
- -- Calculate percentage
- local percent = math.min(math.floor(remaining / capacity * 100), 100)
+ -- Calculate percentage
+ local percent = math.min(math.floor(remaining / capacity * 100), 100)
- -- Get timer information
- local timer = string.match(statefile, "time rem%.[%s]+:[%s]([%d]+).*")
- if timer == "0" then return {battery_state["full"], percent, "N/A"} end
+ -- Get timer information
+ local timer = string.match(statefile, "time rem%.[%s]+:[%s]([%d]+).*")
+ if timer == "0" then return {battery_state["full"], percent, "N/A"} end
- -- Get state information
- local state = string.match(statefile, "flags[%s]+:[%s]([%d]+).*")
- local state = battery_state[state] or battery_state["unknown"]
+ -- Get state information
+ local state = string.match(statefile, "flags[%s]+:[%s]([%d]+).*")
+ local state = battery_state[state] or battery_state["unknown"]
- -- Calculate remaining (charging or discharging) time
- local hoursleft = math.floor(tonumber(timer) / 3600)
- local minutesleft = math.floor((tonumber(timer) / 60) % 60)
- local time = string.format("%02d:%02d", hoursleft, minutesleft)
+ -- Calculate remaining (charging or discharging) time
+ local hoursleft = math.floor(tonumber(timer) / 3600)
+ local minutesleft = math.floor((tonumber(timer) / 60) % 60)
+ local time = string.format("%02d:%02d", hoursleft, minutesleft)
- return {state, percent, time}
+ return {state, percent, time}
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/batproc.lua b/home/.config/awesome/vicious/contrib/batproc.lua
index 8acf0059..61b7c601 100644
--- a/home/.config/awesome/vicious/contrib/batproc.lua
+++ b/home/.config/awesome/vicious/contrib/batproc.lua
@@ -8,13 +8,13 @@ local tonumber = tonumber
local io = { open = io.open }
local setmetatable = setmetatable
local math = {
- min = math.min,
- floor = math.floor
+ min = math.min,
+ floor = math.floor
}
local string = {
- find = string.find,
- match = string.match,
- format = string.format
+ find = string.find,
+ match = string.match,
+ format = string.format
}
-- }}}
@@ -26,60 +26,60 @@ local batproc = {}
-- {{{ Battery widget type
local function worker(format, batid)
- local battery_state = {
- ["full"] = "↯",
- ["unknown"] = "⌁",
- ["charged"] = "↯",
- ["charging"] = "+",
- ["discharging"] = "-"
- }
+ local battery_state = {
+ ["full"] = "↯",
+ ["unknown"] = "⌁",
+ ["charged"] = "↯",
+ ["charging"] = "+",
+ ["discharging"] = "-"
+ }
- -- Get /proc/acpi/battery info
- local f = io.open("/proc/acpi/battery/"..batid.."/info")
- -- Handler for incompetent users
- if not f then return {battery_state["unknown"], 0, "N/A"} end
- local infofile = f:read("*all")
- f:close()
+ -- Get /proc/acpi/battery info
+ local f = io.open("/proc/acpi/battery/"..batid.."/info")
+ -- Handler for incompetent users
+ if not f then return {battery_state["unknown"], 0, "N/A"} end
+ local infofile = f:read("*all")
+ f:close()
- -- Check if the battery is present
- if infofile == nil or string.find(infofile, "present:[%s]+no") then
- return {battery_state["unknown"], 0, "N/A"}
- end
+ -- Check if the battery is present
+ if infofile == nil or string.find(infofile, "present:[%s]+no") then
+ return {battery_state["unknown"], 0, "N/A"}
+ end
- -- Get capacity information
- local capacity = string.match(infofile, "last full capacity:[%s]+([%d]+).*")
+ -- Get capacity information
+ local capacity = string.match(infofile, "last full capacity:[%s]+([%d]+).*")
- -- Get /proc/acpi/battery state
- local f = io.open("/proc/acpi/battery/"..batid.."/state")
- local statefile = f:read("*all")
- f:close()
+ -- Get /proc/acpi/battery state
+ local f = io.open("/proc/acpi/battery/"..batid.."/state")
+ local statefile = f:read("*all")
+ f:close()
- -- Get state information
- local state = string.match(statefile, "charging state:[%s]+([%a]+).*")
- local state = battery_state[state] or battery_state["unknown"]
+ -- Get state information
+ local state = string.match(statefile, "charging state:[%s]+([%a]+).*")
+ local state = battery_state[state] or battery_state["unknown"]
- -- Get charge information
- local rate = string.match(statefile, "present rate:[%s]+([%d]+).*")
- local remaining = string.match(statefile, "remaining capacity:[%s]+([%d]+).*")
+ -- Get charge information
+ local rate = string.match(statefile, "present rate:[%s]+([%d]+).*")
+ local remaining = string.match(statefile, "remaining capacity:[%s]+([%d]+).*")
- -- Calculate percentage (but work around broken BAT/ACPI implementations)
- local percent = math.min(math.floor(remaining / capacity * 100), 100)
+ -- Calculate percentage (but work around broken BAT/ACPI implementations)
+ local percent = math.min(math.floor(remaining / capacity * 100), 100)
- -- Calculate remaining (charging or discharging) time
- if state == "+" then
- timeleft = (tonumber(capacity) - tonumber(remaining)) / tonumber(rate)
- elseif state == "-" then
- timeleft = tonumber(remaining) / tonumber(rate)
- else
- return {state, percent, "N/A"}
- end
- local hoursleft = math.floor(timeleft)
- local minutesleft = math.floor((timeleft - hoursleft) * 60 )
- local time = string.format("%02d:%02d", hoursleft, minutesleft)
+ -- Calculate remaining (charging or discharging) time
+ if state == "+" then
+ timeleft = (tonumber(capacity) - tonumber(remaining)) / tonumber(rate)
+ elseif state == "-" then
+ timeleft = tonumber(remaining) / tonumber(rate)
+ else
+ return {state, percent, "N/A"}
+ end
+ local hoursleft = math.floor(timeleft)
+ local minutesleft = math.floor((timeleft - hoursleft) * 60 )
+ local time = string.format("%02d:%02d", hoursleft, minutesleft)
- return {state, percent, time}
+ return {state, percent, time}
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/buildbot.lua b/home/.config/awesome/vicious/contrib/buildbot.lua
index 57436627..6aa76b80 100644
--- a/home/.config/awesome/vicious/contrib/buildbot.lua
+++ b/home/.config/awesome/vicious/contrib/buildbot.lua
@@ -26,161 +26,160 @@ BB = {}
BB.__index = BB
function BB.create(url, builder)
- local b = {}
- setmetatable(b,BB)
- b.url = url -- buildbot url
- b.builder = builder -- builder name
- b.lastChecked = 0 -- last checked build number
- b.lastSuccessful = 0 -- last successful build number
- b.lastResult = nil -- last json parsed result
- b.lastError = nil -- last error string or nil if no error
- return b
+ local b = {}
+ setmetatable(b,BB)
+ b.url = url -- buildbot url
+ b.builder = builder -- builder name
+ b.lastChecked = 0 -- last checked build number
+ b.lastSuccessful = 0 -- last successful build number
+ b.lastResult = nil -- last json parsed result
+ b.lastError = nil -- last error string or nil if no error
+ return b
end
function BB:_queryBuildbot(build_number)
- local f = io.popen("curl --connect-timeout 1 "..self.url.."/json/builders/"..self.builder.."/builds/"..build_number)
- local jsbuilder = f:read("*all")
- f:close()
- if #jsbuilder == 0 then
- return false, "can't read from url"
- end
+ local f = io.popen("curl --connect-timeout 1 "..self.url.."/json/builders/"..self.builder.."/builds/"..build_number)
+ local jsbuilder = f:read("*all")
+ f:close()
+ if #jsbuilder == 0 then
+ return false, "can't read from url"
+ end
- local result_status, result = pcall(json.decode, jsbuilder, false)
- if not result_status then
- return false, "can't parse json data"
- end
- return true, result
+ local result_status, result = pcall(json.decode, jsbuilder, false)
+ if not result_status then
+ return false, "can't parse json data"
+ end
+ return true, result
end
function BB:_getBuildStatus(result)
- if #result['text'] > 0 then
- local text = result['text']
- if text[1] == "build" and text[2] == "successful" and #text == 2 then
- --successful
- return bs.OK
- else
- --failed
- return bs.FAILED
- end
+ if #result['text'] > 0 then
+ local text = result['text']
+ if text[1] == "build" and text[2] == "successful" and #text == 2 then
+ --successful
+ return bs.OK
else
- --in progress
- return bs.RUNNING
+ --failed
+ return bs.FAILED
end
+ else
+ --in progress
+ return bs.RUNNING
+ end
end
-- Function queries buildbot to refresh builds status.
-- * if build is successful or failed it will not be queried again, number is stored in lasteChecked
-- * up to 10 last builds will be checked to find last successful build
function BB:refresh()
- local last_pass_fail = 0
- local nr = -1
- local last_result
- local iter_counter = 0
+ local last_pass_fail = 0
+ local nr = -1
+ local last_result
+ local iter_counter = 0
- self.lastError = nil
- self.lastResult = nil
- --- there is a gap to fill in, iterate all not checked builds starting from latest
- while nr > self.lastChecked or nr == -1 do
- local r_status, r = self:_queryBuildbot(nr)
- local s
+ self.lastError = nil
+ self.lastResult = nil
+ --- there is a gap to fill in, iterate all not checked builds starting from latest
+ while nr > self.lastChecked or nr == -1 do
+ local r_status, r = self:_queryBuildbot(nr)
+ local s
- if not r_status then
- self.lastError = r
- return
- end
+ if not r_status then
+ self.lastError = r
+ return
+ end
- s = self:_getBuildStatus(r)
- if not last_result then
- last_result = r
- end
- nr = r['number']
- assert(nr > 0)
- if last_pass_fail == 0 and (s == bs.OK or s == bs.FAILED) then
- last_pass_fail = nr
- end
- if s == bs.OK then --successful
- self.lastSuccessful = nr
- break;
- end
- nr = nr - 1
- iter_counter = iter_counter + 1
- if iter_counter > 10 then --check max last 10 builds when searching for successful build
- break;
- end
- end
- if last_pass_fail ~= 0 then
- self.lastChecked = last_pass_fail
- end
- if last_result then
- self.lastResult = last_result
- end
+ s = self:_getBuildStatus(r)
+ if not last_result then
+ last_result = r
+ end
+ nr = r['number']
+ assert(nr > 0)
+ if last_pass_fail == 0 and (s == bs.OK or s == bs.FAILED) then
+ last_pass_fail = nr
+ end
+ if s == bs.OK then --successful
+ self.lastSuccessful = nr
+ break;
+ end
+ nr = nr - 1
+ iter_counter = iter_counter + 1
+ if iter_counter > 10 then --check max last 10 builds when searching for successful build
+ break;
+ end
+ end
+ if last_pass_fail ~= 0 then
+ self.lastChecked = last_pass_fail
+ end
+ if last_result then
+ self.lastResult = last_result
+ end
end
function BB:getLastSuccessful()
- return self.lastSuccessful
+ return self.lastSuccessful
end
function BB:getCurrent()
- return self.lastResult['number']
+ return self.lastResult['number']
end
function BB:getCurrentStatus()
- return self:_getBuildStatus(self.lastResult)
+ return self:_getBuildStatus(self.lastResult)
end
function BB:getBuilder()
- return self.builder
+ return self.builder
end
function BB:getError()
- return self.lastError
+ return self.lastError
end
local function getBuilderStatus(b)
- local s = "[" .. b:getBuilder()
- --check if json library was loaded correctly
- if not json_status then
- return s .. ".can't find libluaX.X-json]"
- end
+ local s = "[" .. b:getBuilder()
+ --check if json library was loaded correctly
+ if not json_status then
+ return s .. ".can't find libluaX.X-json]"
+ end
- local err = b:getError()
- if err then
- return s .. "." .. err .. "]"
- end
+ local err = b:getError()
+ if err then
+ return s .. "." .. err .. "]"
+ end
- if b:getLastSuccessful() ~= 0 then
- success_build_nr_str = "".. b:getLastSuccessful() ..""
- else
- success_build_nr_str = "-"
- end
+ if b:getLastSuccessful() ~= 0 then
+ success_build_nr_str = "".. b:getLastSuccessful() ..""
+ else
+ success_build_nr_str = "-"
+ end
- local current_build_color = bc[b:getCurrentStatus()]
- current_build_nr_str = ""..b:getCurrent()..""
+ local current_build_color = bc[b:getCurrentStatus()]
+ current_build_nr_str = ""..b:getCurrent()..""
- if current_build_color ~= "green" then
- s = s .. "." .. current_build_nr_str
- end
- return s .. "." .. success_build_nr_str .. "]"
+ if current_build_color ~= "green" then
+ s = s .. "." .. current_build_nr_str
+ end
+ return s .. "." .. success_build_nr_str .. "]"
end
-- {{{ Buildbot widget type
local function worker(format, warg)
- if #bb == 0 then --fill up bb with builders when worker function is run for the first time
- for i,v in pairs(warg) do
- bb[#bb+1] = BB.create(v["url"], v["builder"])
- end
+ if #bb == 0 then --fill up bb with builders when worker function is run for the first time
+ for i,v in pairs(warg) do
+ bb[#bb+1] = BB.create(v["url"], v["builder"])
end
+ end
- local str = ""
- for i,v in pairs(bb) do
- v:refresh()
- str = str .. " " .. getBuilderStatus(v)
- end
- return {str .. " "}
+ local str = ""
+ for i,v in pairs(bb) do
+ v:refresh()
+ str = str .. " " .. getBuilderStatus(v)
+ end
+ return {str .. " "}
end
-- }}}
setmetatable(_M, { __call = function(_, ...) return worker(...) end })
-
diff --git a/home/.config/awesome/vicious/contrib/dio.lua b/home/.config/awesome/vicious/contrib/dio.lua
index 5639bc8d..f6a9096b 100644
--- a/home/.config/awesome/vicious/contrib/dio.lua
+++ b/home/.config/awesome/vicious/contrib/dio.lua
@@ -25,48 +25,48 @@ local unit = { ["s"] = 1, ["kb"] = 2, ["mb"] = 2048 }
-- {{{ Disk I/O widget type
local function worker(format, disk)
- if not disk then return end
+ if not disk then return end
- local disk_lines = { [disk] = {} }
- local disk_stats = helpers.pathtotable("/sys/block/" .. disk)
+ local disk_lines = { [disk] = {} }
+ local disk_stats = helpers.pathtotable("/sys/block/" .. disk)
- if disk_stats.stat then
- local match = string.gmatch(disk_stats.stat, "[%s]+([%d]+)")
- for i = 1, 11 do -- Store disk stats
- table.insert(disk_lines[disk], match())
- end
+ if disk_stats.stat then
+ local match = string.gmatch(disk_stats.stat, "[%s]+([%d]+)")
+ for i = 1, 11 do -- Store disk stats
+ table.insert(disk_lines[disk], match())
end
+ end
- -- Ensure tables are initialized correctly
- local diff_total = { [disk] = {} }
- if not disk_total[disk] then
- disk_usage[disk] = {}
- disk_total[disk] = {}
+ -- Ensure tables are initialized correctly
+ local diff_total = { [disk] = {} }
+ if not disk_total[disk] then
+ disk_usage[disk] = {}
+ disk_total[disk] = {}
- while #disk_total[disk] < #disk_lines[disk] do
- table.insert(disk_total[disk], 0)
- end
+ while #disk_total[disk] < #disk_lines[disk] do
+ table.insert(disk_total[disk], 0)
end
+ end
- for i, v in ipairs(disk_lines[disk]) do
- -- Diskstats are absolute, substract our last reading
- diff_total[disk][i] = v - disk_total[disk][i]
+ for i, v in ipairs(disk_lines[disk]) do
+ -- Diskstats are absolute, substract our last reading
+ diff_total[disk][i] = v - disk_total[disk][i]
- -- Store totals
- disk_total[disk][i] = v
- end
+ -- Store totals
+ disk_total[disk][i] = v
+ end
- -- Calculate and store I/O
- helpers.uformat(disk_usage[disk], "read", diff_total[disk][3], unit)
- helpers.uformat(disk_usage[disk], "write", diff_total[disk][7], unit)
- helpers.uformat(disk_usage[disk], "total", diff_total[disk][7] + diff_total[disk][3], unit)
+ -- Calculate and store I/O
+ helpers.uformat(disk_usage[disk], "read", diff_total[disk][3], unit)
+ helpers.uformat(disk_usage[disk], "write", diff_total[disk][7], unit)
+ helpers.uformat(disk_usage[disk], "total", diff_total[disk][7] + diff_total[disk][3], unit)
- -- Store I/O scheduler
- if disk_stats.queue and disk_stats.queue.scheduler then
- disk_usage[disk]["{sched}"] = string.gmatch(disk_stats.queue.scheduler, "%[([%a]+)%]")
- end
+ -- Store I/O scheduler
+ if disk_stats.queue and disk_stats.queue.scheduler then
+ disk_usage[disk]["{sched}"] = string.gmatch(disk_stats.queue.scheduler, "%[([%a]+)%]")
+ end
- return disk_usage[disk]
+ return disk_usage[disk]
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/mpc.lua b/home/.config/awesome/vicious/contrib/mpc.lua
index 60974c09..c9bccaa5 100644
--- a/home/.config/awesome/vicious/contrib/mpc.lua
+++ b/home/.config/awesome/vicious/contrib/mpc.lua
@@ -20,28 +20,28 @@ local mpc = {}
-- {{{ MPC widget type
local function worker(format, warg)
- -- Get data from mpd
- local f = io.popen("mpc")
- local np = f:read("*line")
- f:close()
+ -- Get data from mpd
+ local f = io.popen("mpc")
+ local np = f:read("*line")
+ f:close()
- -- Not installed,
- if np == nil or -- off or stoppped.
- (string.find(np, "MPD_HOST") or string.find(np, "volume:"))
- then
- return {"Stopped"}
+ -- Not installed,
+ if np == nil or -- off or stoppped.
+ (string.find(np, "MPD_HOST") or string.find(np, "volume:"))
+ then
+ return {"Stopped"}
+ end
+
+ -- Check if we should scroll, or maybe truncate
+ if warg then
+ if type(warg) == "table" then
+ np = helpers.scroll(np, warg[1], warg[2])
+ else
+ np = helpers.truncate(np, warg)
end
+ end
- -- Check if we should scroll, or maybe truncate
- if warg then
- if type(warg) == "table" then
- np = helpers.scroll(np, warg[1], warg[2])
- else
- np = helpers.truncate(np, warg)
- end
- end
-
- return {helpers.escape(np)}
+ return {helpers.escape(np)}
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/net.lua b/home/.config/awesome/vicious/contrib/net.lua
index 5e6ba938..23fdb4ea 100644
--- a/home/.config/awesome/vicious/contrib/net.lua
+++ b/home/.config/awesome/vicious/contrib/net.lua
@@ -25,114 +25,114 @@ local net = {}
local nets = {}
-- Variable definitions
local unit = { ["b"] = 1, ["kb"] = 1024,
- ["mb"] = 1024^2, ["gb"] = 1024^3
+ ["mb"] = 1024^2, ["gb"] = 1024^3
}
-- {{{ Net widget type
local function worker(format, tignorelist)
- local args = {}
- local tignore = {}
- local total_rx = 0
- local total_tx = 0
- local any_up = 0
+ local args = {}
+ local tignore = {}
+ local total_rx = 0
+ local total_tx = 0
+ local any_up = 0
- if not tignorelist then
- tignorelist = {"lo", "wmaster0"}
- end
- for k, i in pairs(tignorelist) do
- tignore[i] = true
- end
+ if not tignorelist then
+ tignorelist = {"lo", "wmaster0"}
+ end
+ for k, i in pairs(tignorelist) do
+ tignore[i] = true
+ end
- -- Get NET stats
- for line in io.lines("/proc/net/dev") do
- -- Match wmaster0 as well as rt0 (multiple leading spaces)
- local name = string.match(line, "^[%s]?[%s]?[%s]?[%s]?([%w]+):")
- if name ~= nil then
- -- Received bytes, first value after the name
- local recv = tonumber(string.match(line, ":[%s]*([%d]+)"))
- -- Transmited bytes, 7 fields from end of the line
- local send = tonumber(string.match(line,
- "([%d]+)%s+%d+%s+%d+%s+%d+%s+%d+%s+%d+%s+%d+%s+%d$"))
+ -- Get NET stats
+ for line in io.lines("/proc/net/dev") do
+ -- Match wmaster0 as well as rt0 (multiple leading spaces)
+ local name = string.match(line, "^[%s]?[%s]?[%s]?[%s]?([%w]+):")
+ if name ~= nil then
+ -- Received bytes, first value after the name
+ local recv = tonumber(string.match(line, ":[%s]*([%d]+)"))
+ -- Transmited bytes, 7 fields from end of the line
+ local send = tonumber(string.match(line,
+ "([%d]+)%s+%d+%s+%d+%s+%d+%s+%d+%s+%d+%s+%d+%s+%d$"))
- if not tignore[name] then
- total_rx = total_rx + recv
- total_tx = total_tx + send
- end
+ if not tignore[name] then
+ total_rx = total_rx + recv
+ total_tx = total_tx + send
+ end
- helpers.uformat(args, name .. " rx", recv, unit)
- helpers.uformat(args, name .. " tx", send, unit)
+ helpers.uformat(args, name .. " rx", recv, unit)
+ helpers.uformat(args, name .. " tx", send, unit)
- if nets[name] == nil then
- -- Default values on the first run
- nets[name] = {}
-
- helpers.uformat(args, name .. " down", 0, unit)
- helpers.uformat(args, name .. " up", 0, unit)
- args["{"..name.." carrier}"] = 0
-
- nets[name].time = os.time()
- else -- Net stats are absolute, substract our last reading
- local interval = os.time() - nets[name].time > 0 and
- os.time() - nets[name].time or 1
- nets[name].time = os.time()
-
- local down = (recv - nets[name][1]) / interval
- local up = (send - nets[name][2]) / interval
-
- helpers.uformat(args, name .. " down", down, unit)
- helpers.uformat(args, name .. " up", up, unit)
-
- -- Carrier detection
- sysnet = helpers.pathtotable("/sys/class/net/" .. name)
-
- if sysnet.carrier then
- ccarrier = tonumber(sysnet.carrier)
-
- args["{"..name.." carrier}"] = ccarrier
- if ccarrier ~= 0 and not tignore[name] then
- any_up = 1
- end
- else
- args["{"..name.." carrier}"] = 0
- end
- end
-
- -- Store totals
- nets[name][1] = recv
- nets[name][2] = send
- end
- end
-
- helpers.uformat(args, "total rx", total_rx, unit)
- helpers.uformat(args, "total tx", total_tx, unit)
-
- if nets["total"] == nil then
+ if nets[name] == nil then
-- Default values on the first run
- nets["total"] = {}
+ nets[name] = {}
- helpers.uformat(args, "total down", 0, unit)
- helpers.uformat(args, "total up", 0, unit)
- args["{total carrier}"] = 0
+ helpers.uformat(args, name .. " down", 0, unit)
+ helpers.uformat(args, name .. " up", 0, unit)
+ args["{"..name.." carrier}"] = 0
- nets["total"].time = os.time()
- else -- Net stats are absolute, substract our last reading
- local interval = os.time() - nets["total"].time > 0 and
- os.time() - nets["total"].time or 1
- nets["total"].time = os.time()
+ nets[name].time = os.time()
+ else -- Net stats are absolute, substract our last reading
+ local interval = os.time() - nets[name].time > 0 and
+ os.time() - nets[name].time or 1
+ nets[name].time = os.time()
- local down = (total_rx - nets["total"][1]) / interval
- local up = (total_tx - nets["total"][2]) / interval
+ local down = (recv - nets[name][1]) / interval
+ local up = (send - nets[name][2]) / interval
- helpers.uformat(args, "total down", down, unit)
- helpers.uformat(args, "total up", up, unit)
- args["{total carrier}"] = any_up
+ helpers.uformat(args, name .. " down", down, unit)
+ helpers.uformat(args, name .. " up", up, unit)
+
+ -- Carrier detection
+ sysnet = helpers.pathtotable("/sys/class/net/" .. name)
+
+ if sysnet.carrier then
+ ccarrier = tonumber(sysnet.carrier)
+
+ args["{"..name.." carrier}"] = ccarrier
+ if ccarrier ~= 0 and not tignore[name] then
+ any_up = 1
+ end
+ else
+ args["{"..name.." carrier}"] = 0
+ end
+ end
+
+ -- Store totals
+ nets[name][1] = recv
+ nets[name][2] = send
end
+ end
- -- Store totals
- nets["total"][1] = total_rx
- nets["total"][2] = total_tx
+ helpers.uformat(args, "total rx", total_rx, unit)
+ helpers.uformat(args, "total tx", total_tx, unit)
- return args
+ if nets["total"] == nil then
+ -- Default values on the first run
+ nets["total"] = {}
+
+ helpers.uformat(args, "total down", 0, unit)
+ helpers.uformat(args, "total up", 0, unit)
+ args["{total carrier}"] = 0
+
+ nets["total"].time = os.time()
+ else -- Net stats are absolute, substract our last reading
+ local interval = os.time() - nets["total"].time > 0 and
+ os.time() - nets["total"].time or 1
+ nets["total"].time = os.time()
+
+ local down = (total_rx - nets["total"][1]) / interval
+ local up = (total_tx - nets["total"][2]) / interval
+
+ helpers.uformat(args, "total down", down, unit)
+ helpers.uformat(args, "total up", up, unit)
+ args["{total carrier}"] = any_up
+ end
+
+ -- Store totals
+ nets["total"][1] = total_rx
+ nets["total"][2] = total_tx
+
+ return args
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/netcfg.lua b/home/.config/awesome/vicious/contrib/netcfg.lua
index f2c0d52c..eb55a41d 100644
--- a/home/.config/awesome/vicious/contrib/netcfg.lua
+++ b/home/.config/awesome/vicious/contrib/netcfg.lua
@@ -17,18 +17,18 @@ local netcfg = {}
-- {{{ Netcfg widget type
local function worker(format)
- -- Initialize counters
- local profiles = {}
+ -- Initialize counters
+ local profiles = {}
- local f = io.popen("ls -1 /var/run/network/profiles")
- for line in f:lines() do
- if line ~= nil then
- table.insert(profiles, line)
- end
+ local f = io.popen("ls -1 /var/run/network/profiles")
+ for line in f:lines() do
+ if line ~= nil then
+ table.insert(profiles, line)
end
- f:close()
+ end
+ f:close()
- return profiles
+ return profiles
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/nvsmi.lua b/home/.config/awesome/vicious/contrib/nvsmi.lua
index e68d4a15..6efabcde 100644
--- a/home/.config/awesome/vicious/contrib/nvsmi.lua
+++ b/home/.config/awesome/vicious/contrib/nvsmi.lua
@@ -18,24 +18,24 @@ local nvsmi = {}
-- {{{ GPU Information widget type
local function worker(format, warg)
- -- Fallback to querying first device
- if not warg then warg = "0" end
+ -- Fallback to querying first device
+ if not warg then warg = "0" end
- -- Get data from smi
- -- * Todo: support more; MEMORY,UTILIZATION,ECC,POWER,CLOCK,COMPUTE,PIDS,PERFORMANCE
- local f = io.popen("nvidia-smi -q -d TEMPERATURE -i " .. warg)
- local smi = f:read("*all")
- f:close()
+ -- Get data from smi
+ -- * Todo: support more; MEMORY,UTILIZATION,ECC,POWER,CLOCK,COMPUTE,PIDS,PERFORMANCE
+ local f = io.popen("nvidia-smi -q -d TEMPERATURE -i " .. warg)
+ local smi = f:read("*all")
+ f:close()
- -- Not installed
- if smi == nil then return {0} end
+ -- Not installed
+ if smi == nil then return {0} end
- -- Get temperature information
- local _thermal = string.match(smi, "Gpu[%s]+:[%s]([%d]+)[%s]C")
- -- Handle devices without data
- if _thermal == nil then return {0} end
+ -- Get temperature information
+ local _thermal = string.match(smi, "Gpu[%s]+:[%s]([%d]+)[%s]C")
+ -- Handle devices without data
+ if _thermal == nil then return {0} end
- return {tonumber(_thermal)}
+ return {tonumber(_thermal)}
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/openweather.lua b/home/.config/awesome/vicious/contrib/openweather.lua
index d3d2ffd4..a4be290d 100644
--- a/home/.config/awesome/vicious/contrib/openweather.lua
+++ b/home/.config/awesome/vicious/contrib/openweather.lua
@@ -9,8 +9,8 @@ local io = { popen = io.popen }
local setmetatable = setmetatable
local string = { match = string.match }
local math = {
- ceil = math.ceil,
- floor = math.floor
+ ceil = math.ceil,
+ floor = math.floor
}
-- }}}
@@ -23,71 +23,71 @@ local openweather = {}
-- Initialize function tables
local _wdirs = { "N", "NE", "E", "SE", "S", "SW", "W", "NW", "N" }
local _wdata = {
- ["{city}"] = "N/A",
- ["{wind deg}"] = "N/A",
- ["{wind aim}"] = "N/A",
- ["{wind mps}"] = "N/A",
- ["{wind kmh}"] = "N/A",
- ["{sky}"] = "N/A",
- ["{weather}"] = "N/A",
- ["{temp c}"] = "N/A",
- ["{humid}"] = "N/A",
- ["{press}"] = "N/A"
+ ["{city}"] = "N/A",
+ ["{wind deg}"] = "N/A",
+ ["{wind aim}"] = "N/A",
+ ["{wind mps}"] = "N/A",
+ ["{wind kmh}"] = "N/A",
+ ["{sky}"] = "N/A",
+ ["{weather}"] = "N/A",
+ ["{temp c}"] = "N/A",
+ ["{humid}"] = "N/A",
+ ["{press}"] = "N/A"
}
-- {{{ Openweather widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- -- Get weather forceast using the city ID code, from:
- -- * OpenWeatherMap.org
- local openweather = "http://api.openweathermap.org/data/2.5/weather?id="..warg.."&mode=json&units=metric"
- local f = io.popen("curl --connect-timeout 1 -fsm 3 '"..openweather.."'")
- local ws = f:read("*all")
- f:close()
+ -- Get weather forceast using the city ID code, from:
+ -- * OpenWeatherMap.org
+ local openweather = "http://api.openweathermap.org/data/2.5/weather?id="..warg.."&mode=json&units=metric"
+ local f = io.popen("curl --connect-timeout 1 -fsm 3 '"..openweather.."'")
+ local ws = f:read("*all")
+ f:close()
- -- Check if there was a timeout or a problem with the station
- if ws == nil then return _wdata end
+ -- Check if there was a timeout or a problem with the station
+ if ws == nil then return _wdata end
- _wdata["{city}"] = -- City name
- string.match(ws, '"name":"([%a%s%-]+)"') or _wdata["{city}"]
- _wdata["{wind deg}"] = -- Wind degrees
- string.match(ws, '"deg":([%d]+)') or _wdata["{wind deg}"]
- _wdata["{wind mps}"] = -- Wind speed in meters per second
- string.match(ws, '"speed":([%d%.]+)') or _wdata["{wind mps}"]
- _wdata["{sky}"] = -- Sky conditions
- string.match(ws, '"main":"([%a]+)"') or _wdata["{sky}"]
- _wdata["{weather}"] = -- Weather description
- string.match(ws, '"description":"([%a%s]+)"') or _wdata["{weather}"]
- _wdata["{temp c}"] = -- Temperature in celsius
- string.match(ws, '"temp":([%-]?[%d%.]+)') or _wdata["{temp c}"]
- _wdata["{humid}"] = -- Relative humidity in percent
- string.match(ws, '"humidity":([%d]+)') or _wdata["{humid}"]
- _wdata["{press}"] = -- Pressure in hPa
- string.match(ws, '"pressure":([%d%.]+)') or _wdata["{press}"]
+ _wdata["{city}"] = -- City name
+ string.match(ws, '"name":"([%a%s%-]+)"') or _wdata["{city}"]
+ _wdata["{wind deg}"] = -- Wind degrees
+ string.match(ws, '"deg":([%d]+)') or _wdata["{wind deg}"]
+ _wdata["{wind mps}"] = -- Wind speed in meters per second
+ string.match(ws, '"speed":([%d%.]+)') or _wdata["{wind mps}"]
+ _wdata["{sky}"] = -- Sky conditions
+ string.match(ws, '"main":"([%a]+)"') or _wdata["{sky}"]
+ _wdata["{weather}"] = -- Weather description
+ string.match(ws, '"description":"([%a%s]+)"') or _wdata["{weather}"]
+ _wdata["{temp c}"] = -- Temperature in celsius
+ string.match(ws, '"temp":([%-]?[%d%.]+)') or _wdata["{temp c}"]
+ _wdata["{humid}"] = -- Relative humidity in percent
+ string.match(ws, '"humidity":([%d]+)') or _wdata["{humid}"]
+ _wdata["{press}"] = -- Pressure in hPa
+ string.match(ws, '"pressure":([%d%.]+)') or _wdata["{press}"]
- -- Wind speed in km/h
- if _wdata["{wind mps}"] ~= "N/A" then
- _wdata["{wind mps}"] = math.floor(tonumber(_wdata["{wind mps}"]) + .5)
- _wdata["{wind kmh}"] = math.ceil(_wdata["{wind mps}"] * 3.6)
- end -- Temperature in °C
- if _wdata["{temp c}"] ~= "N/A" then
- _wdata["{temp c}"] = math.floor(tonumber(_wdata["{temp c}"]) + .5)
- end -- Calculate wind direction
- if _wdata["{wind deg}"] ~= "N/A" then
- _wdata["{wind deg}"] = tonumber(_wdata["{wind deg}"])
+ -- Wind speed in km/h
+ if _wdata["{wind mps}"] ~= "N/A" then
+ _wdata["{wind mps}"] = math.floor(tonumber(_wdata["{wind mps}"]) + .5)
+ _wdata["{wind kmh}"] = math.ceil(_wdata["{wind mps}"] * 3.6)
+ end -- Temperature in °C
+ if _wdata["{temp c}"] ~= "N/A" then
+ _wdata["{temp c}"] = math.floor(tonumber(_wdata["{temp c}"]) + .5)
+ end -- Calculate wind direction
+ if _wdata["{wind deg}"] ~= "N/A" then
+ _wdata["{wind deg}"] = tonumber(_wdata["{wind deg}"])
- -- Lua tables start at [1]
- if (_wdata["{wind deg}"] / 45)%1 == 0 then
- _wdata["{wind aim}"] = _wdirs[_wdata["{wind deg}"] / 45 + 1]
- else
- _wdata["{wind aim}"] =
- _wdirs[math.ceil(_wdata["{wind deg}"] / 45) + 1]..
- _wdirs[math.floor(_wdata["{wind deg}"] / 45) + 1]
- end
+ -- Lua tables start at [1]
+ if (_wdata["{wind deg}"] / 45)%1 == 0 then
+ _wdata["{wind aim}"] = _wdirs[_wdata["{wind deg}"] / 45 + 1]
+ else
+ _wdata["{wind aim}"] =
+ _wdirs[math.ceil(_wdata["{wind deg}"] / 45) + 1]..
+ _wdirs[math.floor(_wdata["{wind deg}"] / 45) + 1]
end
+ end
- return _wdata
+ return _wdata
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/ossvol.lua b/home/.config/awesome/vicious/contrib/ossvol.lua
index a52316cd..7843fd19 100644
--- a/home/.config/awesome/vicious/contrib/ossvol.lua
+++ b/home/.config/awesome/vicious/contrib/ossvol.lua
@@ -18,36 +18,36 @@ local ossvol = {}
-- {{{ Volume widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- local mixer_state = {
- ["on"] = "♫", -- "",
- ["off"] = "♩" -- "M"
- }
+ local mixer_state = {
+ ["on"] = "♫", -- "",
+ ["off"] = "♩" -- "M"
+ }
- -- Get mixer control contents
- local f = io.popen("ossmix -c")
- local mixer = f:read("*all")
- f:close()
+ -- Get mixer control contents
+ local f = io.popen("ossmix -c")
+ local mixer = f:read("*all")
+ f:close()
- -- Capture mixer control state
- local volu = tonumber(string.match(mixer, warg .. "[%s]([%d%.]+)"))/0.25
- local mute = string.match(mixer, "vol%.mute[%s]([%a]+)")
- -- Handle mixers without data
- if volu == nil then
- return {0, mixer_state["off"]}
- end
+ -- Capture mixer control state
+ local volu = tonumber(string.match(mixer, warg .. "[%s]([%d%.]+)"))/0.25
+ local mute = string.match(mixer, "vol%.mute[%s]([%a]+)")
+ -- Handle mixers without data
+ if volu == nil then
+ return {0, mixer_state["off"]}
+ end
- -- Handle mixers without mute
- if mute == "OFF" and volu == "0"
- -- Handle mixers that are muted
- or mute == "ON" then
- mute = mixer_state["off"]
- else
- mute = mixer_state["on"]
- end
+ -- Handle mixers without mute
+ if mute == "OFF" and volu == "0"
+ -- Handle mixers that are muted
+ or mute == "ON" then
+ mute = mixer_state["off"]
+ else
+ mute = mixer_state["on"]
+ end
- return {volu, mute}
+ return {volu, mute}
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/pop.lua b/home/.config/awesome/vicious/contrib/pop.lua
index 0ea041b5..c7a19154 100644
--- a/home/.config/awesome/vicious/contrib/pop.lua
+++ b/home/.config/awesome/vicious/contrib/pop.lua
@@ -25,30 +25,30 @@ local pop = {}
-- {{{ POP3 count widget type
local function worker(format, warg)
- if not sock_avail or (not warg or #warg ~= 4) then
- return {"N/A"}
- end
+ if not sock_avail or (not warg or #warg ~= 4) then
+ return {"N/A"}
+ end
- local host, port = warg[1], tonumber(warg[2])
- local user, pass = warg[3], warg[4]
+ local host, port = warg[1], tonumber(warg[2])
+ local user, pass = warg[3], warg[4]
- local client = socket.tcp()
- client:settimeout(3)
- client:connect(host, port)
- client:receive("*l")
- client:send("USER " .. user .. "\r\n")
- client:receive("*l")
- client:send("PASS " .. pass .. "\r\n")
- client:receive("*l")
- client:send("STAT" .. "\r\n")
- local response = client:receive("*l")
- client:close()
+ local client = socket.tcp()
+ client:settimeout(3)
+ client:connect(host, port)
+ client:receive("*l")
+ client:send("USER " .. user .. "\r\n")
+ client:receive("*l")
+ client:send("PASS " .. pass .. "\r\n")
+ client:receive("*l")
+ client:send("STAT" .. "\r\n")
+ local response = client:receive("*l")
+ client:close()
- if response:find("%+OK") then
- response = response:match("%+OK (%d+)")
- end
+ if response:find("%+OK") then
+ response = response:match("%+OK (%d+)")
+ end
- return {response}
+ return {response}
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/pulse.lua b/home/.config/awesome/vicious/contrib/pulse.lua
index b06bf564..5f546dc6 100644
--- a/home/.config/awesome/vicious/contrib/pulse.lua
+++ b/home/.config/awesome/vicious/contrib/pulse.lua
@@ -12,13 +12,13 @@ local setmetatable = setmetatable
local os = { execute = os.execute }
local table = { insert = table.insert }
local string = {
- find = string.find,
- match = string.match,
- format = string.format,
- gmatch = string.gmatch
+ find = string.find,
+ match = string.match,
+ format = string.format,
+ gmatch = string.gmatch
}
local math = {
- floor = math.floor
+ floor = math.floor
}
-- }}}
@@ -29,36 +29,36 @@ local pulse = {}
-- {{{ Helper function
local function pacmd(args)
- local f = io.popen("pacmd "..args)
- if f == nil then
- return nil
- else
- local line = f:read("*all")
- f:close()
- return line
- end
+ local f = io.popen("pacmd "..args)
+ if f == nil then
+ return nil
+ else
+ local line = f:read("*all")
+ f:close()
+ return line
+ end
end
local function escape(text)
- local special_chars = { ["."] = "%.", ["-"] = "%-" }
- return text:gsub("[%.%-]", special_chars)
+ local special_chars = { ["."] = "%.", ["-"] = "%-" }
+ return text:gsub("[%.%-]", special_chars)
end
local cached_sinks = {}
local function get_sink_name(sink)
- if type(sink) == "string" then return sink end
- -- avoid nil keys
- local key = sink or 1
- -- Cache requests
- if not cached_sinks[key] then
- local line = pacmd("list-sinks")
- if line == nil then return nil end
- for s in string.gmatch(line, "name: <(.-)>") do
- table.insert(cached_sinks, s)
- end
+ if type(sink) == "string" then return sink end
+ -- avoid nil keys
+ local key = sink or 1
+ -- Cache requests
+ if not cached_sinks[key] then
+ local line = pacmd("list-sinks")
+ if line == nil then return nil end
+ for s in string.gmatch(line, "name: <(.-)>") do
+ table.insert(cached_sinks, s)
end
+ end
- return cached_sinks[key]
+ return cached_sinks[key]
end
@@ -66,55 +66,55 @@ end
-- {{{ Pulseaudio widget type
local function worker(format, sink)
- sink = get_sink_name(sink)
- if sink == nil then return {0, "unknown"} end
+ sink = get_sink_name(sink)
+ if sink == nil then return {0, "unknown"} end
- -- Get sink data
- local data = pacmd("dump")
- if sink == nil then return {0, "unknown"} end
+ -- Get sink data
+ local data = pacmd("dump")
+ if sink == nil then return {0, "unknown"} end
- -- If mute return 0 (not "Mute") so we don't break progressbars
- if string.find(data,"set%-sink%-mute "..escape(sink).." yes") then
- return {0, "off"}
- end
+ -- If mute return 0 (not "Mute") so we don't break progressbars
+ if string.find(data,"set%-sink%-mute "..escape(sink).." yes") then
+ return {0, "off"}
+ end
- local vol = tonumber(string.match(data, "set%-sink%-volume "..escape(sink).." (0x[%x]+)"))
- if vol == nil then vol = 0 end
+ local vol = tonumber(string.match(data, "set%-sink%-volume "..escape(sink).." (0x[%x]+)"))
+ if vol == nil then vol = 0 end
- return { math.floor(vol/0x10000*100), "on"}
+ return { math.floor(vol/0x10000*100), "on"}
end
-- }}}
-- {{{ Volume control helper
function pulse.add(percent, sink)
- sink = get_sink_name(sink)
- if sink == nil then return end
+ sink = get_sink_name(sink)
+ if sink == nil then return end
- local data = pacmd("dump")
+ local data = pacmd("dump")
- local pattern = "set%-sink%-volume "..escape(sink).." (0x[%x]+)"
- local initial_vol = tonumber(string.match(data, pattern))
+ local pattern = "set%-sink%-volume "..escape(sink).." (0x[%x]+)"
+ local initial_vol = tonumber(string.match(data, pattern))
- local vol = initial_vol + percent/100*0x10000
- if vol > 0x10000 then vol = 0x10000 end
- if vol < 0 then vol = 0 end
+ local vol = initial_vol + percent/100*0x10000
+ if vol > 0x10000 then vol = 0x10000 end
+ if vol < 0 then vol = 0 end
- local cmd = string.format("pacmd set-sink-volume %s 0x%x >/dev/null", sink, vol)
- return os.execute(cmd)
+ local cmd = string.format("pacmd set-sink-volume %s 0x%x >/dev/null", sink, vol)
+ return os.execute(cmd)
end
function pulse.toggle(sink)
- sink = get_sink_name(sink)
- if sink == nil then return end
+ sink = get_sink_name(sink)
+ if sink == nil then return end
- local data = pacmd("dump")
- local pattern = "set%-sink%-mute "..escape(sink).." (%a%a%a?)"
- local mute = string.match(data, pattern)
+ local data = pacmd("dump")
+ local pattern = "set%-sink%-mute "..escape(sink).." (%a%a%a?)"
+ local mute = string.match(data, pattern)
- -- 0 to enable a sink or 1 to mute it.
- local state = { yes = 0, no = 1}
- local cmd = string.format("pacmd set-sink-mute %s %d", sink, state[mute])
- return os.execute(cmd)
+ -- 0 to enable a sink or 1 to mute it.
+ local state = { yes = 0, no = 1}
+ local cmd = string.format("pacmd set-sink-mute %s %d", sink, state[mute])
+ return os.execute(cmd)
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/rss.lua b/home/.config/awesome/vicious/contrib/rss.lua
index dcf5cc70..d59e014c 100644
--- a/home/.config/awesome/vicious/contrib/rss.lua
+++ b/home/.config/awesome/vicious/contrib/rss.lua
@@ -20,48 +20,48 @@ local rss = {}
-- {{{ RSS widget type
local function worker(format, input)
- -- input: * feed - feed url
- -- * object - entity to look for (typically: 'item')
- -- * fields - fields to read (example: 'link', 'title', 'description')
- -- output: * count - number of entities found
- -- * one table for each field, containing wanted values
- local feed = input.feed
- local object = input.object
- local fields = input.fields
+ -- input: * feed - feed url
+ -- * object - entity to look for (typically: 'item')
+ -- * fields - fields to read (example: 'link', 'title', 'description')
+ -- output: * count - number of entities found
+ -- * one table for each field, containing wanted values
+ local feed = input.feed
+ local object = input.object
+ local fields = input.fields
- -- Initialise tables
- local out = {}
+ -- Initialise tables
+ local out = {}
+
+ for _, v in pairs(fields) do
+ out[v] = {}
+ end
+
+ -- Initialise variables
+ local ob = nil
+ local i,j,k = 1, 1, 0
+ local curl = "curl -A 'Mozilla/4.0' -fsm 5 --connect-timeout 3 "
+
+ -- Get the feed
+ local f = io.popen(curl .. '"' .. feed .. '"')
+ local feed = f:read("*all")
+ f:close()
+
+ while true do
+ i, j, ob = feed.find(feed, "<" .. object .. ">(.-)" .. object .. ">", i)
+ if not ob then break end
for _, v in pairs(fields) do
- out[v] = {}
+ out[v][k] = ob:match("<" .. v .. ">(.*)" .. v .. ">")
end
- -- Initialise variables
- local ob = nil
- local i,j,k = 1, 1, 0
- local curl = "curl -A 'Mozilla/4.0' -fsm 5 --connect-timeout 3 "
+ k = k+1
+ i = j+1
+ end
- -- Get the feed
- local f = io.popen(curl .. '"' .. feed .. '"')
- local feed = f:read("*all")
- f:close()
+ -- Update the entity count
+ out.count = k
- while true do
- i, j, ob = feed.find(feed, "<" .. object .. ">(.-)" .. object .. ">", i)
- if not ob then break end
-
- for _, v in pairs(fields) do
- out[v][k] = ob:match("<" .. v .. ">(.*)" .. v .. ">")
- end
-
- k = k+1
- i = j+1
- end
-
- -- Update the entity count
- out.count = k
-
- return out
+ return out
end
-- }}}
diff --git a/home/.config/awesome/vicious/contrib/sensors.lua b/home/.config/awesome/vicious/contrib/sensors.lua
index 3ddeb01c..1a311188 100644
--- a/home/.config/awesome/vicious/contrib/sensors.lua
+++ b/home/.config/awesome/vicious/contrib/sensors.lua
@@ -9,8 +9,8 @@ local io = { popen = io.popen }
local setmetatable = setmetatable
local table = { insert = table.insert }
local string = {
- gsub = string.gsub,
- match = string.match
+ gsub = string.gsub,
+ match = string.match
}
-- }}}
@@ -22,47 +22,47 @@ local sensors = {}
-- {{{ Split helper function
local function datasplit(str)
- -- Splitting strings into associative array
- -- with some magic to get the values right.
- str = string.gsub(str, "\n", ":")
+ -- Splitting strings into associative array
+ -- with some magic to get the values right.
+ str = string.gsub(str, "\n", ":")
- local tbl = {}
- string.gsub(str, "([^:]*)", function (v)
- if string.match(v, ".") then
- table.insert(tbl, v)
- end
- end)
+ local tbl = {}
+ string.gsub(str, "([^:]*)", function (v)
+ if string.match(v, ".") then
+ table.insert(tbl, v)
+ end
+ end)
- local assoc = {}
- for c = 1, #tbl, 2 do
- local k = string.gsub(tbl[c], ".*_", "")
- local v = tonumber(string.match(tbl[c+1], "[%d]+"))
- assoc[k] = v
- end
+ local assoc = {}
+ for c = 1, #tbl, 2 do
+ local k = string.gsub(tbl[c], ".*_", "")
+ local v = tonumber(string.match(tbl[c+1], "[%d]+"))
+ assoc[k] = v
+ end
- return assoc
+ return assoc
end
-- }}}
-- {{{ Sensors widget type
local function worker(format, warg)
- -- Get data from all sensors
- local f = io.popen("LANG=C sensors -uA")
- local lm_sensors = f:read("*all")
- f:close()
+ -- Get data from all sensors
+ local f = io.popen("LANG=C sensors -uA")
+ local lm_sensors = f:read("*all")
+ f:close()
- local sensor_data = string.gsub(
- string.match(lm_sensors, warg..":\n(%s%s.-)\n[^ ]"), " ", "")
+ local sensor_data = string.gsub(
+ string.match(lm_sensors, warg..":\n(%s%s.-)\n[^ ]"), " ", "")
- -- One of: crit, max
- local divisor = "crit"
- local s_data = datasplit(sensor_data)
+ -- One of: crit, max
+ local divisor = "crit"
+ local s_data = datasplit(sensor_data)
- if s_data[divisor] and s_data[divisor] > 0 then
- s_data.percent = s_data.input / s_data[divisor] * 100
- end
+ if s_data[divisor] and s_data[divisor] > 0 then
+ s_data.percent = s_data.input / s_data[divisor] * 100
+ end
- return {s_data.input, tonumber(s_data.percent)}
+ return {s_data.input, tonumber(s_data.percent)}
end
-- }}}
diff --git a/home/.config/awesome/vicious/init.lua b/home/.config/awesome/vicious/init.lua
index c20c418a..371d8811 100644
--- a/home/.config/awesome/vicious/init.lua
+++ b/home/.config/awesome/vicious/init.lua
@@ -13,8 +13,8 @@ local tonumber = tonumber
local timer = (type(timer) == 'table' and timer or require("gears.timer"))
local os = { time = os.time }
local table = {
- insert = table.insert,
- remove = table.remove
+ insert = table.insert,
+ remove = table.remove
}
local helpers = require("vicious.helpers")
@@ -34,108 +34,108 @@ local widget_cache = {}
-- {{{ Local functions
-- {{{ Update a widget
local function update(widget, reg, disablecache)
- -- Check if there are any equal widgets
- if reg == nil then
- for w, i in pairs(registered) do
- if w == widget then
- for _, r in pairs(i) do
- update(w, r, disablecache)
- end
- end
+ -- Check if there are any equal widgets
+ if reg == nil then
+ for w, i in pairs(registered) do
+ if w == widget then
+ for _, r in pairs(i) do
+ update(w, r, disablecache)
end
-
- return
+ end
end
- local t = os.time()
- local data = {}
+ return
+ end
- -- Check for chached output newer than the last update
- if widget_cache[reg.wtype] ~= nil then
- local c = widget_cache[reg.wtype]
+ local t = os.time()
+ local data = {}
- if (c.time == nil or c.time <= t-reg.timer) or disablecache then
- c.time, c.data = t, reg.wtype(reg.format, reg.warg)
- end
+ -- Check for chached output newer than the last update
+ if widget_cache[reg.wtype] ~= nil then
+ local c = widget_cache[reg.wtype]
- data = c.data
- else
- data = reg.wtype and reg.wtype(reg.format, reg.warg)
+ if (c.time == nil or c.time <= t-reg.timer) or disablecache then
+ c.time, c.data = t, reg.wtype(reg.format, reg.warg)
end
- if type(data) == "table" then
- if type(reg.format) == "string" then
- data = helpers.format(reg.format, data)
- elseif type(reg.format) == "function" then
- data = reg.format(widget, data)
- end
- end
+ data = c.data
+ else
+ data = reg.wtype and reg.wtype(reg.format, reg.warg)
+ end
- if widget.add_value ~= nil then
- widget:add_value(tonumber(data) and tonumber(data)/100)
- elseif widget.set_value ~= nil then
- widget:set_value(tonumber(data) and tonumber(data)/100)
- elseif widget.set_markup ~= nil then
- widget:set_markup(data)
- else
- widget.text = data
+ if type(data) == "table" then
+ if type(reg.format) == "string" then
+ data = helpers.format(reg.format, data)
+ elseif type(reg.format) == "function" then
+ data = reg.format(widget, data)
end
+ end
- return data
+ if widget.add_value ~= nil then
+ widget:add_value(tonumber(data) and tonumber(data)/100)
+ elseif widget.set_value ~= nil then
+ widget:set_value(tonumber(data) and tonumber(data)/100)
+ elseif widget.set_markup ~= nil then
+ widget:set_markup(data)
+ else
+ widget.text = data
+ end
+
+ return data
end
-- }}}
-- {{{ Register from reg object
local function regregister(reg)
- if not reg.running then
- if registered[reg.widget] == nil then
- registered[reg.widget] = {}
- table.insert(registered[reg.widget], reg)
- else
- local already = false
+ if not reg.running then
+ if registered[reg.widget] == nil then
+ registered[reg.widget] = {}
+ table.insert(registered[reg.widget], reg)
+ else
+ local already = false
- for w, i in pairs(registered) do
- if w == reg.widget then
- for _, v in pairs(i) do
- if v == reg then
- already = true
- break
- end
- end
-
- if already then
- break
- end
- end
+ for w, i in pairs(registered) do
+ if w == reg.widget then
+ for _, v in pairs(i) do
+ if v == reg then
+ already = true
+ break
end
+ end
- if not already then
- table.insert(registered[reg.widget], reg)
- end
+ if already then
+ break
+ end
end
+ end
- -- Start the timer
- if reg.timer > 0 then
- local tm = timers[reg.timer] and timers[reg.timer].timer
- tm = tm or timer({ timeout = reg.timer })
- if tm.connect_signal then
- tm:connect_signal("timeout", reg.update)
- else
- tm:add_signal("timeout", reg.update)
- end
- if not timers[reg.timer] then
- timers[reg.timer] = { timer = tm, refs = 1 }
- else
- timers[reg.timer].refs = timers[reg.timer].refs + 1
- end
- if not tm.started then
- tm:start()
- end
- -- Initial update
- reg.update()
- end
- reg.running = true
+ if not already then
+ table.insert(registered[reg.widget], reg)
+ end
end
+
+ -- Start the timer
+ if reg.timer > 0 then
+ local tm = timers[reg.timer] and timers[reg.timer].timer
+ tm = tm or timer({ timeout = reg.timer })
+ if tm.connect_signal then
+ tm:connect_signal("timeout", reg.update)
+ else
+ tm:add_signal("timeout", reg.update)
+ end
+ if not timers[reg.timer] then
+ timers[reg.timer] = { timer = tm, refs = 1 }
+ else
+ timers[reg.timer].refs = timers[reg.timer].refs + 1
+ end
+ if not tm.started then
+ tm:start()
+ end
+ -- Initial update
+ reg.update()
+ end
+ reg.running = true
+ end
end
-- }}}
-- }}}
@@ -144,120 +144,120 @@ end
-- {{{ Global functions
-- {{{ Register a widget
function vicious.register(widget, wtype, format, timer, warg)
- local widget = widget
- local reg = {
- -- Set properties
- wtype = wtype,
- format = format,
- timer = timer,
- warg = warg,
- widget = widget,
- }
- -- Set functions
- reg.update = function ()
- update(widget, reg)
- end
+ local widget = widget
+ local reg = {
+ -- Set properties
+ wtype = wtype,
+ format = format,
+ timer = timer,
+ warg = warg,
+ widget = widget,
+ }
+ -- Set functions
+ reg.update = function ()
+ update(widget, reg)
+ end
- -- Default to 2s timer
- if reg.timer == nil then
- reg.timer = 2
- end
+ -- Default to 2s timer
+ if reg.timer == nil then
+ reg.timer = 2
+ end
- -- Register a reg object
- regregister(reg)
+ -- Register a reg object
+ regregister(reg)
- -- Return a reg object for reuse
- return reg
+ -- Return a reg object for reuse
+ return reg
end
-- }}}
-- {{{ Unregister a widget
function vicious.unregister(widget, keep, reg)
- if reg == nil then
- for w, i in pairs(registered) do
- if w == widget then
- for _, v in pairs(i) do
- reg = vicious.unregister(w, keep, v)
- end
- end
+ if reg == nil then
+ for w, i in pairs(registered) do
+ if w == widget then
+ for _, v in pairs(i) do
+ reg = vicious.unregister(w, keep, v)
end
-
- return reg
- end
-
- if not keep then
- for w, i in pairs(registered) do
- if w == widget then
- for k, v in pairs(i) do
- if v == reg then
- table.remove(registered[w], k)
- end
- end
- end
- end
- end
-
- if not reg.running then
- return reg
- end
-
- -- Disconnect from timer
- local tm = timers[reg.timer]
- if tm.timer.disconnect_signal then
- tm.timer:disconnect_signal("timeout", reg.update)
- else
- tm.timer:remove_signal("timeout", reg.update)
- end
- reg.running = false
- -- Stop the timer
- tm.refs = tm.refs - 1
- if tm.refs == 0 and tm.timer.started then
- tm.timer:stop()
+ end
end
return reg
+ end
+
+ if not keep then
+ for w, i in pairs(registered) do
+ if w == widget then
+ for k, v in pairs(i) do
+ if v == reg then
+ table.remove(registered[w], k)
+ end
+ end
+ end
+ end
+ end
+
+ if not reg.running then
+ return reg
+ end
+
+ -- Disconnect from timer
+ local tm = timers[reg.timer]
+ if tm.timer.disconnect_signal then
+ tm.timer:disconnect_signal("timeout", reg.update)
+ else
+ tm.timer:remove_signal("timeout", reg.update)
+ end
+ reg.running = false
+ -- Stop the timer
+ tm.refs = tm.refs - 1
+ if tm.refs == 0 and tm.timer.started then
+ tm.timer:stop()
+ end
+
+ return reg
end
-- }}}
-- {{{ Enable caching of a widget type
function vicious.cache(wtype)
- if wtype ~= nil then
- if widget_cache[wtype] == nil then
- widget_cache[wtype] = {}
- end
+ if wtype ~= nil then
+ if widget_cache[wtype] == nil then
+ widget_cache[wtype] = {}
end
+ end
end
-- }}}
-- {{{ Force update of widgets
function vicious.force(wtable)
- if type(wtable) == "table" then
- for _, w in pairs(wtable) do
- update(w, nil, true)
- end
+ if type(wtable) == "table" then
+ for _, w in pairs(wtable) do
+ update(w, nil, true)
end
+ end
end
-- }}}
-- {{{ Suspend all widgets
function vicious.suspend()
- for w, i in pairs(registered) do
- for _, v in pairs(i) do
- vicious.unregister(w, true, v)
- end
+ for w, i in pairs(registered) do
+ for _, v in pairs(i) do
+ vicious.unregister(w, true, v)
end
+ end
end
-- }}}
-- {{{ Activate a widget
function vicious.activate(widget)
- for w, i in pairs(registered) do
- if widget == nil or w == widget then
- for _, v in pairs(i) do
- regregister(v)
- end
- end
+ for w, i in pairs(registered) do
+ if widget == nil or w == widget then
+ for _, v in pairs(i) do
+ regregister(v)
+ end
end
+ end
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/bat.lua b/home/.config/awesome/vicious/widgets/bat.lua
index 1f491d9b..50398dbe 100644
--- a/home/.config/awesome/vicious/widgets/bat.lua
+++ b/home/.config/awesome/vicious/widgets/bat.lua
@@ -10,8 +10,8 @@ local setmetatable = setmetatable
local string = { format = string.format }
local helpers = require("vicious.helpers")
local math = {
- min = math.min,
- floor = math.floor
+ min = math.min,
+ floor = math.floor
}
-- }}}
@@ -23,71 +23,71 @@ local bat = {}
-- {{{ Battery widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- local battery = helpers.pathtotable("/sys/class/power_supply/"..warg)
- local battery_state = {
- ["Full\n"] = "↯",
- ["Unknown\n"] = "⌁",
- ["Charged\n"] = "↯",
- ["Charging\n"] = "+",
- ["Discharging\n"] = "−"
- }
+ local battery = helpers.pathtotable("/sys/class/power_supply/"..warg)
+ local battery_state = {
+ ["Full\n"] = "↯",
+ ["Unknown\n"] = "⌁",
+ ["Charged\n"] = "↯",
+ ["Charging\n"] = "+",
+ ["Discharging\n"] = "−"
+ }
- -- Check if the battery is present
- if battery.present ~= "1\n" then
- return {battery_state["Unknown\n"], 0, "N/A", 0}
- end
+ -- Check if the battery is present
+ if battery.present ~= "1\n" then
+ return {battery_state["Unknown\n"], 0, "N/A", 0}
+ end
- -- Get state information
- local state = battery_state[battery.status] or battery_state["Unknown\n"]
+ -- Get state information
+ local state = battery_state[battery.status] or battery_state["Unknown\n"]
- -- Get capacity information
- if battery.charge_now then
- remaining, capacity = battery.charge_now, battery.charge_full
- capacity_design = battery.charge_full_design or capacity
- elseif battery.energy_now then
- remaining, capacity = battery.energy_now, battery.energy_full
- capacity_design = battery.energy_full_design or capacity
+ -- Get capacity information
+ if battery.charge_now then
+ remaining, capacity = battery.charge_now, battery.charge_full
+ capacity_design = battery.charge_full_design or capacity
+ elseif battery.energy_now then
+ remaining, capacity = battery.energy_now, battery.energy_full
+ capacity_design = battery.energy_full_design or capacity
+ else
+ return {battery_state["Unknown\n"], 0, "N/A", 0}
+ end
+
+ -- Calculate capacity and wear percentage (but work around broken BAT/ACPI implementations)
+ local percent = math.min(math.floor(remaining / capacity * 100), 100)
+ local wear = math.floor(100 - capacity / capacity_design * 100)
+
+
+ -- Get charge information
+ if battery.current_now then
+ rate = tonumber(battery.current_now)
+ elseif battery.power_now then
+ rate = tonumber(battery.power_now)
+ else
+ return {state, percent, "N/A", wear}
+ end
+
+ -- Calculate remaining (charging or discharging) time
+ local time = "N/A"
+
+ if rate ~= nil and rate ~= 0 then
+ if state == "+" then
+ timeleft = (tonumber(capacity) - tonumber(remaining)) / tonumber(rate)
+ elseif state == "−" then
+ timeleft = tonumber(remaining) / tonumber(rate)
else
- return {battery_state["Unknown\n"], 0, "N/A", 0}
+ return {state, percent, time, wear}
end
- -- Calculate capacity and wear percentage (but work around broken BAT/ACPI implementations)
- local percent = math.min(math.floor(remaining / capacity * 100), 100)
- local wear = math.floor(100 - capacity / capacity_design * 100)
+ -- Calculate time
+ local hoursleft = math.floor(timeleft)
+ local minutesleft = math.floor((timeleft - hoursleft) * 60 )
+ time = string.format("%02d:%02d", hoursleft, minutesleft)
+ end
- -- Get charge information
- if battery.current_now then
- rate = tonumber(battery.current_now)
- elseif battery.power_now then
- rate = tonumber(battery.power_now)
- else
- return {state, percent, "N/A", wear}
- end
-
- -- Calculate remaining (charging or discharging) time
- local time = "N/A"
-
- if rate ~= nil and rate ~= 0 then
- if state == "+" then
- timeleft = (tonumber(capacity) - tonumber(remaining)) / tonumber(rate)
- elseif state == "−" then
- timeleft = tonumber(remaining) / tonumber(rate)
- else
- return {state, percent, time, wear}
- end
-
- -- Calculate time
- local hoursleft = math.floor(timeleft)
- local minutesleft = math.floor((timeleft - hoursleft) * 60 )
-
- time = string.format("%02d:%02d", hoursleft, minutesleft)
- end
-
- return {state, percent, time, wear}
+ return {state, percent, time, wear}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/cpu.lua b/home/.config/awesome/vicious/widgets/cpu.lua
index fe6754a6..dcb25450 100644
--- a/home/.config/awesome/vicious/widgets/cpu.lua
+++ b/home/.config/awesome/vicious/widgets/cpu.lua
@@ -12,8 +12,8 @@ local setmetatable = setmetatable
local math = { floor = math.floor }
local table = { insert = table.insert }
local string = {
- sub = string.sub,
- gmatch = string.gmatch
+ sub = string.sub,
+ gmatch = string.gmatch
}
-- }}}
@@ -30,50 +30,50 @@ local cpu_active = {}
-- {{{ CPU widget type
local function worker(format)
- local cpu_lines = {}
+ local cpu_lines = {}
- -- Get CPU stats
- local f = io.open("/proc/stat")
- for line in f:lines() do
- if string.sub(line, 1, 3) ~= "cpu" then break end
+ -- Get CPU stats
+ local f = io.open("/proc/stat")
+ for line in f:lines() do
+ if string.sub(line, 1, 3) ~= "cpu" then break end
- cpu_lines[#cpu_lines+1] = {}
+ cpu_lines[#cpu_lines+1] = {}
- for i in string.gmatch(line, "[%s]+([^%s]+)") do
- table.insert(cpu_lines[#cpu_lines], i)
- end
+ for i in string.gmatch(line, "[%s]+([^%s]+)") do
+ table.insert(cpu_lines[#cpu_lines], i)
end
- f:close()
+ end
+ f:close()
- -- Ensure tables are initialized correctly
- for i = #cpu_total + 1, #cpu_lines do
- cpu_total[i] = 0
- cpu_usage[i] = 0
- cpu_active[i] = 0
+ -- Ensure tables are initialized correctly
+ for i = #cpu_total + 1, #cpu_lines do
+ cpu_total[i] = 0
+ cpu_usage[i] = 0
+ cpu_active[i] = 0
+ end
+
+
+ for i, v in ipairs(cpu_lines) do
+ -- Calculate totals
+ local total_new = 0
+ for j = 1, #v do
+ total_new = total_new + v[j]
end
+ local active_new = total_new - (v[4] + v[5])
+ -- Calculate percentage
+ local diff_total = total_new - cpu_total[i]
+ local diff_active = active_new - cpu_active[i]
- for i, v in ipairs(cpu_lines) do
- -- Calculate totals
- local total_new = 0
- for j = 1, #v do
- total_new = total_new + v[j]
- end
- local active_new = total_new - (v[4] + v[5])
+ if diff_total == 0 then diff_total = 1E-6 end
+ cpu_usage[i] = math.floor((diff_active / diff_total) * 100)
- -- Calculate percentage
- local diff_total = total_new - cpu_total[i]
- local diff_active = active_new - cpu_active[i]
+ -- Store totals
+ cpu_total[i] = total_new
+ cpu_active[i] = active_new
+ end
- if diff_total == 0 then diff_total = 1E-6 end
- cpu_usage[i] = math.floor((diff_active / diff_total) * 100)
-
- -- Store totals
- cpu_total[i] = total_new
- cpu_active[i] = active_new
- end
-
- return cpu_usage
+ return cpu_usage
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/cpufreq.lua b/home/.config/awesome/vicious/widgets/cpufreq.lua
index 39470a4e..659cada0 100644
--- a/home/.config/awesome/vicious/widgets/cpufreq.lua
+++ b/home/.config/awesome/vicious/widgets/cpufreq.lua
@@ -18,43 +18,43 @@ local cpufreq = {}
-- {{{ CPU frequency widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- local _cpufreq = helpers.pathtotable("/sys/devices/system/cpu/"..warg.."/cpufreq")
- local governor_state = {
- ["ondemand\n"] = "↯",
- ["powersave\n"] = "⌁",
- ["userspace\n"] = "¤",
- ["performance\n"] = "⚡",
- ["conservative\n"] = "⊚"
- }
- -- Default frequency and voltage values
- local freqv = {
- ["mhz"] = "N/A", ["ghz"] = "N/A",
- ["v"] = "N/A", ["mv"] = "N/A",
- }
+ local _cpufreq = helpers.pathtotable("/sys/devices/system/cpu/"..warg.."/cpufreq")
+ local governor_state = {
+ ["ondemand\n"] = "↯",
+ ["powersave\n"] = "⌁",
+ ["userspace\n"] = "¤",
+ ["performance\n"] = "⚡",
+ ["conservative\n"] = "⊚"
+ }
+ -- Default frequency and voltage values
+ local freqv = {
+ ["mhz"] = "N/A", ["ghz"] = "N/A",
+ ["v"] = "N/A", ["mv"] = "N/A",
+ }
- -- Get the current frequency
- local freq = tonumber(_cpufreq.scaling_cur_freq)
- -- Calculate MHz and GHz
- if freq then
- freqv.mhz = freq / 1000
- freqv.ghz = freqv.mhz / 1000
+ -- Get the current frequency
+ local freq = tonumber(_cpufreq.scaling_cur_freq)
+ -- Calculate MHz and GHz
+ if freq then
+ freqv.mhz = freq / 1000
+ freqv.ghz = freqv.mhz / 1000
- -- Get the current voltage
- if _cpufreq.scaling_voltages then
- freqv.mv = tonumber(string.match(_cpufreq.scaling_voltages, freq.."[%s]([%d]+)"))
- -- Calculate voltage from mV
- freqv.v = freqv.mv / 1000
- end
+ -- Get the current voltage
+ if _cpufreq.scaling_voltages then
+ freqv.mv = tonumber(string.match(_cpufreq.scaling_voltages, freq.."[%s]([%d]+)"))
+ -- Calculate voltage from mV
+ freqv.v = freqv.mv / 1000
end
+ end
- -- Get the current governor
- local governor = _cpufreq.scaling_governor
- -- Represent the governor as a symbol
- governor = governor_state[governor] or governor or "N/A"
+ -- Get the current governor
+ local governor = _cpufreq.scaling_governor
+ -- Represent the governor as a symbol
+ governor = governor_state[governor] or governor or "N/A"
- return {freqv.mhz, freqv.ghz, freqv.mv, freqv.v, governor}
+ return {freqv.mhz, freqv.ghz, freqv.mv, freqv.v, governor}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/cpuinf.lua b/home/.config/awesome/vicious/widgets/cpuinf.lua
index b0ea782a..6ee922d1 100644
--- a/home/.config/awesome/vicious/widgets/cpuinf.lua
+++ b/home/.config/awesome/vicious/widgets/cpuinf.lua
@@ -18,26 +18,26 @@ local cpuinf = {}
-- {{{ CPU Information widget type
local function worker(format)
- local id = nil
+ local id = nil
- local cpu_info = {} -- Get CPU info
- for line in io.lines("/proc/cpuinfo") do
- for k, v in string.gmatch(line, "([%a%s]+)[%s]+:[%s]([%d]+).-$") do
- if k == "processor" then
- id = v
- elseif k == "cpu MHz\t" or k == "cpu MHz" then
- local speed = tonumber(v)
- cpu_info["{cpu"..id.." mhz}"] = speed
- cpu_info["{cpu"..id.." ghz}"] = speed / 1000
- elseif k == "cache size" then
- local cache = tonumber(v)
- cpu_info["{cpu"..id.." kb}"] = cache
- cpu_info["{cpu"..id.." mb}"] = cache / 1024
- end
- end
+ local cpu_info = {} -- Get CPU info
+ for line in io.lines("/proc/cpuinfo") do
+ for k, v in string.gmatch(line, "([%a%s]+)[%s]+:[%s]([%d]+).-$") do
+ if k == "processor" then
+ id = v
+ elseif k == "cpu MHz\t" or k == "cpu MHz" then
+ local speed = tonumber(v)
+ cpu_info["{cpu"..id.." mhz}"] = speed
+ cpu_info["{cpu"..id.." ghz}"] = speed / 1000
+ elseif k == "cache size" then
+ local cache = tonumber(v)
+ cpu_info["{cpu"..id.." kb}"] = cache
+ cpu_info["{cpu"..id.." mb}"] = cache / 1024
+ end
end
+ end
- return cpu_info
+ return cpu_info
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/date.lua b/home/.config/awesome/vicious/widgets/date.lua
index 17f4f3f2..cee71001 100644
--- a/home/.config/awesome/vicious/widgets/date.lua
+++ b/home/.config/awesome/vicious/widgets/date.lua
@@ -7,8 +7,8 @@
-- {{{ Grab environment
local setmetatable = setmetatable
local os = {
- date = os.date,
- time = os.time
+ date = os.date,
+ time = os.time
}
-- }}}
@@ -20,7 +20,7 @@ local date = {}
-- {{{ Date widget type
local function worker(format, warg)
- return os.date(format or nil, warg and os.time()+warg or nil)
+ return os.date(format or nil, warg and os.time()+warg or nil)
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/dio.lua b/home/.config/awesome/vicious/widgets/dio.lua
index 6d13c545..563d26f7 100644
--- a/home/.config/awesome/vicious/widgets/dio.lua
+++ b/home/.config/awesome/vicious/widgets/dio.lua
@@ -10,8 +10,8 @@ local setmetatable = setmetatable
local string = { match = string.match }
local helpers = require("vicious.helpers")
local os = {
- time = os.time,
- difftime = os.difftime
+ time = os.time,
+ difftime = os.difftime
}
-- }}}
@@ -30,43 +30,43 @@ local unit = { ["s"] = 1, ["kb"] = 2, ["mb"] = 2048 }
-- {{{ Disk I/O widget type
local function worker(format)
- local disk_lines = {}
+ local disk_lines = {}
- for line in io.lines("/proc/diskstats") do
- local device, read, write =
- -- Linux kernel documentation: Documentation/iostats.txt
- string.match(line, "([^%s]+) %d+ %d+ (%d+) %d+ %d+ %d+ (%d+)")
- disk_lines[device] = { read, write }
+ for line in io.lines("/proc/diskstats") do
+ local device, read, write =
+ -- Linux kernel documentation: Documentation/iostats.txt
+ string.match(line, "([^%s]+) %d+ %d+ (%d+) %d+ %d+ %d+ (%d+)")
+ disk_lines[device] = { read, write }
+ end
+
+ local time = os.time()
+ local interval = os.difftime(time, disk_time)
+ if interval == 0 then interval = 1 end
+
+ for device, stats in pairs(disk_lines) do
+ -- Avoid insane values on startup
+ local last_stats = disk_stats[device] or stats
+
+ -- Check for overflows and counter resets (> 2^32)
+ if stats[1] < last_stats[1] or stats[2] < last_stats[2] then
+ last_stats[1], last_stats[2] = stats[1], stats[2]
end
- local time = os.time()
- local interval = os.difftime(time, disk_time)
- if interval == 0 then interval = 1 end
+ -- Diskstats are absolute, substract our last reading
+ -- * divide by timediff because we don't know the timer value
+ local read = (stats[1] - last_stats[1]) / interval
+ local write = (stats[2] - last_stats[2]) / interval
- for device, stats in pairs(disk_lines) do
- -- Avoid insane values on startup
- local last_stats = disk_stats[device] or stats
+ -- Calculate and store I/O
+ helpers.uformat(disk_usage, device.." read", read, unit)
+ helpers.uformat(disk_usage, device.." write", write, unit)
+ helpers.uformat(disk_usage, device.." total", read + write, unit)
+ end
- -- Check for overflows and counter resets (> 2^32)
- if stats[1] < last_stats[1] or stats[2] < last_stats[2] then
- last_stats[1], last_stats[2] = stats[1], stats[2]
- end
+ disk_time = time
+ disk_stats = disk_lines
- -- Diskstats are absolute, substract our last reading
- -- * divide by timediff because we don't know the timer value
- local read = (stats[1] - last_stats[1]) / interval
- local write = (stats[2] - last_stats[2]) / interval
-
- -- Calculate and store I/O
- helpers.uformat(disk_usage, device.." read", read, unit)
- helpers.uformat(disk_usage, device.." write", write, unit)
- helpers.uformat(disk_usage, device.." total", read + write, unit)
- end
-
- disk_time = time
- disk_stats = disk_lines
-
- return disk_usage
+ return disk_usage
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/fs.lua b/home/.config/awesome/vicious/widgets/fs.lua
index 4b889dce..c37fc951 100644
--- a/home/.config/awesome/vicious/widgets/fs.lua
+++ b/home/.config/awesome/vicious/widgets/fs.lua
@@ -23,29 +23,29 @@ local unit = { ["mb"] = 1024, ["gb"] = 1024^2 }
-- {{{ Filesystem widget type
local function worker(format, warg)
- -- Fallback to listing local filesystems
- if warg then warg = "" else warg = "-l" end
+ -- Fallback to listing local filesystems
+ if warg then warg = "" else warg = "-l" end
- local fs_info = {} -- Get data from df
- local f = io.popen("LC_ALL=C df -kP " .. helpers.shellquote(warg))
+ local fs_info = {} -- Get data from df
+ local f = io.popen("LC_ALL=C df -kP " .. helpers.shellquote(warg))
- for line in f:lines() do -- Match: (size) (used)(avail)(use%) (mount)
- local s = string.match(line, "^.-[%s]([%d]+)")
- local u,a,p = string.match(line, "([%d]+)[%D]+([%d]+)[%D]+([%d]+)%%")
- local m = string.match(line, "%%[%s]+([%p%w]+)")
+ for line in f:lines() do -- Match: (size) (used)(avail)(use%) (mount)
+ local s = string.match(line, "^.-[%s]([%d]+)")
+ local u,a,p = string.match(line, "([%d]+)[%D]+([%d]+)[%D]+([%d]+)%%")
+ local m = string.match(line, "%%[%s]+([%p%w]+)")
- if u and m then -- Handle 1st line and broken regexp
- helpers.uformat(fs_info, m .. " size", s, unit)
- helpers.uformat(fs_info, m .. " used", u, unit)
- helpers.uformat(fs_info, m .. " avail", a, unit)
+ if u and m then -- Handle 1st line and broken regexp
+ helpers.uformat(fs_info, m .. " size", s, unit)
+ helpers.uformat(fs_info, m .. " used", u, unit)
+ helpers.uformat(fs_info, m .. " avail", a, unit)
- fs_info["{" .. m .. " used_p}"] = tonumber(p)
- fs_info["{" .. m .. " avail_p}"] = 100 - tonumber(p)
- end
+ fs_info["{" .. m .. " used_p}"] = tonumber(p)
+ fs_info["{" .. m .. " avail_p}"] = 100 - tonumber(p)
end
- f:close()
+ end
+ f:close()
- return fs_info
+ return fs_info
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/gmail.lua b/home/.config/awesome/vicious/widgets/gmail.lua
index 84f21259..24918c55 100644
--- a/home/.config/awesome/vicious/widgets/gmail.lua
+++ b/home/.config/awesome/vicious/widgets/gmail.lua
@@ -10,7 +10,7 @@ local io = { popen = io.popen }
local setmetatable = setmetatable
local helpers = require("vicious.helpers")
local string = {
- match = string.match
+ match = string.match
}
-- }}}
@@ -30,47 +30,47 @@ local rss = {
-- Default is just Inbox
local feed = rss.inbox
local mail = {
- ["{count}"] = 0,
- ["{subject}"] = "N/A"
+ ["{count}"] = 0,
+ ["{subject}"] = "N/A"
}
-- }}}
-- {{{ Gmail widget type
local function worker(format, warg)
- -- Get info from the Gmail atom feed
- local f = io.popen("curl --connect-timeout 1 -m 3 -fsn " .. feed)
+ -- Get info from the Gmail atom feed
+ local f = io.popen("curl --connect-timeout 1 -m 3 -fsn " .. feed)
- -- Could be huge don't read it all at once, info we are after is at the top
- local xml = f:read(2000)
-
- if xml ~= nil then
- return mail
- end
-
- mail["{count}"] = -- Count comes before messages and matches at least 0
- tonumber(string.match(xml, "([%d]+)")) or mail["{count}"]
-
- -- Find subject tag
- local title = string.match(xml, ".-(.-)")
-
- if title ~= nil then
- -- Check if we should scroll, or maybe truncate
- if warg then
- if type(warg) == "table" then
- title = helpers.scroll(title, warg[1], warg[2])
- else
- title = helpers.truncate(title, warg)
- end
- end
-
- -- Spam sanitize the subject and store
- mail["{subject}"] = helpers.escape(title)
- end
-
- f:close()
+ -- Could be huge don't read it all at once, info we are after is at the top
+ local xml = f:read(2000)
+ if xml ~= nil then
return mail
+ end
+
+ mail["{count}"] = -- Count comes before messages and matches at least 0
+ tonumber(string.match(xml, "([%d]+)")) or mail["{count}"]
+
+ -- Find subject tag
+ local title = string.match(xml, ".-(.-)")
+
+ if title ~= nil then
+ -- Check if we should scroll, or maybe truncate
+ if warg then
+ if type(warg) == "table" then
+ title = helpers.scroll(title, warg[1], warg[2])
+ else
+ title = helpers.truncate(title, warg)
+ end
+ end
+
+ -- Spam sanitize the subject and store
+ mail["{subject}"] = helpers.escape(title)
+ end
+
+ f:close()
+
+ return mail
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/hddtemp.lua b/home/.config/awesome/vicious/widgets/hddtemp.lua
index 5c2b1a6d..176a3b6e 100644
--- a/home/.config/awesome/vicious/widgets/hddtemp.lua
+++ b/home/.config/awesome/vicious/widgets/hddtemp.lua
@@ -19,21 +19,21 @@ local hddtemp = {}
-- {{{ HDD Temperature widget type
local function worker(format, warg)
- -- Fallback to default hddtemp port
- if warg == nil then warg = 7634 end
+ -- Fallback to default hddtemp port
+ if warg == nil then warg = 7634 end
- local hdd_temp = {} -- Get info from the hddtemp daemon
- local quoted = helpers.shellquote(warg)
- local f = io.popen("echo | curl --connect-timeout 1 -fsm 3 telnet://127.0.0.1:"..quoted)
+ local hdd_temp = {} -- Get info from the hddtemp daemon
+ local quoted = helpers.shellquote(warg)
+ local f = io.popen("echo | curl --connect-timeout 1 -fsm 3 telnet://127.0.0.1:"..quoted)
- for line in f:lines() do
- for d, t in string.gmatch(line, "|([%/%a%d]+)|.-|([%d]+)|[CF]+|") do
- hdd_temp["{"..d.."}"] = tonumber(t)
- end
+ for line in f:lines() do
+ for d, t in string.gmatch(line, "|([%/%a%d]+)|.-|([%d]+)|[CF]+|") do
+ hdd_temp["{"..d.."}"] = tonumber(t)
end
- f:close()
+ end
+ f:close()
- return hdd_temp
+ return hdd_temp
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/mbox.lua b/home/.config/awesome/vicious/widgets/mbox.lua
index 7b92e36c..9a478c9d 100644
--- a/home/.config/awesome/vicious/widgets/mbox.lua
+++ b/home/.config/awesome/vicious/widgets/mbox.lua
@@ -22,31 +22,31 @@ local subject = "N/A"
-- {{{ Mailbox widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- -- mbox could be huge, get a 30kb chunk from EOF
- if type(warg) ~= "table" then _mbox = warg end
- -- * attachment could be much bigger than 30kb
- local f = io.open(_mbox or warg[1])
- f:seek("end", -30720)
- local txt = f:read("*all")
- f:close()
+ -- mbox could be huge, get a 30kb chunk from EOF
+ if type(warg) ~= "table" then _mbox = warg end
+ -- * attachment could be much bigger than 30kb
+ local f = io.open(_mbox or warg[1])
+ f:seek("end", -30720)
+ local txt = f:read("*all")
+ f:close()
- -- Find all Subject lines
- for i in string.gfind(txt, "Subject: ([^\n]*)") do
- subject = i
+ -- Find all Subject lines
+ for i in string.gfind(txt, "Subject: ([^\n]*)") do
+ subject = i
+ end
+
+ -- Check if we should scroll, or maybe truncate
+ if type(warg) == "table" then
+ if warg[3] ~= nil then
+ subject = helpers.scroll(subject, warg[2], warg[3])
+ else
+ subject = helpers.truncate(subject, warg[2])
end
+ end
- -- Check if we should scroll, or maybe truncate
- if type(warg) == "table" then
- if warg[3] ~= nil then
- subject = helpers.scroll(subject, warg[2], warg[3])
- else
- subject = helpers.truncate(subject, warg[2])
- end
- end
-
- return {helpers.escape(subject)}
+ return {helpers.escape(subject)}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/mboxc.lua b/home/.config/awesome/vicious/widgets/mboxc.lua
index a79d1f4b..9b3632b4 100644
--- a/home/.config/awesome/vicious/widgets/mboxc.lua
+++ b/home/.config/awesome/vicious/widgets/mboxc.lua
@@ -17,41 +17,41 @@ local mboxc = {}
-- {{{ Mbox count widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- -- Initialize counters
- local count = { old = 0, total = 0, new = 0 }
+ -- Initialize counters
+ local count = { old = 0, total = 0, new = 0 }
- -- Get data from mbox files
- for i=1, #warg do
- local f = io.open(warg[i])
+ -- Get data from mbox files
+ for i=1, #warg do
+ local f = io.open(warg[i])
- while true do
- -- Read the mbox line by line, if we are going to read
- -- some *HUGE* folders then switch to reading chunks
- local lines = f:read("*line")
- if not lines then break end
+ while true do
+ -- Read the mbox line by line, if we are going to read
+ -- some *HUGE* folders then switch to reading chunks
+ local lines = f:read("*line")
+ if not lines then break end
- -- Find all messages
- -- * http://www.jwz.org/doc/content-length.html
- local _, from = string.find(lines, "^From[%s]")
- if from ~= nil then count.total = count.total + 1 end
+ -- Find all messages
+ -- * http://www.jwz.org/doc/content-length.html
+ local _, from = string.find(lines, "^From[%s]")
+ if from ~= nil then count.total = count.total + 1 end
- -- Read messages have the Status header
- local _, status = string.find(lines, "^Status:[%s]RO$")
- if status ~= nil then count.old = count.old + 1 end
+ -- Read messages have the Status header
+ local _, status = string.find(lines, "^Status:[%s]RO$")
+ if status ~= nil then count.old = count.old + 1 end
- -- Skip the folder internal data
- local _, int = string.find(lines, "^Subject:[%s].*FOLDER[%s]INTERNAL[%s]DATA")
- if int ~= nil then count.total = count.total - 1 end
- end
- f:close()
+ -- Skip the folder internal data
+ local _, int = string.find(lines, "^Subject:[%s].*FOLDER[%s]INTERNAL[%s]DATA")
+ if int ~= nil then count.total = count.total - 1 end
end
+ f:close()
+ end
- -- Substract total from old to get the new count
- count.new = count.total - count.old
+ -- Substract total from old to get the new count
+ count.new = count.total - count.old
- return {count.total, count.old, count.new}
+ return {count.total, count.old, count.new}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/mdir.lua b/home/.config/awesome/vicious/widgets/mdir.lua
index bea90885..0bd60d99 100644
--- a/home/.config/awesome/vicious/widgets/mdir.lua
+++ b/home/.config/awesome/vicious/widgets/mdir.lua
@@ -18,25 +18,25 @@ local mdir = {}
-- {{{ Maildir widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- -- Initialize counters
- local count = { new = 0, cur = 0 }
+ -- Initialize counters
+ local count = { new = 0, cur = 0 }
- for i=1, #warg do
- quoted_path = helpers.shellquote(warg[i])
- -- Recursively find new messages
- local f = io.popen("find "..quoted_path.." -type f -wholename '*/new/*'")
- for line in f:lines() do count.new = count.new + 1 end
- f:close()
+ for i=1, #warg do
+ quoted_path = helpers.shellquote(warg[i])
+ -- Recursively find new messages
+ local f = io.popen("find "..quoted_path.." -type f -wholename '*/new/*'")
+ for line in f:lines() do count.new = count.new + 1 end
+ f:close()
- -- Recursively find "old" messages lacking the Seen flag
- local f = io.popen("find "..quoted_path.." -type f -regex '.*/cur/.*2,[^S]*$'")
- for line in f:lines() do count.cur = count.cur + 1 end
- f:close()
- end
+ -- Recursively find "old" messages lacking the Seen flag
+ local f = io.popen("find "..quoted_path.." -type f -regex '.*/cur/.*2,[^S]*$'")
+ for line in f:lines() do count.cur = count.cur + 1 end
+ f:close()
+ end
- return {count.new, count.cur}
+ return {count.new, count.cur}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/mem.lua b/home/.config/awesome/vicious/widgets/mem.lua
index 67ef42ae..2803d105 100644
--- a/home/.config/awesome/vicious/widgets/mem.lua
+++ b/home/.config/awesome/vicious/widgets/mem.lua
@@ -19,33 +19,33 @@ local mem = {}
-- {{{ Memory widget type
local function worker(format)
- local _mem = { buf = {}, swp = {} }
+ local _mem = { buf = {}, swp = {} }
- -- Get MEM info
- for line in io.lines("/proc/meminfo") do
- for k, v in string.gmatch(line, "([%a]+):[%s]+([%d]+).+") do
- if k == "MemTotal" then _mem.total = math.floor(v/1024)
- elseif k == "MemFree" then _mem.buf.f = math.floor(v/1024)
- elseif k == "Buffers" then _mem.buf.b = math.floor(v/1024)
- elseif k == "Cached" then _mem.buf.c = math.floor(v/1024)
- elseif k == "SwapTotal" then _mem.swp.t = math.floor(v/1024)
- elseif k == "SwapFree" then _mem.swp.f = math.floor(v/1024)
- end
- end
+ -- Get MEM info
+ for line in io.lines("/proc/meminfo") do
+ for k, v in string.gmatch(line, "([%a]+):[%s]+([%d]+).+") do
+ if k == "MemTotal" then _mem.total = math.floor(v/1024)
+ elseif k == "MemFree" then _mem.buf.f = math.floor(v/1024)
+ elseif k == "Buffers" then _mem.buf.b = math.floor(v/1024)
+ elseif k == "Cached" then _mem.buf.c = math.floor(v/1024)
+ elseif k == "SwapTotal" then _mem.swp.t = math.floor(v/1024)
+ elseif k == "SwapFree" then _mem.swp.f = math.floor(v/1024)
+ end
end
+ end
- -- Calculate memory percentage
- _mem.free = _mem.buf.f + _mem.buf.b + _mem.buf.c
- _mem.inuse = _mem.total - _mem.free
- _mem.bcuse = _mem.total - _mem.buf.f
- _mem.usep = math.floor(_mem.inuse / _mem.total * 100)
- -- Calculate swap percentage
- _mem.swp.inuse = _mem.swp.t - _mem.swp.f
- _mem.swp.usep = math.floor(_mem.swp.inuse / _mem.swp.t * 100)
+ -- Calculate memory percentage
+ _mem.free = _mem.buf.f + _mem.buf.b + _mem.buf.c
+ _mem.inuse = _mem.total - _mem.free
+ _mem.bcuse = _mem.total - _mem.buf.f
+ _mem.usep = math.floor(_mem.inuse / _mem.total * 100)
+ -- Calculate swap percentage
+ _mem.swp.inuse = _mem.swp.t - _mem.swp.f
+ _mem.swp.usep = math.floor(_mem.swp.inuse / _mem.swp.t * 100)
- return {_mem.usep, _mem.inuse, _mem.total, _mem.free,
- _mem.swp.usep, _mem.swp.inuse, _mem.swp.t, _mem.swp.f,
- _mem.bcuse }
+ return {_mem.usep, _mem.inuse, _mem.total, _mem.free,
+ _mem.swp.usep, _mem.swp.inuse, _mem.swp.t, _mem.swp.f,
+ _mem.bcuse }
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/mpd.lua b/home/.config/awesome/vicious/widgets/mpd.lua
index e4bcb0bb..f32b44bb 100644
--- a/home/.config/awesome/vicious/widgets/mpd.lua
+++ b/home/.config/awesome/vicious/widgets/mpd.lua
@@ -19,45 +19,45 @@ local mpd = {}
-- {{{ MPD widget type
local function worker(format, warg)
- local mpd_state = {
- ["{volume}"] = 0,
- ["{state}"] = "N/A",
- ["{Artist}"] = "N/A",
- ["{Title}"] = "N/A",
- ["{Album}"] = "N/A",
- ["{Genre}"] = "N/A",
- --["{Name}"] = "N/A",
- --["{file}"] = "N/A",
- }
+ local mpd_state = {
+ ["{volume}"] = 0,
+ ["{state}"] = "N/A",
+ ["{Artist}"] = "N/A",
+ ["{Title}"] = "N/A",
+ ["{Album}"] = "N/A",
+ ["{Genre}"] = "N/A",
+ --["{Name}"] = "N/A",
+ --["{file}"] = "N/A",
+ }
- -- Fallback to MPD defaults
- local pass = warg and (warg.password or warg[1]) or "\"\""
- local host = warg and (warg.host or warg[2]) or "127.0.0.1"
- local port = warg and (warg.port or warg[3]) or "6600"
+ -- Fallback to MPD defaults
+ local pass = warg and (warg.password or warg[1]) or "\"\""
+ local host = warg and (warg.host or warg[2]) or "127.0.0.1"
+ local port = warg and (warg.port or warg[3]) or "6600"
- -- Construct MPD client options
- local mpdh = "telnet://"..host..":"..port
- local echo = "echo 'password "..pass.."\nstatus\ncurrentsong\nclose'"
+ -- Construct MPD client options
+ local mpdh = "telnet://"..host..":"..port
+ local echo = "echo 'password "..pass.."\nstatus\ncurrentsong\nclose'"
- -- Get data from MPD server
- local f = io.popen(echo.." | curl --connect-timeout 1 -fsm 3 "..mpdh)
+ -- Get data from MPD server
+ local f = io.popen(echo.." | curl --connect-timeout 1 -fsm 3 "..mpdh)
- for line in f:lines() do
- for k, v in string.gmatch(line, "([%w]+):[%s](.*)$") do
- if k == "volume" then mpd_state["{"..k.."}"] = v and tonumber(v)
- elseif k == "state" then mpd_state["{"..k.."}"] = helpers.capitalize(v)
- elseif k == "Artist" then mpd_state["{"..k.."}"] = helpers.escape(v)
- elseif k == "Title" then mpd_state["{"..k.."}"] = helpers.escape(v)
- elseif k == "Album" then mpd_state["{"..k.."}"] = helpers.escape(v)
- elseif k == "Genre" then mpd_state["{"..k.."}"] = helpers.escape(v)
- --elseif k == "Name" then mpd_state["{"..k.."}"] = helpers.escape(v)
- --elseif k == "file" then mpd_state["{"..k.."}"] = helpers.escape(v)
- end
- end
+ for line in f:lines() do
+ for k, v in string.gmatch(line, "([%w]+):[%s](.*)$") do
+ if k == "volume" then mpd_state["{"..k.."}"] = v and tonumber(v)
+ elseif k == "state" then mpd_state["{"..k.."}"] = helpers.capitalize(v)
+ elseif k == "Artist" then mpd_state["{"..k.."}"] = helpers.escape(v)
+ elseif k == "Title" then mpd_state["{"..k.."}"] = helpers.escape(v)
+ elseif k == "Album" then mpd_state["{"..k.."}"] = helpers.escape(v)
+ elseif k == "Genre" then mpd_state["{"..k.."}"] = helpers.escape(v)
+ --elseif k == "Name" then mpd_state["{"..k.."}"] = helpers.escape(v)
+ --elseif k == "file" then mpd_state["{"..k.."}"] = helpers.escape(v)
+ end
end
- f:close()
+ end
+ f:close()
- return mpd_state
+ return mpd_state
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/net.lua b/home/.config/awesome/vicious/widgets/net.lua
index d81d0123..4a170d0d 100644
--- a/home/.config/awesome/vicious/widgets/net.lua
+++ b/home/.config/awesome/vicious/widgets/net.lua
@@ -23,57 +23,57 @@ local net = {}
local nets = {}
-- Variable definitions
local unit = { ["b"] = 1, ["kb"] = 1024,
- ["mb"] = 1024^2, ["gb"] = 1024^3
+ ["mb"] = 1024^2, ["gb"] = 1024^3
}
-- {{{ Net widget type
local function worker(format)
- local args = {}
+ local args = {}
- -- Get NET stats
- for line in io.lines("/proc/net/dev") do
- -- Match wmaster0 as well as rt0 (multiple leading spaces)
- local name = string.match(line, "^[%s]?[%s]?[%s]?[%s]?([%w]+):")
- if name ~= nil then
- -- Received bytes, first value after the name
- local recv = tonumber(string.match(line, ":[%s]*([%d]+)"))
- -- Transmited bytes, 7 fields from end of the line
- local send = tonumber(string.match(line,
- "([%d]+)%s+%d+%s+%d+%s+%d+%s+%d+%s+%d+%s+%d+%s+%d$"))
+ -- Get NET stats
+ for line in io.lines("/proc/net/dev") do
+ -- Match wmaster0 as well as rt0 (multiple leading spaces)
+ local name = string.match(line, "^[%s]?[%s]?[%s]?[%s]?([%w]+):")
+ if name ~= nil then
+ -- Received bytes, first value after the name
+ local recv = tonumber(string.match(line, ":[%s]*([%d]+)"))
+ -- Transmited bytes, 7 fields from end of the line
+ local send = tonumber(string.match(line,
+ "([%d]+)%s+%d+%s+%d+%s+%d+%s+%d+%s+%d+%s+%d+%s+%d$"))
- helpers.uformat(args, name .. " rx", recv, unit)
- helpers.uformat(args, name .. " tx", send, unit)
+ helpers.uformat(args, name .. " rx", recv, unit)
+ helpers.uformat(args, name .. " tx", send, unit)
- -- Operational state and carrier detection
- local sysnet = helpers.pathtotable("/sys/class/net/" .. name)
- args["{"..name.." carrier}"] = tonumber(sysnet.carrier) or 0
+ -- Operational state and carrier detection
+ local sysnet = helpers.pathtotable("/sys/class/net/" .. name)
+ args["{"..name.." carrier}"] = tonumber(sysnet.carrier) or 0
- local now = os.time()
- if nets[name] == nil then
- -- Default values on the first run
- nets[name] = {}
- helpers.uformat(args, name .. " down", 0, unit)
- helpers.uformat(args, name .. " up", 0, unit)
- else -- Net stats are absolute, substract our last reading
- local interval = now - nets[name].time
- if interval <= 0 then interval = 1 end
+ local now = os.time()
+ if nets[name] == nil then
+ -- Default values on the first run
+ nets[name] = {}
+ helpers.uformat(args, name .. " down", 0, unit)
+ helpers.uformat(args, name .. " up", 0, unit)
+ else -- Net stats are absolute, substract our last reading
+ local interval = now - nets[name].time
+ if interval <= 0 then interval = 1 end
- local down = (recv - nets[name][1]) / interval
- local up = (send - nets[name][2]) / interval
+ local down = (recv - nets[name][1]) / interval
+ local up = (send - nets[name][2]) / interval
- helpers.uformat(args, name .. " down", down, unit)
- helpers.uformat(args, name .. " up", up, unit)
- end
+ helpers.uformat(args, name .. " down", down, unit)
+ helpers.uformat(args, name .. " up", up, unit)
+ end
- nets[name].time = now
+ nets[name].time = now
- -- Store totals
- nets[name][1] = recv
- nets[name][2] = send
- end
+ -- Store totals
+ nets[name][1] = recv
+ nets[name][2] = send
end
+ end
- return args
+ return args
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/org.lua b/home/.config/awesome/vicious/widgets/org.lua
index 5254ab77..6f46768b 100644
--- a/home/.config/awesome/vicious/widgets/org.lua
+++ b/home/.config/awesome/vicious/widgets/org.lua
@@ -9,8 +9,8 @@ local io = { lines = io.lines }
local setmetatable = setmetatable
local string = { find = string.find }
local os = {
- time = os.time,
- date = os.date
+ time = os.time,
+ date = os.date
}
-- }}}
@@ -22,40 +22,40 @@ local org = {}
-- {{{ OrgMode widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- -- Compute delays
- local today = os.time{ year=os.date("%Y"), month=os.date("%m"), day=os.date("%d") }
- local soon = today + 24 * 3600 * 3 -- 3 days ahead is close
- local future = today + 24 * 3600 * 7 -- 7 days ahead is maximum
+ -- Compute delays
+ local today = os.time{ year=os.date("%Y"), month=os.date("%m"), day=os.date("%d") }
+ local soon = today + 24 * 3600 * 3 -- 3 days ahead is close
+ local future = today + 24 * 3600 * 7 -- 7 days ahead is maximum
- -- Initialize counters
- local count = { past = 0, today = 0, soon = 0, future = 0 }
+ -- Initialize counters
+ local count = { past = 0, today = 0, soon = 0, future = 0 }
- -- Get data from agenda files
- for i=1, #warg do
- for line in io.lines(warg[i]) do
- local scheduled = string.find(line, "SCHEDULED:")
- local closed = string.find(line, "CLOSED:")
- local deadline = string.find(line, "DEADLINE:")
+ -- Get data from agenda files
+ for i=1, #warg do
+ for line in io.lines(warg[i]) do
+ local scheduled = string.find(line, "SCHEDULED:")
+ local closed = string.find(line, "CLOSED:")
+ local deadline = string.find(line, "DEADLINE:")
- if (scheduled and not closed) or (deadline and not closed) then
- local b, e, y, m, d = string.find(line, "(%d%d%d%d)-(%d%d)-(%d%d)")
+ if (scheduled and not closed) or (deadline and not closed) then
+ local b, e, y, m, d = string.find(line, "(%d%d%d%d)-(%d%d)-(%d%d)")
- if b then
- local t = os.time{ year = y, month = m, day = d }
+ if b then
+ local t = os.time{ year = y, month = m, day = d }
- if t < today then count.past = count.past + 1
- elseif t == today then count.today = count.today + 1
- elseif t <= soon then count.soon = count.soon + 1
- elseif t <= future then count.future = count.future + 1
- end
- end
+ if t < today then count.past = count.past + 1
+ elseif t == today then count.today = count.today + 1
+ elseif t <= soon then count.soon = count.soon + 1
+ elseif t <= future then count.future = count.future + 1
end
- end
+ end
+ end
end
+ end
- return {count.past, count.today, count.soon, count.future}
+ return {count.past, count.today, count.soon, count.future}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/os.lua b/home/.config/awesome/vicious/widgets/os.lua
index 52180e35..b2eae002 100644
--- a/home/.config/awesome/vicious/widgets/os.lua
+++ b/home/.config/awesome/vicious/widgets/os.lua
@@ -12,8 +12,8 @@ local los = { getenv = os.getenv }
local setmetatable = setmetatable
local helpers = require("vicious.helpers")
local string = {
- gsub = string.gsub,
- match = string.match
+ gsub = string.gsub,
+ match = string.match
}
-- }}}
@@ -25,48 +25,48 @@ local os = {}
-- {{{ Operating system widget type
local function worker(format)
- local system = {
- ["ostype"] = "N/A",
- ["hostname"] = "N/A",
- ["osrelease"] = "N/A",
- ["username"] = "N/A",
- ["entropy"] = "N/A",
- ["entropy_p"] = "N/A"
- }
+ local system = {
+ ["ostype"] = "N/A",
+ ["hostname"] = "N/A",
+ ["osrelease"] = "N/A",
+ ["username"] = "N/A",
+ ["entropy"] = "N/A",
+ ["entropy_p"] = "N/A"
+ }
- -- Linux manual page: uname(2)
- local kernel = helpers.pathtotable("/proc/sys/kernel")
- for k, v in pairs(system) do
- if kernel[k] then
- system[k] = string.gsub(kernel[k], "[%s]*$", "")
- end
+ -- Linux manual page: uname(2)
+ local kernel = helpers.pathtotable("/proc/sys/kernel")
+ for k, v in pairs(system) do
+ if kernel[k] then
+ system[k] = string.gsub(kernel[k], "[%s]*$", "")
end
+ end
- -- BSD manual page: uname(1)
- if system["ostype"] == "N/A" then
- local f = io.popen("uname -snr")
- local uname = f:read("*line")
- f:close()
+ -- BSD manual page: uname(1)
+ if system["ostype"] == "N/A" then
+ local f = io.popen("uname -snr")
+ local uname = f:read("*line")
+ f:close()
- system["ostype"], system["hostname"], system["osrelease"] =
- string.match(uname, "([%w]+)[%s]([%w%p]+)[%s]([%w%p]+)")
- end
+ system["ostype"], system["hostname"], system["osrelease"] =
+ string.match(uname, "([%w]+)[%s]([%w%p]+)[%s]([%w%p]+)")
+ end
- -- Linux manual page: random(4)
- if kernel.random then
- -- Linux 2.6 default entropy pool is 4096-bits
- local poolsize = tonumber(kernel.random.poolsize)
+ -- Linux manual page: random(4)
+ if kernel.random then
+ -- Linux 2.6 default entropy pool is 4096-bits
+ local poolsize = tonumber(kernel.random.poolsize)
- -- Get available entropy and calculate percentage
- system["entropy"] = tonumber(kernel.random.entropy_avail)
- system["entropy_p"] = math.ceil(system["entropy"] * 100 / poolsize)
- end
+ -- Get available entropy and calculate percentage
+ system["entropy"] = tonumber(kernel.random.entropy_avail)
+ system["entropy_p"] = math.ceil(system["entropy"] * 100 / poolsize)
+ end
- -- Get user from the environment
- system["username"] = los.getenv("USER")
+ -- Get user from the environment
+ system["username"] = los.getenv("USER")
- return {system["ostype"], system["osrelease"], system["username"],
- system["hostname"], system["entropy"], system["entropy_p"]}
+ return {system["ostype"], system["osrelease"], system["username"],
+ system["hostname"], system["entropy"], system["entropy_p"]}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/pkg.lua b/home/.config/awesome/vicious/widgets/pkg.lua
index f552b9f5..18d1c65d 100644
--- a/home/.config/awesome/vicious/widgets/pkg.lua
+++ b/home/.config/awesome/vicious/widgets/pkg.lua
@@ -17,31 +17,31 @@ local pkg = {}
-- {{{ Packages widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- -- Initialize counters
- local updates = 0
- local manager = {
- ["Arch"] = { cmd = "pacman -Qu" },
- ["Arch C"] = { cmd = "checkupdates" },
- ["Arch S"] = { cmd = "yes | pacman -Sup", sub = 1 },
- ["Debian"] = { cmd = "apt-show-versions -u -b" },
- ["Ubuntu"] = { cmd = "aptitude search '~U'" },
- ["Fedora"] = { cmd = "yum list updates", sub = 3 },
- ["FreeBSD"] ={ cmd = "pkg_version -I -l '<'" },
- ["Mandriva"]={ cmd = "urpmq --auto-select" }
- }
+ -- Initialize counters
+ local updates = 0
+ local manager = {
+ ["Arch"] = { cmd = "pacman -Qu" },
+ ["Arch C"] = { cmd = "checkupdates" },
+ ["Arch S"] = { cmd = "yes | pacman -Sup", sub = 1 },
+ ["Debian"] = { cmd = "apt-show-versions -u -b" },
+ ["Ubuntu"] = { cmd = "aptitude search '~U'" },
+ ["Fedora"] = { cmd = "yum list updates", sub = 3 },
+ ["FreeBSD"] ={ cmd = "pkg_version -I -l '<'" },
+ ["Mandriva"]={ cmd = "urpmq --auto-select" }
+ }
- -- Check if updates are available
- local _pkg = manager[warg]
- local f = io.popen(_pkg.cmd)
+ -- Check if updates are available
+ local _pkg = manager[warg]
+ local f = io.popen(_pkg.cmd)
- for line in f:lines() do
- updates = updates + 1
- end
- f:close()
+ for line in f:lines() do
+ updates = updates + 1
+ end
+ f:close()
- return {_pkg.sub and math.max(updates-_pkg.sub, 0) or updates}
+ return {_pkg.sub and math.max(updates-_pkg.sub, 0) or updates}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/raid.lua b/home/.config/awesome/vicious/widgets/raid.lua
index eafb1189..7f40baa3 100644
--- a/home/.config/awesome/vicious/widgets/raid.lua
+++ b/home/.config/awesome/vicious/widgets/raid.lua
@@ -7,10 +7,10 @@
local io = { open = io.open }
local setmetatable = setmetatable
local string = {
- len = string.len,
- sub = string.sub,
- match = string.match,
- gmatch = string.gmatch
+ len = string.len,
+ sub = string.sub,
+ match = string.match,
+ gmatch = string.gmatch
}
-- }}}
@@ -25,35 +25,35 @@ local mddev = {}
-- {{{ RAID widget type
local function worker(format, warg)
- if not warg then return end
- mddev[warg] = {
- ["found"] = false,
- ["active"] = 0,
- ["assigned"] = 0
- }
+ if not warg then return end
+ mddev[warg] = {
+ ["found"] = false,
+ ["active"] = 0,
+ ["assigned"] = 0
+ }
- -- Linux manual page: md(4)
- local f = io.open("/proc/mdstat")
- for line in f:lines() do
- if mddev[warg]["found"] then
- local updev = string.match(line, "%[[_U]+%]")
+ -- Linux manual page: md(4)
+ local f = io.open("/proc/mdstat")
+ for line in f:lines() do
+ if mddev[warg]["found"] then
+ local updev = string.match(line, "%[[_U]+%]")
- for i in string.gmatch(updev, "U") do
- mddev[warg]["active"] = mddev[warg]["active"] + 1
- end
+ for i in string.gmatch(updev, "U") do
+ mddev[warg]["active"] = mddev[warg]["active"] + 1
+ end
- break
- elseif string.sub(line, 1, string.len(warg)) == warg then
- mddev[warg]["found"] = true
+ break
+ elseif string.sub(line, 1, string.len(warg)) == warg then
+ mddev[warg]["found"] = true
- for i in string.gmatch(line, "%[[%d]%]") do
- mddev[warg]["assigned"] = mddev[warg]["assigned"] + 1
- end
- end
+ for i in string.gmatch(line, "%[[%d]%]") do
+ mddev[warg]["assigned"] = mddev[warg]["assigned"] + 1
+ end
end
- f:close()
+ end
+ f:close()
- return {mddev[warg]["assigned"], mddev[warg]["active"]}
+ return {mddev[warg]["assigned"], mddev[warg]["active"]}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/thermal.lua b/home/.config/awesome/vicious/widgets/thermal.lua
index 7592b72b..94a76bef 100644
--- a/home/.config/awesome/vicious/widgets/thermal.lua
+++ b/home/.config/awesome/vicious/widgets/thermal.lua
@@ -19,28 +19,28 @@ local thermal = {}
-- {{{ Thermal widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- local zone = { -- Known temperature data sources
- ["sys"] = {"/sys/class/thermal/", file = "temp", div = 1000},
- ["core"] = {"/sys/devices/platform/", file = "temp2_input",div = 1000},
- ["proc"] = {"/proc/acpi/thermal_zone/",file = "temperature"}
- } -- Default to /sys/class/thermal
- warg = type(warg) == "table" and warg or { warg, "sys" }
+ local zone = { -- Known temperature data sources
+ ["sys"] = {"/sys/class/thermal/", file = "temp", div = 1000},
+ ["core"] = {"/sys/devices/platform/", file = "temp2_input",div = 1000},
+ ["proc"] = {"/proc/acpi/thermal_zone/",file = "temperature"}
+ } -- Default to /sys/class/thermal
+ warg = type(warg) == "table" and warg or { warg, "sys" }
- -- Get temperature from thermal zone
- local _thermal = helpers.pathtotable(zone[warg[2]][1] .. warg[1])
+ -- Get temperature from thermal zone
+ local _thermal = helpers.pathtotable(zone[warg[2]][1] .. warg[1])
- local data = warg[3] and _thermal[warg[3]] or _thermal[zone[warg[2]].file]
- if data then
- if zone[warg[2]].div then
- return {data / zone[warg[2]].div}
- else -- /proc/acpi "temperature: N C"
- return {tonumber(string.match(data, "[%d]+"))}
- end
+ local data = warg[3] and _thermal[warg[3]] or _thermal[zone[warg[2]].file]
+ if data then
+ if zone[warg[2]].div then
+ return {data / zone[warg[2]].div}
+ else -- /proc/acpi "temperature: N C"
+ return {tonumber(string.match(data, "[%d]+"))}
end
+ end
- return {0}
+ return {0}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/uptime.lua b/home/.config/awesome/vicious/widgets/uptime.lua
index 0e996ac3..2006aa3b 100644
--- a/home/.config/awesome/vicious/widgets/uptime.lua
+++ b/home/.config/awesome/vicious/widgets/uptime.lua
@@ -19,17 +19,17 @@ local uptime = {}
-- {{{ Uptime widget type
local function worker(format)
- local proc = helpers.pathtotable("/proc")
+ local proc = helpers.pathtotable("/proc")
- -- Get system uptime
- local up_t = math.floor(string.match(proc.uptime, "[%d]+"))
- local up_d = math.floor(up_t / (3600 * 24))
- local up_h = math.floor((up_t % (3600 * 24)) / 3600)
- local up_m = math.floor(((up_t % (3600 * 24)) % 3600) / 60)
+ -- Get system uptime
+ local up_t = math.floor(string.match(proc.uptime, "[%d]+"))
+ local up_d = math.floor(up_t / (3600 * 24))
+ local up_h = math.floor((up_t % (3600 * 24)) / 3600)
+ local up_m = math.floor(((up_t % (3600 * 24)) % 3600) / 60)
- local l1, l5, l15 = -- Get load averages for past 1, 5 and 15 minutes
- string.match(proc.loadavg, "([%d%.]+)[%s]([%d%.]+)[%s]([%d%.]+)")
- return {up_d, up_h, up_m, l1, l5, l15}
+ local l1, l5, l15 = -- Get load averages for past 1, 5 and 15 minutes
+ string.match(proc.loadavg, "([%d%.]+)[%s]([%d%.]+)[%s]([%d%.]+)")
+ return {up_d, up_h, up_m, l1, l5, l15}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/volume.lua b/home/.config/awesome/vicious/widgets/volume.lua
index 57970a36..959fa73d 100644
--- a/home/.config/awesome/vicious/widgets/volume.lua
+++ b/home/.config/awesome/vicious/widgets/volume.lua
@@ -19,35 +19,35 @@ local volume = {}
-- {{{ Volume widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- local mixer_state = {
- ["on"] = "♫", -- "",
- ["off"] = "♩" -- "M"
- }
+ local mixer_state = {
+ ["on"] = "♫", -- "",
+ ["off"] = "♩" -- "M"
+ }
- -- Get mixer control contents
- local f = io.popen("amixer -M get " .. helpers.shellquote(warg))
- local mixer = f:read("*all")
- f:close()
+ -- Get mixer control contents
+ local f = io.popen("amixer -M get " .. helpers.shellquote(warg))
+ local mixer = f:read("*all")
+ f:close()
- -- Capture mixer control state: [5%] ... ... [on]
- local volu, mute = string.match(mixer, "([%d]+)%%.*%[([%l]*)")
- -- Handle mixers without data
- if volu == nil then
- return {0, mixer_state["off"]}
- end
+ -- Capture mixer control state: [5%] ... ... [on]
+ local volu, mute = string.match(mixer, "([%d]+)%%.*%[([%l]*)")
+ -- Handle mixers without data
+ if volu == nil then
+ return {0, mixer_state["off"]}
+ end
- -- Handle mixers without mute
- if mute == "" and volu == "0"
- -- Handle mixers that are muted
- or mute == "off" then
- mute = mixer_state["off"]
- else
- mute = mixer_state["on"]
- end
+ -- Handle mixers without mute
+ if mute == "" and volu == "0"
+ -- Handle mixers that are muted
+ or mute == "off" then
+ mute = mixer_state["off"]
+ else
+ mute = mixer_state["on"]
+ end
- return {tonumber(volu), mute}
+ return {tonumber(volu), mute}
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/weather.lua b/home/.config/awesome/vicious/widgets/weather.lua
index 632d5b9d..c4957f77 100644
--- a/home/.config/awesome/vicious/widgets/weather.lua
+++ b/home/.config/awesome/vicious/widgets/weather.lua
@@ -20,74 +20,74 @@ local weather = {}
-- Initialize function tables
local _weather = {
- ["{city}"] = "N/A",
- ["{wind}"] = "N/A",
- ["{windmph}"] = "N/A",
- ["{windkmh}"] = "N/A",
- ["{sky}"] = "N/A",
- ["{weather}"] = "N/A",
- ["{tempf}"] = "N/A",
- ["{tempc}"] = "N/A",
- ["{dewf}"] = "N/A",
- ["{dewc}"] = "N/A",
- ["{humid}"] = "N/A",
- ["{press}"] = "N/A"
+ ["{city}"] = "N/A",
+ ["{wind}"] = "N/A",
+ ["{windmph}"] = "N/A",
+ ["{windkmh}"] = "N/A",
+ ["{sky}"] = "N/A",
+ ["{weather}"] = "N/A",
+ ["{tempf}"] = "N/A",
+ ["{tempc}"] = "N/A",
+ ["{dewf}"] = "N/A",
+ ["{dewc}"] = "N/A",
+ ["{humid}"] = "N/A",
+ ["{press}"] = "N/A"
}
-- {{{ Weather widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- -- Get weather forceast by the station ICAO code, from:
- -- * US National Oceanic and Atmospheric Administration
- local url = "http://weather.noaa.gov/pub/data/observations/metar/decoded/"..warg
- local f = io.popen("curl --connect-timeout 1 -fsm 3 "..helpers.shellquote(url)..".TXT")
- local ws = f:read("*all")
- f:close()
+ -- Get weather forceast by the station ICAO code, from:
+ -- * US National Oceanic and Atmospheric Administration
+ local url = "http://weather.noaa.gov/pub/data/observations/metar/decoded/"..warg
+ local f = io.popen("curl --connect-timeout 1 -fsm 3 "..helpers.shellquote(url)..".TXT")
+ local ws = f:read("*all")
+ f:close()
- -- Check if there was a timeout or a problem with the station
- if ws == nil then return _weather end
+ -- Check if there was a timeout or a problem with the station
+ if ws == nil then return _weather end
- _weather["{city}"] = -- City and/or area
- string.match(ws, "^(.+)%,.*%([%u]+%)") or _weather["{city}"]
- _weather["{wind}"] = -- Wind direction and degrees if available
- string.match(ws, "Wind:[%s][%a]+[%s][%a]+[%s](.+)[%s]at.+$") or _weather["{wind}"]
- _weather["{windmph}"] = -- Wind speed in MPH if available
- string.match(ws, "Wind:[%s].+[%s]at[%s]([%d]+)[%s]MPH") or _weather["{windmph}"]
- _weather["{sky}"] = -- Sky conditions if available
- string.match(ws, "Sky[%s]conditions:[%s](.-)[%c]") or _weather["{sky}"]
- _weather["{weather}"] = -- Weather conditions if available
- string.match(ws, "Weather:[%s](.-)[%c]") or _weather["{weather}"]
- _weather["{tempf}"] = -- Temperature in fahrenheit
- string.match(ws, "Temperature:[%s]([%-]?[%d%.]+).*[%c]") or _weather["{tempf}"]
- _weather["{dewf}"] = -- Dew Point in fahrenheit
- string.match(ws, "Dew[%s]Point:[%s]([%-]?[%d%.]+).*[%c]") or _weather["{dewf}"]
- _weather["{humid}"] = -- Relative humidity in percent
- string.match(ws, "Relative[%s]Humidity:[%s]([%d]+)%%") or _weather["{humid}"]
- _weather["{press}"] = -- Pressure in hPa
- string.match(ws, "Pressure[%s].+%((.+)[%s]hPa%)") or _weather["{press}"]
+ _weather["{city}"] = -- City and/or area
+ string.match(ws, "^(.+)%,.*%([%u]+%)") or _weather["{city}"]
+ _weather["{wind}"] = -- Wind direction and degrees if available
+ string.match(ws, "Wind:[%s][%a]+[%s][%a]+[%s](.+)[%s]at.+$") or _weather["{wind}"]
+ _weather["{windmph}"] = -- Wind speed in MPH if available
+ string.match(ws, "Wind:[%s].+[%s]at[%s]([%d]+)[%s]MPH") or _weather["{windmph}"]
+ _weather["{sky}"] = -- Sky conditions if available
+ string.match(ws, "Sky[%s]conditions:[%s](.-)[%c]") or _weather["{sky}"]
+ _weather["{weather}"] = -- Weather conditions if available
+ string.match(ws, "Weather:[%s](.-)[%c]") or _weather["{weather}"]
+ _weather["{tempf}"] = -- Temperature in fahrenheit
+ string.match(ws, "Temperature:[%s]([%-]?[%d%.]+).*[%c]") or _weather["{tempf}"]
+ _weather["{dewf}"] = -- Dew Point in fahrenheit
+ string.match(ws, "Dew[%s]Point:[%s]([%-]?[%d%.]+).*[%c]") or _weather["{dewf}"]
+ _weather["{humid}"] = -- Relative humidity in percent
+ string.match(ws, "Relative[%s]Humidity:[%s]([%d]+)%%") or _weather["{humid}"]
+ _weather["{press}"] = -- Pressure in hPa
+ string.match(ws, "Pressure[%s].+%((.+)[%s]hPa%)") or _weather["{press}"]
- -- Wind speed in km/h if MPH was available
- if _weather["{windmph}"] ~= "N/A" then
- _weather["{windmph}"] = tonumber(_weather["{windmph}"])
- _weather["{windkmh}"] = math.ceil(_weather["{windmph}"] * 1.6)
- end -- Temperature in °C if °F was available
- if _weather["{tempf}"] ~= "N/A" then
- _weather["{tempf}"] = tonumber(_weather["{tempf}"])
- _weather["{tempc}"] = math.ceil((_weather["{tempf}"] - 32) * 5/9)
- end -- Dew Point in °C if °F was available
- if _weather["{dewf}"] ~= "N/A" then
- _weather["{dewf}"] = tonumber(_weather["{dewf}"])
- _weather["{dewc}"] = math.ceil((_weather["{dewf}"] - 32) * 5/9)
- end -- Capitalize some stats so they don't look so out of place
- if _weather["{sky}"] ~= "N/A" then
- _weather["{sky}"] = helpers.capitalize(_weather["{sky}"])
- end
- if _weather["{weather}"] ~= "N/A" then
- _weather["{weather}"] = helpers.capitalize(_weather["{weather}"])
- end
+ -- Wind speed in km/h if MPH was available
+ if _weather["{windmph}"] ~= "N/A" then
+ _weather["{windmph}"] = tonumber(_weather["{windmph}"])
+ _weather["{windkmh}"] = math.ceil(_weather["{windmph}"] * 1.6)
+ end -- Temperature in °C if °F was available
+ if _weather["{tempf}"] ~= "N/A" then
+ _weather["{tempf}"] = tonumber(_weather["{tempf}"])
+ _weather["{tempc}"] = math.ceil((_weather["{tempf}"] - 32) * 5/9)
+ end -- Dew Point in °C if °F was available
+ if _weather["{dewf}"] ~= "N/A" then
+ _weather["{dewf}"] = tonumber(_weather["{dewf}"])
+ _weather["{dewc}"] = math.ceil((_weather["{dewf}"] - 32) * 5/9)
+ end -- Capitalize some stats so they don't look so out of place
+ if _weather["{sky}"] ~= "N/A" then
+ _weather["{sky}"] = helpers.capitalize(_weather["{sky}"])
+ end
+ if _weather["{weather}"] ~= "N/A" then
+ _weather["{weather}"] = helpers.capitalize(_weather["{weather}"])
+ end
- return _weather
+ return _weather
end
-- }}}
diff --git a/home/.config/awesome/vicious/widgets/wifi.lua b/home/.config/awesome/vicious/widgets/wifi.lua
index 973f109d..503471a3 100644
--- a/home/.config/awesome/vicious/widgets/wifi.lua
+++ b/home/.config/awesome/vicious/widgets/wifi.lua
@@ -9,12 +9,12 @@ local math = { ceil = math.ceil }
local setmetatable = setmetatable
local helpers = require("vicious.helpers")
local io = {
- open = io.open,
- popen = io.popen
+ open = io.open,
+ popen = io.popen
}
local string = {
- find = string.find,
- match = string.match
+ find = string.find,
+ match = string.match
}
-- }}}
@@ -32,60 +32,60 @@ local iwcpaths = { "/sbin", "/usr/sbin", "/usr/local/sbin", "/usr/bin" }
-- {{{ Wireless widget type
local function worker(format, warg)
- if not warg then return end
+ if not warg then return end
- -- Default values
- local winfo = {
- ["{ssid}"] = "N/A",
- ["{mode}"] = "N/A",
- ["{chan}"] = 0,
- ["{rate}"] = 0,
- ["{link}"] = 0,
- ["{linp}"] = 0,
- ["{sign}"] = 0
- }
+ -- Default values
+ local winfo = {
+ ["{ssid}"] = "N/A",
+ ["{mode}"] = "N/A",
+ ["{chan}"] = 0,
+ ["{rate}"] = 0,
+ ["{link}"] = 0,
+ ["{linp}"] = 0,
+ ["{sign}"] = 0
+ }
- -- Sbin paths aren't in user PATH, search for the binary
- if iwconfig == "iwconfig" then
- for _, p in ipairs(iwcpaths) do
- local f = io.open(p .. "/iwconfig", "rb")
- if f then
- iwconfig = p .. "/iwconfig"
- f:close()
- break
- end
- end
+ -- Sbin paths aren't in user PATH, search for the binary
+ if iwconfig == "iwconfig" then
+ for _, p in ipairs(iwcpaths) do
+ local f = io.open(p .. "/iwconfig", "rb")
+ if f then
+ iwconfig = p .. "/iwconfig"
+ f:close()
+ break
+ end
end
+ end
- -- Get data from iwconfig where available
- local f = io.popen(iwconfig .." ".. helpers.shellquote(warg) .. " 2>&1")
- local iw = f:read("*all")
- f:close()
-
- -- iwconfig wasn't found, isn't executable, or non-wireless interface
- if iw == nil or string.find(iw, "No such device") then
- return winfo
- end
-
- -- Output differs from system to system, some stats can be
- -- separated by =, and not all drivers report all stats
- winfo["{ssid}"] = -- SSID can have almost anything in it
- helpers.escape(string.match(iw, 'ESSID[=:]"(.-)"') or winfo["{ssid}"])
- winfo["{mode}"] = -- Modes are simple, but also match the "-" in Ad-Hoc
- string.match(iw, "Mode[=:]([%w%-]*)") or winfo["{mode}"]
- winfo["{chan}"] = -- Channels are plain digits
- tonumber(string.match(iw, "Channel[=:]([%d]+)") or winfo["{chan}"])
- winfo["{rate}"] = -- Bitrate can start with a space, we don't want to display Mb/s
- tonumber(string.match(iw, "Bit Rate[=:]([%s]?[%d%.]*)") or winfo["{rate}"])
- winfo["{link}"] = -- Link quality can contain a slash (32/70), match only the first number
- tonumber(string.match(iw, "Link Quality[=:]([%d]+)") or winfo["{link}"])
- winfo["{sign}"] = -- Signal level can be a negative value, don't display decibel notation
- tonumber(string.match(iw, "Signal level[=:]([%-]?[%d]+)") or winfo["{sign}"])
-
- -- Link quality percentage if quality was available
- if winfo["{link}"] ~= 0 then winfo["{linp}"] = math.ceil(winfo["{link}"] / 0.7) end
+ -- Get data from iwconfig where available
+ local f = io.popen(iwconfig .." ".. helpers.shellquote(warg) .. " 2>&1")
+ local iw = f:read("*all")
+ f:close()
+ -- iwconfig wasn't found, isn't executable, or non-wireless interface
+ if iw == nil or string.find(iw, "No such device") then
return winfo
+ end
+
+ -- Output differs from system to system, some stats can be
+ -- separated by =, and not all drivers report all stats
+ winfo["{ssid}"] = -- SSID can have almost anything in it
+ helpers.escape(string.match(iw, 'ESSID[=:]"(.-)"') or winfo["{ssid}"])
+ winfo["{mode}"] = -- Modes are simple, but also match the "-" in Ad-Hoc
+ string.match(iw, "Mode[=:]([%w%-]*)") or winfo["{mode}"]
+ winfo["{chan}"] = -- Channels are plain digits
+ tonumber(string.match(iw, "Channel[=:]([%d]+)") or winfo["{chan}"])
+ winfo["{rate}"] = -- Bitrate can start with a space, we don't want to display Mb/s
+ tonumber(string.match(iw, "Bit Rate[=:]([%s]?[%d%.]*)") or winfo["{rate}"])
+ winfo["{link}"] = -- Link quality can contain a slash (32/70), match only the first number
+ tonumber(string.match(iw, "Link Quality[=:]([%d]+)") or winfo["{link}"])
+ winfo["{sign}"] = -- Signal level can be a negative value, don't display decibel notation
+ tonumber(string.match(iw, "Signal level[=:]([%-]?[%d]+)") or winfo["{sign}"])
+
+ -- Link quality percentage if quality was available
+ if winfo["{link}"] ~= 0 then winfo["{linp}"] = math.ceil(winfo["{link}"] / 0.7) end
+
+ return winfo
end
-- }}}
diff --git a/home/.config/awesome/wi.lua b/home/.config/awesome/wi.lua
index 6aeef342..f297dc2c 100644
--- a/home/.config/awesome/wi.lua
+++ b/home/.config/awesome/wi.lua
@@ -22,32 +22,32 @@ baticon:set_image(beautiful.widget_batfull)
-- Charge %
batpct = wibox.widget.textbox()
vicious.register(batpct, vicious.widgets.bat, function(widget, args)
- bat_state = args[1]
- bat_charge = args[2]
- bat_time = args[3]
+ bat_state = args[1]
+ bat_charge = args[2]
+ bat_time = args[3]
- if args[1] == "-" then
- if bat_charge > 70 then
- baticon:set_image(beautiful.widget_batfull)
- elseif bat_charge > 30 then
- baticon:set_image(beautiful.widget_batmed)
- elseif bat_charge > 10 then
- baticon:set_image(beautiful.widget_batlow)
- else
- baticon:set_image(beautiful.widget_batempty)
- end
- else
- baticon:set_image(beautiful.widget_ac)
- if args[1] == "+" then
- blink = not blink
- if blink then
- baticon:set_image(beautiful.widget_acblink)
- end
- end
- end
+ if args[1] == "-" then
+ if bat_charge > 70 then
+ baticon:set_image(beautiful.widget_batfull)
+ elseif bat_charge > 30 then
+ baticon:set_image(beautiful.widget_batmed)
+ elseif bat_charge > 10 then
+ baticon:set_image(beautiful.widget_batlow)
+ else
+ baticon:set_image(beautiful.widget_batempty)
+ end
+ else
+ baticon:set_image(beautiful.widget_ac)
+ if args[1] == "+" then
+ blink = not blink
+ if blink then
+ baticon:set_image(beautiful.widget_acblink)
+ end
+ end
+ end
- return args[2] .. "%"
-end, nil, "BAT1")
+ return args[2] .. "%"
+ end, nil, "BAT1")
-- Buttons
function popup_bat()
@@ -67,7 +67,7 @@ function popup_bat()
end
naughty.notify { text = "Charge : " .. bat_charge .. "%\nState : " .. state ..
- " (" .. bat_time .. ")", timeout = 5, hover_timeout = 0.5 }
+ " (" .. bat_time .. ")", timeout = 5, hover_timeout = 0.5 }
end
batpct:buttons(awful.util.table.join(awful.button({ }, 1, popup_bat)))
baticon:buttons(batpct:buttons())
@@ -81,30 +81,30 @@ pacicon:set_image(beautiful.widget_pac)
-- Upgrades
pacwidget = wibox.widget.textbox()
vicious.register(pacwidget, vicious.widgets.pkg, function(widget, args)
- if args[1] > 0 then
- pacicon:set_image(beautiful.widget_pacnew)
- else
- pacicon:set_image(beautiful.widget_pac)
- end
+ if args[1] > 0 then
+ pacicon:set_image(beautiful.widget_pacnew)
+ else
+ pacicon:set_image(beautiful.widget_pac)
+ end
- return args[1]
- end, 1801, "Arch S") -- Arch S for ignorepkg
+ return args[1]
+ end, 1801, "Arch S") -- Arch S for ignorepkg
--
-- Buttons
- function popup_pac()
+function popup_pac()
local pac_updates = ""
local f = io.popen("pacman -Sup --dbpath /tmp/pacsync")
if f then
- pac_updates = f:read("*a"):match(".*/(.*)-.*\n$")
+ pac_updates = f:read("*a"):match(".*/(.*)-.*\n$")
end
f:close()
if not pac_updates then
- pac_updates = "System is up to date"
+ pac_updates = "System is up to date"
end
naughty.notify { text = pac_updates }
- end
- pacwidget:buttons(awful.util.table.join(awful.button({ }, 1, popup_pac)))
- pacicon:buttons(pacwidget:buttons())
+end
+pacwidget:buttons(awful.util.table.join(awful.button({ }, 1, popup_pac)))
+pacicon:buttons(pacwidget:buttons())
-- End Pacman }}}
--
-- {{{ VOLUME
@@ -121,17 +121,17 @@ vicious.register(volpct, vicious.widgets.volume, "$1%", nil, "Master")
--
-- Buttons
volicon:buttons(awful.util.table.join(
- awful.button({ }, 1,
- function() awful.util.spawn_with_shell("amixer -q set Master toggle") end),
- awful.button({ }, 4,
- function() awful.util.spawn_with_shell("amixer -q set Master 3+% unmute") end),
- awful.button({ }, 5,
- function() awful.util.spawn_with_shell("amixer -q set Master 3-% unmute") end)
- ))
- volpct:buttons(volicon:buttons())
- volspace:buttons(volicon:buttons())
- -- End Volume }}}
- --
+ awful.button({ }, 1,
+ function() awful.util.spawn_with_shell("amixer -q set Master toggle") end),
+ awful.button({ }, 4,
+ function() awful.util.spawn_with_shell("amixer -q set Master 3+% unmute") end),
+ awful.button({ }, 5,
+ function() awful.util.spawn_with_shell("amixer -q set Master 3-% unmute") end)
+))
+volpct:buttons(volicon:buttons())
+volspace:buttons(volicon:buttons())
+-- End Volume }}}
+--
-- {{{ Start CPU
cpuicon = wibox.widget.imagebox()
cpuicon:set_image(beautiful.widget_cpu)
@@ -148,7 +148,7 @@ mem = wibox.widget.textbox()
vicious.register(mem, vicious.widgets.mem, "Mem: $1% Use: $2MB Total: $3MB Free: $4MB Swap: $5%", 2)
-- End Mem }}}
--
--- {{{ Start Gmail
+-- {{{ Start Gmail
--mailicon = wibox.widget.imagebox(beautiful.widget_mail)
--mailwidget = wibox.widget.textbox()
--gmail_t = awful.tooltip({ objects = { mailwidget },})
@@ -157,7 +157,7 @@ vicious.register(mem, vicious.widgets.mem, "Mem: $1% Use: $2MB Total: $3MB Free:
-- gmail_t:set_text(args["{subject}"])
-- gmail_t:add_to_object(mailicon)
-- return args["{count}"]
--- end, 120)
+-- end, 120)
--
-- mailicon:buttons(awful.util.table.join(
-- awful.button({ }, 1, function () awful.util.spawn("urxvt -e mutt", false) end)
diff --git a/home/.config/awesome/widgets/aurup.lua b/home/.config/awesome/widgets/aurup.lua
index 771d0185..e936f669 100644
--- a/home/.config/awesome/widgets/aurup.lua
+++ b/home/.config/awesome/widgets/aurup.lua
@@ -1,33 +1,33 @@
-- {{{ init environment
local wakka = {}
local capi = {
- mouse = mouse,
- screen = screen
+ mouse = mouse,
+ screen = screen
}
-- {{{ display
-- formats the lines for the notify
local function display()
- local lines = "AUR Updates:\n"
- local f = io.popen("cower -u", "r")
- local s = f:read('*all')
- line = lines .. "\n" .. s .. "\n"
- f:close()
- return line
+ local lines = "AUR Updates:\n"
+ local f = io.popen("cower -u", "r")
+ local s = f:read('*all')
+ line = lines .. "\n" .. s .. "\n"
+ f:close()
+ return line
end
-- }}}
-- }}}
function wakka.addToWidget(mywidget)
- mywidget:add_signal('mouse::enter', function ()
- usage = naughty.notify({
- text = string.format('%s', "monospace", display()),
- timeout = 0,
- hover_timeout = 0.5,
- screen = capi.mouse.screen
- })
- end)
- mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
+ mywidget:add_signal('mouse::enter', function ()
+ usage = naughty.notify({
+ text = string.format('%s', "monospace", display()),
+ timeout = 0,
+ hover_timeout = 0.5,
+ screen = capi.mouse.screen
+ })
+ end)
+ mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
end
-return wakka
\ No newline at end of file
+return wakka
diff --git a/home/.config/awesome/widgets/bitcoin.lua b/home/.config/awesome/widgets/bitcoin.lua
index df0225c1..bfb5b7ae 100644
--- a/home/.config/awesome/widgets/bitcoin.lua
+++ b/home/.config/awesome/widgets/bitcoin.lua
@@ -1,39 +1,39 @@
-- {{{ init environment
local wakka = {}
local capi = {
- mouse = mouse,
- screen = screen
+ mouse = mouse,
+ screen = screen
}
-- {{{ display
-- formats the lines for the notify
local function display()
- local lines = "Bitcoin:\n"
- local tick = "Ask:\n"
- local f = io.popen("bitcoind getbalance", "r")
- local t = io.popen("curl -q -s https://api.bitcoinaverage.com/ticker/global/AUD/ask", "r")
- local s = f:read('*all')
- local g = t:read('*all')
- line = lines .. "\n" .. s .. "\n"
- ticker = tick .. "\n" .. g .. "\n"
- f:close()
- t:close()
--- return line, ticker
- return string.format('%s%s',line, ticker)
+ local lines = "Bitcoin:\n"
+ local tick = "Ask:\n"
+ local f = io.popen("bitcoind getbalance", "r")
+ local t = io.popen("curl -q -s https://api.bitcoinaverage.com/ticker/global/AUD/ask", "r")
+ local s = f:read('*all')
+ local g = t:read('*all')
+ line = lines .. "\n" .. s .. "\n"
+ ticker = tick .. "\n" .. g .. "\n"
+ f:close()
+ t:close()
+ -- return line, ticker
+ return string.format('%s%s',line, ticker)
end
function wakka.addToWidget(mywidget)
- mywidget:add_signal('mouse::enter', function ()
- run_display = display()
- usage = naughty.notify({
- text = string.format('%s', "monospace", run_display),
- timeout = 0,
- hover_timeout = 0.5,
- screen = capi.mouse.screen
- })
- end)
- mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
+ mywidget:add_signal('mouse::enter', function ()
+ run_display = display()
+ usage = naughty.notify({
+ text = string.format('%s', "monospace", run_display),
+ timeout = 0,
+ hover_timeout = 0.5,
+ screen = capi.mouse.screen
+ })
+ end)
+ mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
end
return wakka
diff --git a/home/.config/awesome/widgets/gfxtemp.lua b/home/.config/awesome/widgets/gfxtemp.lua
index 47140c5a..284895ab 100644
--- a/home/.config/awesome/widgets/gfxtemp.lua
+++ b/home/.config/awesome/widgets/gfxtemp.lua
@@ -1,33 +1,33 @@
-- {{{ init environment
local wakka = {}
local capi = {
- mouse = mouse,
- screen = screen
+ mouse = mouse,
+ screen = screen
}
-- {{{ display
-- formats the lines for the notify
local function display()
- local lines = "GFX Temp:\n"
- local f = io.popen("/opt/bin/aticonfig --odgt | grep Temperature | cut -c 43-52", "r")
- local s = f:read('*all')
- line = lines .. "\n" .. s .. "\n"
- f:close()
- return line
+ local lines = "GFX Temp:\n"
+ local f = io.popen("/opt/bin/aticonfig --odgt | grep Temperature | cut -c 43-52", "r")
+ local s = f:read('*all')
+ line = lines .. "\n" .. s .. "\n"
+ f:close()
+ return line
end
-- }}}
-- }}}
function wakka.addToWidget(mywidget)
- mywidget:add_signal('mouse::enter', function ()
- usage = naughty.notify({
- text = string.format('%s', "monospace", display()),
- timeout = 0,
- hover_timeout = 0.5,
- screen = capi.mouse.screen
- })
- end)
- mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
+ mywidget:add_signal('mouse::enter', function ()
+ usage = naughty.notify({
+ text = string.format('%s', "monospace", display()),
+ timeout = 0,
+ hover_timeout = 0.5,
+ screen = capi.mouse.screen
+ })
+ end)
+ mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
end
return wakka
diff --git a/home/.config/awesome/widgets/keydoc.lua b/home/.config/awesome/widgets/keydoc.lua
index 39232b63..3561cbdd 100644
--- a/home/.config/awesome/widgets/keydoc.lua
+++ b/home/.config/awesome/widgets/keydoc.lua
@@ -11,8 +11,8 @@ local modkey = "Mod4"
local beautiful = require("beautiful")
local naughty = require("naughty")
local capi = {
- root = root,
- client = client
+ root = root,
+ client = client
}
module("keydoc")
@@ -23,101 +23,101 @@ local orig = awful.key.new
-- Replacement for awful.key.new
local function new(mod, key, press, release, docstring)
- -- Usually, there is no use of release, let's just use it for doc
- -- if it's a string.
- if press and release and not docstring and type(release) == "string" then
- docstring = release
- release = nil
- end
- local k = orig(mod, key, press, release)
- -- Remember documentation for this key (we take the first one)
- if k and #k > 0 and docstring then
- doc[k[1]] = { help = docstring,
- group = currentgroup }
- end
+ -- Usually, there is no use of release, let's just use it for doc
+ -- if it's a string.
+ if press and release and not docstring and type(release) == "string" then
+ docstring = release
+ release = nil
+ end
+ local k = orig(mod, key, press, release)
+ -- Remember documentation for this key (we take the first one)
+ if k and #k > 0 and docstring then
+ doc[k[1]] = { help = docstring,
+ group = currentgroup }
+ end
- return k
+ return k
end
awful.key.new = new -- monkey patch
-- Turn a key to a string
local function key2str(key)
- local sym = key.key or key.keysym
- local translate = {
- ["#14"] = "#",
- [" "] = "Space",
- }
- sym = translate[sym] or sym
- if not key.modifiers or #key.modifiers == 0 then return sym end
- local result = ""
- local translate = {
- [modkey] = "⊞",
- Shift = "⇧",
- Control = "Ctrl",
- }
- for _, mod in pairs(key.modifiers) do
- mod = translate[mod] or mod
- result = result .. mod .. " + "
- end
- return result .. sym
+ local sym = key.key or key.keysym
+ local translate = {
+ ["#14"] = "#",
+ [" "] = "Space",
+ }
+ sym = translate[sym] or sym
+ if not key.modifiers or #key.modifiers == 0 then return sym end
+ local result = ""
+ local translate = {
+ [modkey] = "⊞",
+ Shift = "⇧",
+ Control = "Ctrl",
+ }
+ for _, mod in pairs(key.modifiers) do
+ mod = translate[mod] or mod
+ result = result .. mod .. " + "
+ end
+ return result .. sym
end
-- Unicode "aware" length function (well, UTF8 aware)
-- See: http://lua-users.org/wiki/LuaUnicode
local function unilen(str)
- local _, count = string.gsub(str, "[^\128-\193]", "")
- return count
+ local _, count = string.gsub(str, "[^\128-\193]", "")
+ return count
end
-- Start a new group
function group(name)
- currentgroup = name
- return {}
+ currentgroup = name
+ return {}
end
local function markup(keys)
- local result = {}
+ local result = {}
- -- Compute longest key combination
- local longest = 0
- for _, key in ipairs(keys) do
- if doc[key] then
- longest = math.max(longest, unilen(key2str(key)))
- end
- end
+ -- Compute longest key combination
+ local longest = 0
+ for _, key in ipairs(keys) do
+ if doc[key] then
+ longest = math.max(longest, unilen(key2str(key)))
+ end
+ end
- local curgroup = nil
- for _, key in ipairs(keys) do
- if doc[key] then
- local help, group = doc[key].help, doc[key].group
- local skey = key2str(key)
- result[group] = (result[group] or "") ..
- ' ' ..
- string.format("%" .. (longest - unilen(skey)) .. "s ", "") .. skey ..
- '' ..
- help .. '\n'
- end
- end
+ local curgroup = nil
+ for _, key in ipairs(keys) do
+ if doc[key] then
+ local help, group = doc[key].help, doc[key].group
+ local skey = key2str(key)
+ result[group] = (result[group] or "") ..
+ ' ' ..
+ string.format("%" .. (longest - unilen(skey)) .. "s ", "") .. skey ..
+ '' ..
+ help .. '\n'
+ end
+ end
- return result
+ return result
end
-- Display help in a naughty notification
local nid = nil
function display()
- local strings = awful.util.table.join(
- markup(capi.root.keys()),
- capi.client.focus and markup(capi.client.focus:keys()) or {})
+ local strings = awful.util.table.join(
+ markup(capi.root.keys()),
+ capi.client.focus and markup(capi.client.focus:keys()) or {})
- local result = ""
- for group, res in pairs(strings) do
- if #result > 0 then result = result .. "\n" end
- result = result ..
- '' ..
- group .. "\n" .. res
- end
- nid = naughty.notify({ text = result,
- replaces_id = nid,
- hover_timeout = 0.1,
- timeout = 30 }).id
+ local result = ""
+ for group, res in pairs(strings) do
+ if #result > 0 then result = result .. "\n" end
+ result = result ..
+ '' ..
+ group .. "\n" .. res
+ end
+ nid = naughty.notify({ text = result,
+ replaces_id = nid,
+ hover_timeout = 0.1,
+ timeout = 30 }).id
end
diff --git a/home/.config/awesome/widgets/namecoin.lua b/home/.config/awesome/widgets/namecoin.lua
index 0cc6026b..245ebd56 100644
--- a/home/.config/awesome/widgets/namecoin.lua
+++ b/home/.config/awesome/widgets/namecoin.lua
@@ -1,33 +1,33 @@
-- {{{ init environment
local wakka = {}
local capi = {
- mouse = mouse,
- screen = screen
+ mouse = mouse,
+ screen = screen
}
-- {{{ display
-- formats the lines for the notify
local function display()
- local lines = "Namecoin:\n"
- local f = io.popen("namecoind getbalance", "r")
- local s = f:read('*all')
- line = lines .. "\n" .. s .. "\n"
- f:close()
- return line
+ local lines = "Namecoin:\n"
+ local f = io.popen("namecoind getbalance", "r")
+ local s = f:read('*all')
+ line = lines .. "\n" .. s .. "\n"
+ f:close()
+ return line
end
-- }}}
-- }}}
function wakka.addToWidget(mywidget)
- mywidget:add_signal('mouse::enter', function ()
- usage = naughty.notify({
- text = string.format('%s', "monospace", display()),
- timeout = 0,
- hover_timeout = 0.5,
- screen = capi.mouse.screen
- })
- end)
- mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
+ mywidget:add_signal('mouse::enter', function ()
+ usage = naughty.notify({
+ text = string.format('%s', "monospace", display()),
+ timeout = 0,
+ hover_timeout = 0.5,
+ screen = capi.mouse.screen
+ })
+ end)
+ mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
end
return wakka
diff --git a/home/.config/awesome/widgets/pacmanup.lua b/home/.config/awesome/widgets/pacmanup.lua
index 51902ae8..f728be7d 100644
--- a/home/.config/awesome/widgets/pacmanup.lua
+++ b/home/.config/awesome/widgets/pacmanup.lua
@@ -1,33 +1,33 @@
-- {{{ init environment
local wakka = {}
local capi = {
- mouse = mouse,
- screen = screen
+ mouse = mouse,
+ screen = screen
}
-- {{{ display
-- formats the lines for the notify
local function display()
- local lines = "Pacman Updates:\n"
- local f = io.popen("pacman -Qqu", "r")
- local s = f:read('*all')
- line = lines .. "\n" .. s .. "\n"
- f:close()
- return line
+ local lines = "Pacman Updates:\n"
+ local f = io.popen("pacman -Qqu", "r")
+ local s = f:read('*all')
+ line = lines .. "\n" .. s .. "\n"
+ f:close()
+ return line
end
-- }}}
-- }}}
function wakka.addToWidget(mywidget)
- mywidget:add_signal('mouse::enter', function ()
- usage = naughty.notify({
- text = string.format('%s', "monospace", display()),
- timeout = 0,
- hover_timeout = 0.5,
- screen = capi.mouse.screen
- })
- end)
- mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
+ mywidget:add_signal('mouse::enter', function ()
+ usage = naughty.notify({
+ text = string.format('%s', "monospace", display()),
+ timeout = 0,
+ hover_timeout = 0.5,
+ screen = capi.mouse.screen
+ })
+ end)
+ mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
end
-return wakka
\ No newline at end of file
+return wakka
diff --git a/home/.config/awesome/widgets/sysinf.lua b/home/.config/awesome/widgets/sysinf.lua
index 2cfa958d..72aa85a0 100644
--- a/home/.config/awesome/widgets/sysinf.lua
+++ b/home/.config/awesome/widgets/sysinf.lua
@@ -1,33 +1,33 @@
-- {{{ init environment
local wakka = {}
local capi = {
- mouse = mouse,
- screen = screen
+ mouse = mouse,
+ screen = screen
}
-- {{{ display
-- formats the lines for the notify
local function display()
- local lines = "AUR Updates:\n"
- local f = io.popen("archey", "r")
- local s = f:read('*all')
- line = lines .. "\n" .. s .. "\n"
- f:close()
- return line
+ local lines = "AUR Updates:\n"
+ local f = io.popen("archey", "r")
+ local s = f:read('*all')
+ line = lines .. "\n" .. s .. "\n"
+ f:close()
+ return line
end
-- }}}
-- }}}
function wakka.addToWidget(mywidget)
- mywidget:add_signal('mouse::enter', function ()
- usage = naughty.notify({
- text = string.format('%s', "monospace", display()),
- timeout = 0,
- hover_timeout = 0.5,
- screen = capi.mouse.screen
- })
- end)
- mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
+ mywidget:add_signal('mouse::enter', function ()
+ usage = naughty.notify({
+ text = string.format('%s', "monospace", display()),
+ timeout = 0,
+ hover_timeout = 0.5,
+ screen = capi.mouse.screen
+ })
+ end)
+ mywidget:add_signal('mouse::leave', function () naughty.destroy(usage) end)
end
return wakka
diff --git a/home/.config/bspwm/bspwmrc b/home/.config/bspwm/bspwmrc
index 798b84d5..4fd7eb53 100755
--- a/home/.config/bspwm/bspwmrc
+++ b/home/.config/bspwm/bspwmrc
@@ -16,13 +16,11 @@ al-compositor --start &
lxpolkit &
# panel
-al-tint2-session &
-sleep 1; start-polybar &
-
+sleep 1; al-polybar-session &
+# Set some bsp specific stuff
bspc monitor -d I II III IV V VI VII VIII IX X
-
bspc config border_width 3
bspc config window_gap 12
bspc config top_padding 18
@@ -37,7 +35,7 @@ bspc config paddingless_monocle true
bspc config pointer_modifier mod1
bspc config click_to_focus true
-bspc config pointer_action1 move
+bspc config pointer_action1 move
bspc config pointer_action2 resize_side
bspc config pointer_action3 resize_corner
diff --git a/home/.config/conky/AL-Default.conkyrc b/home/.config/conky/AL-Default.conkyrc
index 4996f6da..b4de46a1 100644
--- a/home/.config/conky/AL-Default.conkyrc
+++ b/home/.config/conky/AL-Default.conkyrc
@@ -1,81 +1,81 @@
conky.config = {
- --Various settings
+--Various settings
- background = true,
- cpu_avg_samples = 2,
- diskio_avg_samples = 10,
- double_buffer = true,
- if_up_strictness = 'address',
- net_avg_samples = 2,
- no_buffers = true,
- temperature_unit = 'celsius',
- text_buffer_size = 2048,
- update_interval = 1,
- imlib_cache_size = 0,
+background = true,
+cpu_avg_samples = 2,
+diskio_avg_samples = 10,
+double_buffer = true,
+if_up_strictness = 'address',
+net_avg_samples = 2,
+no_buffers = true,
+temperature_unit = 'celsius',
+text_buffer_size = 2048,
+update_interval = 1,
+imlib_cache_size = 0,
- --Placement
+--Placement
- alignment = 'top_right',
- gap_x = 20,
- gap_y = 45,
- minimum_height = 200,
- minimum_width = 230,
- maximum_width = 230,
+alignment = 'top_right',
+gap_x = 20,
+gap_y = 45,
+minimum_height = 200,
+minimum_width = 230,
+maximum_width = 230,
- --Graphical
+--Graphical
- border_inner_margin = 5,
- border_outer_margin = 5,
- border_width = 0,
- default_bar_width = 280,
- default_bar_height = 10,
- default_gauge_height = 25,
- default_gauge_width =40,
- default_graph_height = 40,
- default_graph_width = 153,
- default_shade_color = '#000000',
- default_outline_color = '#000000',
- draw_borders = false,
- draw_graph_borders = true,
- draw_shades = false,
- draw_outline = false,
+border_inner_margin = 5,
+border_outer_margin = 5,
+border_width = 0,
+default_bar_width = 280,
+default_bar_height = 10,
+default_gauge_height = 25,
+default_gauge_width =40,
+default_graph_height = 40,
+default_graph_width = 153,
+default_shade_color = '#000000',
+default_outline_color = '#000000',
+draw_borders = false,
+draw_graph_borders = true,
+draw_shades = false,
+draw_outline = false,
- --Textual
+--Textual
- extra_newline = false,
- format_human_readable = true,
- font = 'Ubuntu Mono:size=11:regular',
- max_text_width = 0,
- max_user_text = 16384,
- override_utf8_locale = true,
- short_units = true,
- top_name_width = 21,
- top_name_verbose = false,
- uppercase = false,
- use_spacer = 'none',
- use_xft = true,
- xftalpha = 1,
+extra_newline = false,
+format_human_readable = true,
+font = 'Ubuntu Mono:size=11:regular',
+max_text_width = 0,
+max_user_text = 16384,
+override_utf8_locale = true,
+short_units = true,
+top_name_width = 21,
+top_name_verbose = false,
+uppercase = false,
+use_spacer = 'none',
+use_xft = true,
+xftalpha = 1,
- --Windows
+--Windows
- own_window = true,
- own_window_argb_value = 50,
- own_window_argb_visual = true,
- own_window_class = 'Conky',
- own_window_colour = '#2B303B',
- own_window_hints = 'undecorated,below,above,sticky,skip_taskbar,skip_pager',
- own_window_transparent = false,
- own_window_title = 'system_conky',
- own_window_type = 'desktop',
+own_window = true,
+own_window_argb_value = 50,
+own_window_argb_visual = true,
+own_window_class = 'Conky',
+own_window_colour = '#2B303B',
+own_window_hints = 'undecorated,below,above,sticky,skip_taskbar,skip_pager',
+own_window_transparent = false,
+own_window_title = 'system_conky',
+own_window_type = 'desktop',
- --Colours
+--Colours
- default_color = '#888888',
- color1 = '#888888',
+default_color = '#888888',
+color1 = '#888888',
};
conky.text = [[
diff --git a/home/.config/conky/ArchLabs.conkyrc b/home/.config/conky/ArchLabs.conkyrc
index 4996f6da..b4de46a1 100644
--- a/home/.config/conky/ArchLabs.conkyrc
+++ b/home/.config/conky/ArchLabs.conkyrc
@@ -1,81 +1,81 @@
conky.config = {
- --Various settings
+--Various settings
- background = true,
- cpu_avg_samples = 2,
- diskio_avg_samples = 10,
- double_buffer = true,
- if_up_strictness = 'address',
- net_avg_samples = 2,
- no_buffers = true,
- temperature_unit = 'celsius',
- text_buffer_size = 2048,
- update_interval = 1,
- imlib_cache_size = 0,
+background = true,
+cpu_avg_samples = 2,
+diskio_avg_samples = 10,
+double_buffer = true,
+if_up_strictness = 'address',
+net_avg_samples = 2,
+no_buffers = true,
+temperature_unit = 'celsius',
+text_buffer_size = 2048,
+update_interval = 1,
+imlib_cache_size = 0,
- --Placement
+--Placement
- alignment = 'top_right',
- gap_x = 20,
- gap_y = 45,
- minimum_height = 200,
- minimum_width = 230,
- maximum_width = 230,
+alignment = 'top_right',
+gap_x = 20,
+gap_y = 45,
+minimum_height = 200,
+minimum_width = 230,
+maximum_width = 230,
- --Graphical
+--Graphical
- border_inner_margin = 5,
- border_outer_margin = 5,
- border_width = 0,
- default_bar_width = 280,
- default_bar_height = 10,
- default_gauge_height = 25,
- default_gauge_width =40,
- default_graph_height = 40,
- default_graph_width = 153,
- default_shade_color = '#000000',
- default_outline_color = '#000000',
- draw_borders = false,
- draw_graph_borders = true,
- draw_shades = false,
- draw_outline = false,
+border_inner_margin = 5,
+border_outer_margin = 5,
+border_width = 0,
+default_bar_width = 280,
+default_bar_height = 10,
+default_gauge_height = 25,
+default_gauge_width =40,
+default_graph_height = 40,
+default_graph_width = 153,
+default_shade_color = '#000000',
+default_outline_color = '#000000',
+draw_borders = false,
+draw_graph_borders = true,
+draw_shades = false,
+draw_outline = false,
- --Textual
+--Textual
- extra_newline = false,
- format_human_readable = true,
- font = 'Ubuntu Mono:size=11:regular',
- max_text_width = 0,
- max_user_text = 16384,
- override_utf8_locale = true,
- short_units = true,
- top_name_width = 21,
- top_name_verbose = false,
- uppercase = false,
- use_spacer = 'none',
- use_xft = true,
- xftalpha = 1,
+extra_newline = false,
+format_human_readable = true,
+font = 'Ubuntu Mono:size=11:regular',
+max_text_width = 0,
+max_user_text = 16384,
+override_utf8_locale = true,
+short_units = true,
+top_name_width = 21,
+top_name_verbose = false,
+uppercase = false,
+use_spacer = 'none',
+use_xft = true,
+xftalpha = 1,
- --Windows
+--Windows
- own_window = true,
- own_window_argb_value = 50,
- own_window_argb_visual = true,
- own_window_class = 'Conky',
- own_window_colour = '#2B303B',
- own_window_hints = 'undecorated,below,above,sticky,skip_taskbar,skip_pager',
- own_window_transparent = false,
- own_window_title = 'system_conky',
- own_window_type = 'desktop',
+own_window = true,
+own_window_argb_value = 50,
+own_window_argb_visual = true,
+own_window_class = 'Conky',
+own_window_colour = '#2B303B',
+own_window_hints = 'undecorated,below,above,sticky,skip_taskbar,skip_pager',
+own_window_transparent = false,
+own_window_title = 'system_conky',
+own_window_type = 'desktop',
- --Colours
+--Colours
- default_color = '#888888',
- color1 = '#888888',
+default_color = '#888888',
+color1 = '#888888',
};
conky.text = [[
diff --git a/home/.config/conky/conky-sessionfile b/home/.config/conky/conky-sessionfile
deleted file mode 100644
index 8b137891..00000000
--- a/home/.config/conky/conky-sessionfile
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/home/.config/conky/saved-sessions b/home/.config/conky/saved-sessions
deleted file mode 100644
index 632a28bd..00000000
--- a/home/.config/conky/saved-sessions
+++ /dev/null
@@ -1 +0,0 @@
-/home/smoke/.config/conky/conky-sessionfile
diff --git a/home/.config/fontconfig/fonts.conf b/home/.config/fontconfig/fonts.conf
index e4536c0b..56208f7d 100644
--- a/home/.config/fontconfig/fonts.conf
+++ b/home/.config/fontconfig/fonts.conf
@@ -1,57 +1,56 @@
-
-
- true
-
-
- true
-
-
- hintslight
-
-
- rgb
-
-
- true
-
-
- lcddefault
-
-
-
-
-
- serif
-
- Ubuntu
-
-
-
- sans-serif
-
- Ubuntu
-
-
-
- sans
-
- Ubuntu
-
-
-
- monospace
-
- Ubuntu Mono
-
-
-
- mono
-
- Ubuntu Mono
-
-
+
+
+ true
+
+
+ true
+
+
+ hintslight
+
+
+ rgb
+
+
+ true
+
+
+ lcddefault
+
+
+
+
+ serif
+
+ Ubuntu
+
+
+
+ sans-serif
+
+ Ubuntu
+
+
+
+ sans
+
+ Ubuntu
+
+
+
+ monospace
+
+ Ubuntu Mono
+
+
+
+ mono
+
+ Ubuntu Mono
+
+
diff --git a/home/.config/i3/config b/home/.config/i3/config
index 516a0481..8b76c181 100644
--- a/home/.config/i3/config
+++ b/home/.config/i3/config
@@ -76,11 +76,12 @@ set $Mon2 HDMI2
# run with reload
exec_always --no-startup-id start-compton
-exec_always --no-startup-id start-polybar
+exec_always --no-startup-id al-polybar-session
exec_always --no-startup-id numlockx on
exec_always --no-startup-id nitrogen --restore
exec_always --no-startup-id xrdb -load ~/.Xresources
-exec_always --no-startup-id pkill trayer; trayer --edge bottom --align left --heighttype pixel --height 18 --widthtype request --SetDockType false --expand true --transparent true --alpha 255
+exec_always --no-startup-id pkill trayer; trayer --edge bottom --align left --heighttype pixel \
+ --height 18 --widthtype request --SetDockType false --expand true --transparent true --alpha 255
# run once
exec --no-startup-id xfsettingsd
diff --git a/home/.config/keypack b/home/.config/keypack
index b5e875f7..c2ecfabf 100755
--- a/home/.config/keypack
+++ b/home/.config/keypack
@@ -1,30 +1,29 @@
#!/usr/bin/env bash
-
-sed -i '/keypack/d' $HOME/.config/openbox/autostart
+# this script will setup the keyring
+# for any user being created from /etc/skel
+# only after a valid internet connection is made
do_setup() {
- KEYS=('AEFB411B072836CD48FF0381AE252C284B5DBA5D'
+ keys=('AEFB411B072836CD48FF0381AE252C284B5DBA5D'
'9E4F11C6A072942A7B3FD3B0B81EB14A09A25EB0'
'35F52A02854DCCAEC9DD5CC410443C7F54B00041')
- sudo dirmngr /dev/null 2>&1; then
- gpg --receive-keys $key
- sudo pacman-key -r $key
+ for k in ${keys[@]}; do
+ if ! sudo pacman-key --list-keys | grep -q $k; then
+ gpg --receive-keys $k
+ sudo pacman-key -r $k
fi
done
sudo pacman-key --populate archlabs
}
-net=$(ping -c1 8.8.8.8 2>&1)
-while ! [[ $net >/dev/null ]]; do
- net=$(ping -c1 8.8.8.8 2>&1)
- sleep 1
+while ! [[ $(ping -c1 8.8.8.8) ]]; do
+ sleep 1
done
do_setup
-
+sed -i '/keypack/d' $HOME/.config/openbox/autostart
rm -f $HOME/.config/keypack
diff --git a/home/.config/neofetch/config b/home/.config/neofetch/config
index 1934f680..f5de9ae5 100644
--- a/home/.config/neofetch/config
+++ b/home/.config/neofetch/config
@@ -38,7 +38,7 @@ print_info() {
# info "Disk" disk
# info "Battery" battery
# info "Font" font
- info "Song" song
+ info "Song" song
# info "Local IP" local_ip
# info "Public IP" public_ip
# info "Users" users
diff --git a/home/.config/obmenu-generator/config.pl b/home/.config/obmenu-generator/config.pl
index 1fe8cadb..cc3e8611 100644
--- a/home/.config/obmenu-generator/config.pl
+++ b/home/.config/obmenu-generator/config.pl
@@ -73,30 +73,30 @@
=cut
our $CONFIG = {
- "editor" => "exo-open",
- "Linux::DesktopFiles" => {
- desktop_files_paths => [
- "/usr/share/applications",
- "/usr/local/share/applications",
- "/usr/share/applications/kde4",
- "$ENV{HOME}/.local/share/applications",
- ],
- gtk_rc_filename => "$ENV{HOME}/.gtkrc-2.0",
- icon_dirs_first => undef,
- icon_dirs_last => undef,
- icon_dirs_second => undef,
- keep_unknown_categories => 1,
- skip_entry => undef,
- skip_filename_re => undef,
- skip_svg_icons => 0,
- strict_icon_dirs => undef,
- substitutions => undef,
- terminalization_format => "%s -e '%s'",
- terminalize => 1,
- unknown_category_key => "other",
- },
- "missing_icon" => "gtk-missing-image",
- "name_keys" => ["Name"],
- "terminal" => "termite",
- "VERSION" => 0.71,
+ "editor" => "exo-open",
+ "Linux::DesktopFiles" => {
+ desktop_files_paths => [
+ "/usr/share/applications",
+ "/usr/local/share/applications",
+ "/usr/share/applications/kde4",
+ "$ENV{HOME}/.local/share/applications",
+ ],
+ gtk_rc_filename => "$ENV{HOME}/.gtkrc-2.0",
+ icon_dirs_first => undef,
+ icon_dirs_last => undef,
+ icon_dirs_second => undef,
+ keep_unknown_categories => 1,
+ skip_entry => undef,
+ skip_filename_re => undef,
+ skip_svg_icons => 0,
+ strict_icon_dirs => undef,
+ substitutions => undef,
+ terminalization_format => "%s -e '%s'",
+ terminalize => 1,
+ unknown_category_key => "other",
+ },
+ "missing_icon" => "gtk-missing-image",
+ "name_keys" => ["Name"],
+ "terminal" => "termite",
+ "VERSION" => 0.71,
}
diff --git a/home/.config/obmenu-generator/schema.pl b/home/.config/obmenu-generator/schema.pl
index 32dbb08f..30b83de2 100644
--- a/home/.config/obmenu-generator/schema.pl
+++ b/home/.config/obmenu-generator/schema.pl
@@ -23,66 +23,66 @@ require "$ENV{HOME}/.config/obmenu-generator/config.pl";
my $editor = $CONFIG->{editor};
our $SCHEMA = [
- # NAME LABEL ICON
- {sep => "ArchLabs"},
- {item => ['exo-open --launch TerminalEmulator', 'Terminal', 'terminal']},
- {item => ['exo-open --launch WebBrowser ', 'Web Browser', 'firefox']},
- {item => ['exo-open --launch FileManager', 'File Manager', 'file-manager']},
+ # Format: NAME, LABEL, ICON
+ {sep => "ArchLabs"},
+ {item => ['exo-open --launch TerminalEmulator', 'Terminal', 'terminal']},
+ {item => ['exo-open --launch WebBrowser ', 'Web Browser', 'firefox']},
+ {item => ['exo-open --launch FileManager', 'File Manager', 'file-manager']},
{sep => undef},
- {cat => ['utility', 'Accessories', 'applications-utilities']},
- {cat => ['development', 'Development', 'applications-development']},
- {cat => ['education', 'Education', 'applications-science']},
- {cat => ['game', 'Games', 'applications-games']},
- {cat => ['graphics', 'Graphics', 'applications-graphics']},
- {cat => ['audiovideo', 'Multimedia', 'applications-multimedia']},
- {cat => ['network', 'Network', 'applications-internet']},
- {cat => ['office', 'Office', 'applications-office']},
- {cat => ['other', 'Other', 'applications-other']},
- {cat => ['settings', 'Settings', 'gnome-settings']},
- {cat => ['system', 'System', 'applications-system']},
+ {cat => ['utility', 'Accessories', 'applications-utilities']},
+ {cat => ['development', 'Development', 'applications-development']},
+ {cat => ['education', 'Education', 'applications-science']},
+ {cat => ['game', 'Games', 'applications-games']},
+ {cat => ['graphics', 'Graphics', 'applications-graphics']},
+ {cat => ['audiovideo', 'Multimedia', 'applications-multimedia']},
+ {cat => ['network', 'Network', 'applications-internet']},
+ {cat => ['office', 'Office', 'applications-office']},
+ {cat => ['other', 'Other', 'applications-other']},
+ {cat => ['settings', 'Settings', 'gnome-settings']},
+ {cat => ['system', 'System', 'applications-system']},
{sep => undef},
- {pipe => ['al-places-pipemenu --recent ~/', 'Places', 'folder']},
+ {pipe => ['al-places-pipemenu --recent ~/', 'Places', 'folder']},
{sep => undef},
- {begin_cat => ['Preferences', 'theme']},
- {begin_cat => ['Openbox', 'openbox']},
- {item => ['obconf', 'Settings Editor', 'theme']},
- {item => ['kickshaw', 'Menu Editor', 'openbox']},
- {item => ['obkey', 'Keybind Editor', 'openbox']},
- {item => ['ob-autostart', 'Autostart Editor', 'openbox']},
- {sep => undef},
- {item => ["exo-open ~/.config/openbox/menu.xml", 'Edit menu.xml', 'text-xml']},
- {item => ["exo-open ~/.config/openbox/rc.xml", 'Edit rc.xml', 'text-xml']},
- {item => ["exo-open ~/.config/openbox/autostart", 'Edit autostart', 'text-xml']},
- {sep => undef},
- {item => ['openbox --restart', 'Openbox Restart', 'openbox']},
- {item => ['openbox --reconfigure', 'Openbox Reconfigure', 'openbox']},
- {end_cat => undef},
- {item => ['xfce4-appearance-settings', 'GTK Appearance', 'preferences-desktop-theme']},
- {item => ['nitrogen', 'Change Wallpaper', 'nitrogen']},
- {sep => undef},
- {pipe => ['al-compositor', 'Compositor', 'compton']},
- {pipe => ['al-polybar-pipemenu', 'Polybar', 'polybar']},
- {pipe => ['al-conky-pipemenu', 'Conky', 'conky']},
- {pipe => ['al-tint2-pipemenu', 'Tint2', 'tint2']},
- {item => ['rofi-theme-selector', 'Rofi Theme', 'theme']},
- {item => ['al-panel-chooser', 'Panel Chooser', 'panel']},
- {sep => undef},
- {item => ['xfce4-settings-manager', 'Xfce4 Settings Manager', 'preferences-desktop']},
- {item => ['pavucontrol', 'Pulseaudio Preferences', 'multimedia-volume-control']},
- {item => ['exo-preferred-applications', 'Preferred Applications', 'preferred-applications']},
- {item => ['arandr', 'Screen Layout Editor', 'display']},
+ {begin_cat => ['Preferences', 'theme']},
+ {begin_cat => ['Openbox', 'openbox']},
+ {item => ['obconf', 'Settings Editor', 'theme']},
+ {item => ['kickshaw', 'Menu Editor', 'openbox']},
+ {item => ['obkey', 'Keybind Editor', 'openbox']},
+ {item => ['ob-autostart', 'Autostart Editor', 'openbox']},
+ {sep => undef},
+ {item => ["exo-open ~/.config/openbox/menu.xml", 'Edit menu.xml', 'text-xml']},
+ {item => ["exo-open ~/.config/openbox/rc.xml", 'Edit rc.xml', 'text-xml']},
+ {item => ["exo-open ~/.config/openbox/autostart", 'Edit autostart', 'text-xml']},
+ {sep => undef},
+ {item => ['openbox --restart', 'Openbox Restart', 'openbox']},
+ {item => ['openbox --reconfigure', 'Openbox Reconfigure', 'openbox']},
+ {end_cat => undef},
+ {item => ['xfce4-appearance-settings', 'GTK Appearance', 'preferences-desktop-theme']},
+ {item => ['nitrogen', 'Change Wallpaper', 'nitrogen']},
+ {sep => undef},
+ {pipe => ['al-compositor', 'Compositor', 'compton']},
+ {pipe => ['al-polybar-pipemenu', 'Polybar', 'polybar']},
+ {pipe => ['al-conky-pipemenu', 'Conky', 'conky']},
+ {pipe => ['al-tint2-pipemenu', 'Tint2', 'tint2']},
+ {item => ['rofi-theme-selector', 'Rofi Theme', 'theme']},
+ {item => ['al-panel-chooser', 'Panel Chooser', 'panel']},
+ {sep => undef},
+ {item => ['xfce4-settings-manager', 'Xfce4 Settings Manager', 'preferences-desktop']},
+ {item => ['pavucontrol', 'Pulseaudio Preferences', 'multimedia-volume-control']},
+ {item => ['exo-preferred-applications', 'Preferred Applications', 'preferred-applications']},
+ {item => ['arandr', 'Screen Layout Editor', 'display']},
{end_cat => undef},
{sep => undef},
- {begin_cat => ['Menu Generator', 'menu-editor']},
- {item => ["$editor ~/.config/obmenu-generator/schema.pl", 'Menu Layout', 'text-x-source']},
- {sep => undef},
- {item => ['obmenu-generator -p', 'Generate a pipe menu', 'menu-editor']},
- {item => ['obmenu-generator -s -c', 'Generate a static menu', 'menu-editor']},
+ {begin_cat => ['Menu Generator', 'menu-editor']},
+ {item => ["$editor ~/.config/obmenu-generator/schema.pl", 'Menu Layout', 'text-x-source']},
+ {sep => undef},
+ {item => ['obmenu-generator -p', 'Generate a pipe menu', 'menu-editor']},
+ {item => ['obmenu-generator -s -c', 'Generate a static menu', 'menu-editor']},
{end_cat => undef},
- {item => ["switchmenu -static", 'Switch Menu', 'menu-editor']},
- {pipe => ['al-kb-pipemenu', 'Display Keybinds', 'cs-keyboard']},
- {pipe => ['al-help-pipemenu', 'Help and Info', 'info']},
- {sep => undef},
- {item => ['i3lock-fancy -p', 'Lock Screen', 'lock']},
- {item => ['oblogout', 'Exit Openbox', 'exit']},
-]
+ {item => ["switchmenu -static", 'Switch Menu', 'menu-editor']},
+ {pipe => ['al-kb-pipemenu', 'Display Keybinds', 'cs-keyboard']},
+ {pipe => ['al-help-pipemenu', 'Help and Info', 'info']},
+ {sep => undef},
+ {item => ['i3lock-fancy -p', 'Lock Screen', 'lock']},
+ {item => ['oblogout', 'Exit Openbox', 'exit']},
+ ]
diff --git a/home/.config/openbox/autostart b/home/.config/openbox/autostart
index d8cd4e80..300f540b 100755
--- a/home/.config/openbox/autostart
+++ b/home/.config/openbox/autostart
@@ -8,11 +8,8 @@ numlockx on &
# restore wallpaper
nitrogen --restore &
-# start tint2 if enabled
-al-tint2-session &
-
-# start polybar if tint2 not enabled (start after al-tint-session)
-sleep 1; start-polybar &
+# start polybar
+sleep 1; al-polybar-session &
# system tray
sleep 1; trayer --edge bottom --align left --widthtype request --SetDockType false --expand true &
@@ -26,10 +23,7 @@ lxpolkit &
# Required for xfce settings to work
xfsettingsd &
-# Launch conky if session exists
-sleep 2; al-conky-session &
-
-# set side user dirs shortcuts for file managers
+# set user shortcuts for file managers
xdg-user-dirs-gtk-update &
$HOME/.config/keypack &
diff --git a/home/.config/openbox/rc.xml b/home/.config/openbox/rc.xml
index a11da344..256307ac 100644
--- a/home/.config/openbox/rc.xml
+++ b/home/.config/openbox/rc.xml
@@ -6,27 +6,27 @@
yes
+ apply -->
noyes
+ under the mouse pointer. when followMouse is enabled -->
no200
+ this many milliseconds (1000 = 1 sec) before moving focus to it -->
no
+ mouse into it, also raise the window -->
Smart
yes
+ the top left corner -->
Mouse
+ 'Active' - where the active window is -->
goriceNLIMC
+ available characters are NDSLIMC, each can occur at most once.
+ N: window icon
+ L: window label (AKA title).
+ I: iconify
+ M: maximize
+ C: close
+ S: shade (roll up/down)
+ D: omnipresent (on all desktops).
+ -->
yesyes
@@ -110,13 +110,11 @@
+ during a session
+ these are default values to use when other ones are not already set
+ by other applications, or saved in your session
+ use obconf if you want to change these without having to log out
+ and back in -->
40
@@ -175,7 +173,6 @@
-
@@ -229,7 +226,7 @@
- yes
+ yesyes
@@ -264,7 +261,6 @@
-
@@ -311,7 +307,6 @@
xbacklight -10
-
@@ -358,7 +353,6 @@
pavucontrol
-
@@ -375,7 +369,6 @@
rofi-gorice
-
@@ -401,7 +394,6 @@
-
@@ -435,7 +427,6 @@
-
@@ -446,7 +437,6 @@
-
@@ -576,11 +566,11 @@
600
+ screen while moving a window, in milliseconds (1000 = 1 second).
+ Set this to 0 to disable warping -->
false
+ switching due to hitting the edge of the screen -->
@@ -615,7 +605,7 @@
yes
- vertical
+ verticalcentercurrent
@@ -830,27 +820,27 @@