1
3
Fork
You've already forked menu-iwd
0
This is a Rofi/Wofi (dmenu) interface for iwd for use connecting to networks. It comes with a dbus-based helper script to provide raw SSIDs. This is to ease the formatting required because SSIDs can contain any data.
  • Shell 61.2%
  • Python 38.8%
2026年06月15日 16:58:32 -05:00
fuzzel_iwd.sh add fuzzel 2022年03月06日 10:51:55 -06:00
fzf_iwd.sh commit 2026年06月15日 16:58:32 -05:00
iwd-scan.py fixup 2026年06月15日 16:58:10 -05:00
LICENSE Initial commit 2021年12月08日 20:41:35 -06:00
README fixup 2026年06月15日 16:58:10 -05:00
rofi_iwd.sh fixup 2026年06月15日 16:58:10 -05:00
screenshot.png updates 2022年05月31日 15:15:37 -05:00
wofi_iwd.sh cleaned up scripts 2022年02月03日 10:57:34 -06:00

menu-iwd
======
This is a dmenu-compatible interface for iwd for use connecting to networks. It
comes with a dbus-based helper script to provide raw SSIDs. This is to ease the
formatting required because SSIDs can contain any data.
This tool is meant to run in Sway/wlroots based Linux environments. However,
it can also be run from the commandline with the optional fzf_ symlink.
![screenshot](screenshot.png)
Why
======
This was made to make the wifi scanning and connecting experience for IWD users
more intuitive. A simple menu selection interface is all I need to quickly
connect to WIFIs. I also wanted to ensure full data and UTF-8 support for SSID
connection, hence the additional scanning script.
Usage
======
Simply run the wofi-iwd.sh script to issue an IWD scan to the target
interface. It will prompt for PSK passwords if the network is protected.
Dependencies
======
iwd 
zsh 
python3 
python3-dbus might be called `python-dbus` on Arch I don't remember
some menu backend — wofi, rofi, dmenu, fuzzel, or fzf 
fyi (optional, notifications) — https://codeberg.org/dnkl/fyi/ 
Installation
======
Make sure iwd is running first (however your init system handles it).
You can clone this to $HOME/bin or some place accessible to you PATH and
launch it from a keyboard shortcut or using a waybar or yambar module.
 git clone <repo> ~/.local/bin/menu-iwd 
 cd ~/.local/bin/menu-iwd 
 chmod +x rofi_iwd.sh iwd-scan.py 
 
Symlink for your preferred backend (pick one or many): 
 
 ln -s rofi_iwd.sh wofi_iwd.sh 
 ln -s rofi_iwd.sh dmenu_iwd.sh 
 ln -s rofi_iwd.sh fuzzel_iwd.sh 
 ln -s rofi_iwd.sh fzf_iwd.sh # terminal mode 
 
The script detects its own name and dispatches to the correct backend. 
 
Usage 
===== 
 
Run directly or bind to a key in your compositor: 
 
 # sway / i3 
 bindsym $mod+w exec ~/.local/bin/menu-iwd/rofi_iwd.sh 
 
It will scan for networks, show signal strength and security type, and prompt 
for a password if needed. Select a network, done. 
 
For terminal use without a Wayland compositor: 
 
 ./fzf_iwd.sh 
 
License
======
./LICENSE