SkillAgentSearch skills...

Iwmenu

Launcher-driven Wi-Fi manager for Linux

Install / Use

/learn @e-tho/Iwmenu
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <h1>iwmenu</h1> <p> <a href="https://ko-fi.com/e_tho"><img src="https://img.shields.io/badge/Ko--fi-F16061?style=flat&logo=ko-fi&logoColor=white" alt="Ko-fi"></a> <a href="https://liberapay.com/e-tho"><img src="https://img.shields.io/badge/Liberapay-F6C915?style=flat&logo=liberapay&logoColor=333333" alt="Liberapay"></a> </p> <p> <img src="./assets/demo.gif" alt="Demonstration of iwmenu: a launcher-driven Wi-Fi manager for Linux" width="800"> </p> <p> <a href="https://github.com/e-tho/bzmenu" title="Try bzmenu: a launcher-driven Bluetooth manager for Linux"><img src="https://custom-icon-badges.demolab.com/badge/bzmenu-1565C0?style=for-the-badge&logo=bluetooth&logoSource=feather&logoColor=white" alt="bzmenu: a launcher-driver Bluetooth manager for Linux" /></a> <a href="https://github.com/e-tho/pwmenu" title="Try pwmenu: a launcher-driven audio manager for Linux"><img src="https://custom-icon-badges.demolab.com/badge/pwmenu-DC6338?style=for-the-badge&logo=volume-2&logoSource=feather&logoColor=white" alt="pwmenu: a launcher-driven audio manager for Linux" /></a> </p> </div>

About

iwmenu (iNet Wireless Menu) manages Wi-Fi through your launcher of choice.

Dependencies

Build

  • Rust (includes cargo)

Runtime

  • iwd – iNet Wireless Daemon
  • dbus – For communicating with iwd
  • A launcher with stdin mode support

Optional

  • NerdFonts – For font-based icons (default mode)
  • XDG icon theme – For image-based icons (used with -i xdg, included with DEs or can be installed manually)
  • Notification daemon – For system notifications (e.g. dunst or fnott, included with DEs or can be installed manually)

Compatibility

| Launcher | Font Icons | XDG Icons | Notes | | ------------------------------------------- | :--------: | :-------: | ------------------------------------------------------------------------------------- | | Fuzzel | ✓ | ✓ | XDG icons supported since v1.13.0 | | Rofi | ✓ | ⧖ | XDG icon support pending via PR #2122 | | dmenu | ✓ | ✗ | No XDG icon support | | bemenu | ✓ | ✗ | No XDG icon support | | Custom (stdin) | ✓ | ? | Depends on launcher implementation |

[!TIP] If your preferred launcher isn't directly supported, use custom mode with appropriate command flags.

Installation

Build from source

Run the following commands:

git clone https://github.com/e-tho/iwmenu
cd iwmenu
cargo build --release

An executable file will be generated at target/release/iwmenu, which you can then copy to a directory in your $PATH.

Nix

Install from nixpkgs:

{ pkgs, ... }:
{
  environment.systemPackages = [ pkgs.iwmenu ];
}
<details> <summary>Alternative: Install from flake</summary>

Add flake as an input:

inputs.iwmenu.url = "github:e-tho/iwmenu";

Install from flake:

{ inputs, ... }:
{
  environment.systemPackages = [ inputs.iwmenu.packages.${pkgs.system}.default ];
}
</details>

Alpine Linux

Install from the testing repository:

apk add iwmenu

Arch Linux

Install from AUR with your favorite helper:

paru -S iwmenu # or iwmenu-git

Gentoo

Install from GURU overlay:

sudo eselect repository enable guru
sudo emaint sync -r guru
sudo emerge -a net-wireless/iwmenu

Usage

Supported launchers

Specify an application using -l or --launcher flag.

iwmenu -l fuzzel

Custom launchers

Specify custom as the launcher and set your command using the --launcher-command flag. Ensure your launcher supports stdin mode, and that it is properly configured in the command.

iwmenu -l custom --launcher-command "my_custom_launcher --flag"

Prompt and Placeholder support

Use {hint} as the value for the relevant flag in your command; it will be substituted with the appropriate text as needed.

iwmenu -l custom --launcher-command "my_custom_launcher --placeholder-flag '{hint}'" # or --prompt-flag '{hint}:'

Password obfuscation support

To enable support for password obfuscation, set the appropriate flag via {password_flag:--my-password-flag}.

iwmenu -l custom --launcher-command "my_custom_launcher {password_flag:--my-password-flag}"

Example to enable all features

This example demonstrates enabling all available features in custom mode with fuzzel.

iwmenu -l custom --launcher-command "fuzzel -d --placeholder '{hint}' {password_flag:--password}"

Available Options

| Flag | Description | Supported Values | Default Value | | -------------------- | ------------------------------------------------------------------ | --------------------------------------------- | ------------- | | -l, --launcher | Specify the launcher to use (required). | dmenu, rofi, fuzzel, bemenu, custom | None | | --launcher-command | Specify the command to use when custom launcher is set. | Any valid shell command | None | | -i, --icon | Specify the icon type to use. | font, xdg | font | | -s, --spaces | Specify icon to text space count (font icons only). | Any positive integer | 1 | | --interactive | Stay in menus after actions and return to previous menu on escape. | N/A | false |

Contributing

Please see CONTRIBUTING.md for contribution guidelines.

License

This project is licensed under the terms of the GNU General Public License version 3, or (at your option) any later version.

Support this project

If you find this project useful and would like to help me dedicate more time to its development, consider supporting my work.

Ko-fi Liberapay

Related Skills

View on GitHub
GitHub Stars441
CategoryDevelopment
Updated2d ago
Forks12

Languages

Rust

Security Score

100/100

Audited on Mar 30, 2026

No findings