Home

Awesome

<div align="center"> <img height="100" src="assets/logo.png"/> <h2> TUI for managing bluetooth on Linux </h2> <img src="https://github.com/user-attachments/assets/13498e90-b2d0-43c8-9dd7-8a9de2734f64"/> </div>

💡 Prerequisites

A Linux based OS with bluez installed.

[!NOTE] You might need to install nerdfonts for the icons to be displayed correctly.

🚀 Installation

📥 Binary release

You can download the pre-built binaries from the release page release page

📦 crates.io

You can install bluetui from crates.io

cargo install bluetui

🐧 Arch Linux

You can install bluetui from the AUR with using an AUR helper.

paru -S bluetui

🐧 Gentoo

You can install bluetui from the lamdness Gentoo Overlay:

sudo eselect repository enable lamdness
sudo emaint -r lamdness sync
sudo emerge -av net-wireless/bluetui

⚒️ Build from source

Run the following command:

git clone https://github.com/pythops/bluetui
cd bluetui
cargo build --release

This will produce an executable file at target/release/bluetui that you can copy to a directory in your $PATH.

🪄 Usage

Global

Tab: Switch between different sections.

j or Down : Scroll down.

k or Up: Scroll up.

s: Start/Stop scanning.

?: Show help.

esc: Dismiss the help pop-up.

ctrl+c or q: Quit the app.

Adapters

p: Enable/Disable the pairing.

o: Power on/off the adapter.

d: Enable/Disable the discovery.

Paired devices

u: Unpair the device.

Space: Connect/Disconnect the device.

t: Trust/Untrust the device.

e: Rename the device.

New devices

p: Pair the device.

Custom keybindings

Keybindings can be customized in the config file $HOME/.config/bluetui/config.toml

toggle_scanning = "s"

[adapter]
toggle_pairing = "p"
toggle_power = "o"
toggle_discovery = "d"

[paired_device]
unpair = "u"
toggle_connect = " "
toggle_trust = "t"
rename = "e"

[new_device]
pair = "p"

⚖️ License

GPLv3