Compare commits

...

2 Commits

Author SHA1 Message Date
don philipe 04541118c8 Add wifi info tooltip 2026-04-12 11:33:27 +02:00
don philipe 4c4dbb0efd Add slash separator 2026-04-12 11:32:53 +02:00
+34 -2
View File
@@ -1,3 +1,6 @@
local awful = require("awful")
local beautiful = require("beautiful")
local gears = require("gears")
local vicious = require("vicious")
local wibox = require("wibox")
@@ -6,10 +9,19 @@ local icon_excellent
local icon_good
local icon_ok
local icon_none
local color = beautiful.bg_focus
local info = {}
-- Create layout with widgets
local widget = wibox.widget {
{
id = "sep",
widget = wibox.widget.separator,
shape = gears.shape["parallelogram"],
color = color,
forced_width = 8
},
{
id = "icon",
widget = wibox.widget.imagebox,
@@ -22,6 +34,8 @@ local widget = wibox.widget {
},
layout = wibox.layout.align.horizontal
}
local container = wibox.container.margin(wibox.container.margin(widget, 3), 3)
vicious.register(widget.text, vicious.widgets.wifi,
function (w, args)
if args["{ssid}"] ~= "N/A" then
@@ -34,6 +48,7 @@ vicious.register(widget.text, vicious.widgets.wifi,
else
widget.icon:set_image(icon_none)
end
info = args
else
widget.icon:set_image(icon_wifi)
end
@@ -41,7 +56,7 @@ vicious.register(widget.text, vicious.widgets.wifi,
end, 2, "wlp64s0")
-- Widget function that is available from the outside.
function widget.set_icons(wifi, excellent, good, ok, none)
function container.set_icons(wifi, excellent, good, ok, none)
icon_wifi = wifi
icon_excellent = excellent
icon_good = good
@@ -49,4 +64,21 @@ function widget.set_icons(wifi, excellent, good, ok, none)
icon_none = none
end
return widget
awful.tooltip(
{
objects = { widget },
mode = "outside",
align = "right",
fg = "white",
margin_leftright = 10,
margin_topbottom = 10,
timer_function = function()
return info["{ssid}"] .. "\n Channel: " .. info["{chan}"] .. "\n Rate: " .. info["{rate}"] .. "Mb/s\n Frequency: " .. info["{freq}"] .. "MHz"
end,
preferred_positions = {"right", "left", "top", "bottom"}
}
)
return container
-- scan networks via `sudo iw dev wlp64s0 scan | grep SSID:`