If you use netctl
or another network manager which doesn't provide any good tray icon or if you want something more native than nm-applet
, this is for you.
First of all you should clone repository in your awesome config directory
git clone [email protected]:pltanton/net_widgets.git ~/.config/awesome/net_widgets
Then, paste this in your 'rc.lua'
local net_widgets = require("net_widgets")
Widget is simple as hell. Icon changes depend on signal level, if you put mouse pointer on it you can see some information about current connection.
Create widget by
net_wireless = net_widgets.wireless({interface="wlp1s0"})
After that just place net_wireless
wherever you want. You can also change widget update timeout. By default it is timeout=5
, interface=wlan0
To display metrics about ESSID, bit rate and more, make sure that you have iw
installed on your system.
If network is disconnected icon changes color to red. You can set multiple interfaces to indicate it. It also have got popup.
To create widget put in rc.lua
net_wired = net_widgets.indicator({
interfaces = {"enp2s0", "another_interface", "and_another_one"},
timeout = 5
})
By default interfaces={"enp2s0"}
, timeout=5
This indicator shows up when there is no internet access (detected by trying to connect to 8.8.8.8
). Set showconnected
to true
if you're extra precautionary about your internet connection and don't mind seeing a green check mark almost all the time.
net_internet = net_widgets.internet({indent = 0, timeout = 5})
You can change font to monospace by font
option.
Set popup_signal=true
.
Just set onclick
argument, for example
net_wireless = net_widgets.wireless({interface = "wlp3s0",
onclick = terminal .. " -e sudo wifi-menu" })
Just set widget
argument as false
to get table or some widget layout to change default layout, for example
net_wireless = net_widgets.wireless({interface = "wlp3s0",
widget = false, })
or
net_wireless = net_widgets.wireless({interface = "wlp3s0",
widget = wibox.layout.fixed.vertical(), })
By default widget = wibox.layout.fixed.horizontal()
Just set indent
net_wireless = net_widgets.wireless({interface = "wlp3s0",
indent = 0, })
or
net_wireless = net_widgets.wireless({interface = "wlp3s0",
indent = 5, })
By default indent = 3
Helpful if the widget is placed on the bottom bar and you want the pop-up to appear near the widget rather than on top of the screen.
net_wireless = net_widgets.wireless({interface = "wlp3s0",
popup_position = "bottom_right" })