aboutsummaryrefslogtreecommitdiff
path: root/.config/luastatus-scripts-dwm/wireless.lua
diff options
context:
space:
mode:
authorVidhu Kant Sharma <vidhukant@vidhukant.com>2025-05-14 22:50:39 +0530
committerVidhu Kant Sharma <vidhukant@vidhukant.com>2025-05-14 22:50:39 +0530
commit05da0e10926d4ade3b10a55999a0ed1b797caf65 (patch)
tree97cf6a33e5ce90d57e6894b748b1e18ad690643e /.config/luastatus-scripts-dwm/wireless.lua
parentf9c150cf57732bb7b42c6b2a5db70039161f8c6d (diff)
added luastatus configHEADmaster
Diffstat (limited to '.config/luastatus-scripts-dwm/wireless.lua')
-rw-r--r--.config/luastatus-scripts-dwm/wireless.lua56
1 files changed, 56 insertions, 0 deletions
diff --git a/.config/luastatus-scripts-dwm/wireless.lua b/.config/luastatus-scripts-dwm/wireless.lua
new file mode 100644
index 0000000..34300ad
--- /dev/null
+++ b/.config/luastatus-scripts-dwm/wireless.lua
@@ -0,0 +1,56 @@
+local MIN_DBM, MAX_DBM = -90, -20
+local NGAUGE = 5
+local COLOR_DIM = '#709080'
+
+local function round(x)
+ return math.floor(x + 0.5)
+end
+
+local function make_wifi_gauge(dbm)
+ if dbm < MIN_DBM then dbm = MIN_DBM end
+ if dbm > MAX_DBM then dbm = MAX_DBM end
+ local nbright = round(NGAUGE * (1 - 0.7 * (MAX_DBM - dbm) / (MAX_DBM - MIN_DBM)))
+
+ if nbright == 0 then
+ return "󰤭"
+ elseif nbright == 1 then
+ return "󰤯"
+ elseif nbright == 2 then
+ return "󰤟"
+ elseif nbright == 3 then
+ return "󰤢"
+ elseif nbright == 4 then
+ return "󰤥"
+ else
+ return "󰤨"
+ end
+end
+
+widget = {
+ plugin = 'network-linux',
+ opts = {
+ wireless = true,
+ timeout = 10,
+ },
+ cb = function(t)
+ if not t then
+ return nil
+ end
+ local r = {}
+ for iface, params in pairs(t) do
+ if params.wireless then
+ local x = ""
+ if params.wireless.signal_dbm then
+ x = x .. make_wifi_gauge(params.wireless.signal_dbm) .. " "
+ end
+ if params.wireless.ssid then
+ x = x .. params.wireless.ssid
+ end
+ return x
+ elseif iface ~= 'lo' and (params.ipv4 or params.ipv6) then
+ r[#r + 1] = string.format('[%s]', iface)
+ end
+ end
+ return r
+ end,
+}