
impala is a great wifi TUI but it talks to iwd. If your distro already runs NetworkManager (most do — GNOME, KDE, Ubuntu, Fedora, Pop, …), you can't drop impala in without ripping the stack out. wlctl keeps the impala UX and points it at NetworkManager, so it just works alongside what your DE is already doing.
- Station and Access Point modes
- WPA Enterprise (802.1X)
- Multiple adapters — pick which one to drive, switch on the fly
wlctl doctor — walks rfkill, driver, association, IP, DHCP, gateway, DNS, internet
- QR code sharing, hidden networks, speed test
- Vim keys, every binding configurable
# crates.io
cargo install wlctl
# Arch (AUR)
yay -S wlctl-bin
# from source
git clone https://github.com/aashish-thapa/wlctl && cd wlctl
cargo build --release
Needs NetworkManager running. Nerd Fonts optional, for icons.
wlctl to launch the TUI. wlctl doctor when something's broken and you want to know which layer.
| Action |
Key |
| Switch panel |
Tab / Shift+Tab |
| Move |
j k / arrows |
| Switch adapter mode (Station ↔ AP) |
Ctrl+R |
| Quit |
q / Ctrl+C |
| Dismiss popup |
Esc |
| Action |
Key |
| Connect / disconnect |
Space or Enter |
| Toggle auto-connect |
t |
| Forget network |
d |
| Show all |
a |
| QR share |
p |
Speed test (needs speedtest-cli) |
Shift+S |
| Action |
Key |
| Connect / disconnect |
Space or Enter |
| Connect to hidden |
h |
| Show all |
a |
| Action |
Key |
| Adapter info |
i |
| Toggle power |
o |
| Doctor |
? |
| Action |
Key |
| Start AP |
n |
| Stop AP |
x |
~/.config/wlctl/config.toml. All keys rebindable.
switch = "r"
mode = "station"
esc_quit = false
[device]
infos = "i"
toggle_power = "o"
doctor = "?"
[station]
toggle_scanning = "s"
[station.known_network]
toggle_autoconnect = "t"
remove = "d"
show_all = "a"
share = "p"
speed_test = "S"
[station.new_network]
show_all = "a"
connect_hidden = "h"
[access_point]
start = "n"
stop = "x"
|
impala |
wlctl |
| Backend |
iwd |
NetworkManager |
| Coexists with default desktop network stack |
no |
yes |
| Multi-adapter selector |
— |
yes |
doctor subcommand |
— |
yes |
Forked from pythops/impala. UI and architecture are theirs.
GPLv3