Skip to content
/ bzmenu Public

Menu-driven Bluetooth management interface for Linux

License

Notifications You must be signed in to change notification settings

e-tho/bzmenu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bzmenu

Ko-fi Liberapay

About

bzmenu (BlueZ Menu) allows using your menu of choice to manage Bluetooth.

Prerequisites

BlueZ must be installed, along with either a supported launcher or any stdin mode launcher.

Note

To ensure proper icon display, you can either install nerdfonts for font-based icons (usage is optional) or use the --icon xdg flag for image-based icons from your XDG theme.

Compatibility

Use custom mode if your launcher is not supported.

Installation

Build from source

Run the following commands:

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

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

Nix

Add the flake as an input:

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

Install the package:

{ inputs, ... }:
{
  environment.systemPackages = [ inputs.bzmenu.packages.${pkgs.system}.default ];
}

Usage

Supported menus

Specify an application using -m or --menu flag.

bzmenu -m fuzzel

Custom menus

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

bzmenu -m custom --menu-command "my_custom_launcher --flag"

Prompt and Placeholder support

Use either {prompt} or {placeholder} as the value for the relevant flag in your command; each will be replaced with the appropriate text as needed. They return the same string, with {prompt} adding a colon at the end.

bzmenu -m custom --menu-command "my_custom_launcher --prompt-flag '{prompt}'" # or --placeholder-flag '{placeholder}'

Example to enable all features

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

bzmenu -m custom --menu-command "fuzzel -d -p '{prompt}'"

Available Options

Flag Description Supported Values Default Value
-m, --menu Specify the menu application to use. dmenu, rofi, fuzzel, walker, custom dmenu
--menu-command Specify the command to use when custom menu 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

License

GPLv3

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

About

Menu-driven Bluetooth management interface for Linux

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published