# Bluetooth
Library for monitoring [bluez](https://www.bluez.org/) over dbus.
## Installation
1. install dependencies
:::code-group
```sh [ Arch]
sudo pacman -Syu meson vala gobject-introspection
```
```sh [ Fedora]
sudo dnf install meson gcc vala valadoc gobject-introspection-devel
```
```sh [ Ubuntu]
sudo apt install meson valac gobject-introspection
```
:::
::: info
Although bluez is not a direct build dependency,
it should be self-explanatory that the daemon is required to be available at runtime.
:::
2. clone repo
```sh
git clone https://github.com/aylur/astal.git
cd astal/lib/bluetooth
```
3. install
```sh
meson setup --prefix /usr build
meson install -C build
```
## Usage
You can browse the [Bluetooth reference](https://aylur.github.io/libastal/bluetooth).
### CLI
There is no CLI for this library, use the one provided by bluez.
```sh
bluetoothctl --help
```
### Library
:::code-group
```js [ JavaScript]
import Bluetooth from "gi://AstalBluetooth"
const bluetooth = Bluetooth.get_default()
for (const device of bluetooth.get_devices()) {
print(device.name)
}
```
```py [ Python]
from gi.repository import AstalBluetooth as Bluetooth
bluetooth = Bluetooth.get_default()
for device in bluetooth.get_devices():
print(device.get_name())
```
```lua [ Lua]
local Bluetooth = require("lgi").require("AstalBluetooth")
local bluetooth = Bluetooth.get_default()
for _, d in ipairs(bluetooth.devices) do
print(d.name)
end
```
```vala [ Vala]
// Not yet documented
```
:::