Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

pythops/bluetui

Repository files navigation

TUI for managing bluetooth on Linux

πŸ’‘ 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 extra repository:

pacman -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

🧰 X-CMD

If you are a user of x-cmd, you can run:

x install 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 or l: Scroll down between different sections.

shift+Tab or h: Scroll up between different sections.

j or Down : Scroll down.

k or Up: Scroll up.

s: Start/Stop scanning.

ctrl+c or q: Quit the app. (Note: <Esc> can also quit if esc_quit = true is set in config)

Adapters

p: Enable/Disable the pairing.

o: Power on/off the adapter.

d: Enable/Disable the discovery.

Paired devices

u: Unpair the device.

Space or Enter: Connect/Disconnect the device.

t: Trust/Untrust the device.

f: Favorite/Unfavorite the device.

e: Rename the device.

New devices

Space or Enter: Pair the device.

Config

Keybindings can be customized in the default config file location $HOME/.config/bluetui/config.toml or from a custom path with -c

# Possible values: "Legacy", "Start", "End", "Center", "SpaceAround", "SpaceBetween"
layout = "SpaceAround"
# Window width
# Possible values: "auto" or a positive integer
width = "auto"
toggle_scanning = "s"
esc_quit = false # Set to true to enable Esc key to quit the app
[adapter]
toggle_pairing = "p"
toggle_power = "o"
toggle_discovery = "d"
[paired_device]
unpair = "u"
toggle_trust = "t"
toggle_favorite = "f"
rename = "e"

Contributing

  • No AI slop.
  • Only submit a pull request after having a prior issue or discussion.
  • Keep PRs small and focused.

🎁 Note

If you like bluetui and you are looking for a TUI to manage WiFi, checkout out impala

βš–οΈ License

GPLv3

✍️ Credits

Bluetui logo: Marco Bulgarelli

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /