A simple interactive tool to:
- connect to already paired devices
- disconnect bluetooth devices
- pair new ones
- unpair already paired devices
- turn bluetooth on/off
- blacklist paired devices to not be listed in connection selection
- trust devices
- create alias names for devices
all via dmenu. Should be easily extendable by editing the actions
string.
Edit the Makefile to reflect your preffered installation destination. Then, simply
make install
Warning: sudo make install
will not install correctly. Will be fixed in the future.
Afterwards, invoking bt
will start the menu.
Since bluetoothctl paired-devices
seems to be hugely unreliable in listing paired devices, bthandler has a seperate list for all devices paired through bthandler.
There is also a blacklist available to not display certain devices, which might be useful for autoconnection Bluetooth mice for example.
To clear these files, simply run
make clear
and these files will be reset to their inital, empty state.
Note: If for some reason bluetoothctl paired-devices
works for you dont worry, bthandler lists all devices returned from bluetoothctl
and it's own paired devices list. (Duplicates are not displayed.)
To uninstall you might follow that it's a simple
make uninstall
If you have troubles with an uninstall, additionally run which bt | xargs rm
.
There are four files which bthandler looks at, all located in ~/.config/bt
(also respects $XDG_CONFIG_HOME
, if set):
config
paired
alias
blacklist
They're configurable via bt edit <file>
or by navigating to the corresponding location manually.
A shell file that gets read at the beginning of every invocation of bt. Mostly used to set variables such as the scan period, whether to automatically trust devices, etc.. Also defines the location of the following three files.
A hardcoded list of all paired devices. Gets updated even if devices are not paired through bt. This exists mostly because of historical unreliable output of bluetoothctl paired-devices
. The syntax is exactly the same as that command:
Device <MAC-adress> <name>
With spaces as delimiter.
A file where one can manually set alias names for specific devices. Useful if multiple devices of the same device name are used on the PC. The syntax is:
<MAC-adress> <new alias name>
With spaces as delimiter.
A list of devices not to list in bt even though they're paired. Useful for devices that usually automatically connect. The syntax is:
<alias name/name>
Where the alias name takes precedence if present.
consider turning off AUTOSCAN
. If there are many devices around you autoscanning will add them all to your bluetoothctl devices
list. Every device on that list get's checked whether it's connected at startup.
This should only be an issue if bluetoothctl scan off
is unreliable for you though.
- start scanning for new devices immediately at execution to save time when pairing new devices
- auto-trust newly paired devices/trust device via dmenu (changeable via the AUTOTRUST variable in the beginning of bt, menu display adjusts accordingly)
- blacklist devices via dmenu (action is hidden, but typing
blacklist
as your choice will reveal the menu) - update bthandler internal paired devices list if something new shows up via
bluetoothctl paired-devices
not already listed in the paired devices file - only show disconnect option if devices are already connected
- only list connected devices to disconnect from, not all paired devices
- only list not trusted devices in trust menu
- selecting already connected device disconnects it
- create alias for devices via dmenu