-
Notifications
You must be signed in to change notification settings - Fork 89
Bluetooth
Jake Stanger edited this page Sep 9, 2025
·
2 revisions
Note
For the battery percentage option the experimental features of BlueZ needs to be enabled by adding Experimental = true to the [General] section in /etc/bluetooth/main.conf
Displays the current bluetooth status. Clicking on the widget opens a popout displaying list of available devices and connection controls.
Type:
bluetooth
| Name | Type | Default | Description |
|---|---|---|---|
format.not_found |
string |
`` | Format string to use for the widget button when bluetooth adapter not found. |
format.disabled |
string |
Off |
Format string to use for the widget button when bluetooth adapter is disabled. |
format.enabled |
string |
On |
Format string to use for the widget button when bluetooth adapter is enabled but no devices are connected. |
format.connected |
string |
{device_alias} |
Format string to use for the widget button when bluetooth adapter is enabled and a device is connected. |
format.connected_battery |
string |
{device_alias} • {device_battery_percent}% |
Format string to use for the widget button when bluetooth adapter is enabled, a device is connected and {device_battery_percent} is available. |
popup.scrollable |
boolean |
true |
If true makes the popup scrollable, if false stretchable to show all of its content. |
popup.header |
string |
Enable Bluetooth |
Format string to use for the header of popup window. |
popup.disabled |
string |
{adapter_status} |
Format string to use for the message that is displayed when the adapter is not found or disabled. |
popup.device.header |
string |
{device_alias} |
Format string to use for the header of device box. |
popup.device.header_battery |
string |
{device_alias} |
Format string to use for the header of device box when {device_battery_percent} is available. |
popup.device.footer |
string |
{device_status} |
Format string to use for the footer of device box. |
popup.device.footer_battery |
string |
{device_status} • Battery {device_battery_percent}% |
Format string to use for the footer of device box when {device_battery_percent} is available. |
adapter_status.not_found |
string |
No Bluetooth adapters found |
The value of {adapter_status} formatting token when adapter not found. |
adapter_status.enabled |
string |
Bluetooth enabled |
The value of {adapter_status} formatting token when adapter is enabled. |
adapter_status.enabling |
string |
Enabling Bluetooth... |
The value of {adapter_status} formatting token when adapter is enabling. |
adapter_status.disabled |
string |
Bluetooth disabled |
The value of {adapter_status} formatting token when adapter is disabled. |
adapter_status.disabling |
string |
Disabling Bluetooth... |
The value of {adapter_status} formatting token when adapter is disabling. |
device_status.connected |
string |
Connected |
The value of {device_status} formatting token when device is connected. |
device_status.connecting |
string |
Connecting... |
The value of {device_status} formatting token when device is connecting. |
device_status.disconnected |
string |
Disconnect |
The value of {device_status} formatting token when device is disconnected. |
device_status.disconnecting |
string |
Disconnecting... |
The value of {device_status} formatting token when device is disconnecting. |
icon_size |
integer |
32 |
Size to render icon at (image icons only). |
JSON
{
"end": [
{
"type": "bluetooth",
"icon_size": 32,
"format": {
"not_found": "",
"disabled": " Off",
"enabled": " On",
"connected": " {device_alias}",
"connected_battery": " {device_alias} • {device_battery_percent}%"
},
"popup": {
"scrollable": true,
"header": " Enable Bluetooth",
"disabled": "{adapter_status}",
"device": {
"header": "{device_alias}",
"header_battery": "{device_alias}",
"footer": "{device_status}",
"footer_battery": "{device_status} • Battery {device_battery_percent}%"
}
},
"adapter_status": {
"not_found": "No Bluetooth adapters found",
"enabled": "Bluetooth enabled",
"enabling": "Enabling Bluetooth...",
"disabled": "Bluetooth disabled",
"disabling": "Disabling Bluetooth..."
},
"device_status": {
"connected": "Connected",
"connecting": "Connecting...",
"disconnected": "Disconnect",
"disconnecting": "Disconnecting..."
}
}
]
}TOML
[[end]]
type = "bluetooth"
icon_size = 32
[end.format]
not_found = ""
disabled = " Off"
enabled = " On"
connected = " {device_alias}"
connected_battery = " {device_alias} • {device_battery_percent}%"
[end.popup]
scrollable = true
header = " Enable Bluetooth"
disabled = "{adapter_status}"
[end.popup.device]
header = "{device_alias}"
header_battery = "{device_alias}"
footer = "{device_status}"
footer_battery = "{device_status} • Battery {device_battery_percent}%"
[end.adapter_status]
not_found = "No Bluetooth adapters found"
enabled = "Bluetooth enabled"
enabling = "Enabling Bluetooth..."
disabled = "Bluetooth disabled"
disabling = "Disabling Bluetooth..."
[end.device_status]
connected = "Connected"
connecting = "Connecting..."
disconnected = "Disconnect"
disconnecting = "Disconnecting..."YAML
end:
- type: bluetooth
icon_size: 32
format:
not_found: ""
disabled: " Off"
enabled: " On"
connected: " {device_alias}"
connected_battery: " {device_alias} • {device_battery_percent}%"
popup:
scrollable: true
header: " Enable Bluetooth"
disabled: "{adapter_status}"
device:
header: "{device_alias}"
header_battery: "{device_alias}"
footer: "{device_status}"
footer_battery: "{device_status} • Battery {device_battery_percent}%"
adapter_status:
not_found: "No Bluetooth adapters found"
enabled: "Bluetooth enabled"
enabling: "Enabling Bluetooth..."
disabled: "Bluetooth disabled"
disabling: "Disabling Bluetooth..."
device_status:
connected: "Connected"
connecting: "Connecting..."
disconnected: "Disconnect"
disconnecting: "Disconnecting..."Corn
{
end = [
{
type = "bluetooth"
icon_size = 32
format.not_found = ""
format.disabled = " Off"
format.enabled = " On"
format.connected = " {device_alias}"
format.connected_battery = " {device_alias} • {device_battery_percent}%"
popup.scrollable = true
popup.header = " Enable Bluetooth"
popup.disabled = "{adapter_status}"
popup.device.header = "{device_alias}"
popup.device.header_battery = "{device_alias}"
popup.device.footer = "{device_status}"
popup.device.footer_battery = "{device_status} • Battery {device_battery_percent}%"
adapter_status.not_found = "No Bluetooth adapters found"
adapter_status.enabled = "Bluetooth enabled"
adapter_status.enabling = "Enabling Bluetooth..."
adapter_status.disabled = "Bluetooth disabled"
adapter_status.disabling = "Disabling Bluetooth..."
device_status.connected = "Connected"
device_status.connecting = "Connecting..."
device_status.disconnected = "Disconnect"
device_status.disconnecting = "Disconnecting..."
}
]
}
The following tokens can be used in format strings:
| Token | Description |
|---|---|
{adapter_status} |
The current adapter status. The mapping of a status to a string could be defined using adapter_status config section. |
{device_alias} |
The device name or address if name is not available. |
{device_status} |
The current device status. The mapping of a status to a string could be defined using device_status config section. |
{device_battery_percent} |
The device battery percentage. |
{device_address} |
The device address, e.g 00:11:22:33:FF:EE. |
| Selector | Description |
|---|---|
.bluetooth |
Tray widget button |
.bluetooth.not-found |
Tray widget button when bluetooth adapter not found |
.bluetooth.disabled |
Tray widget button when bluetooth adapter is disabled |
.bluetooth.enabled |
Tray widget button when bluetooth adapter is enabled but no devices are connected |
.bluetooth.connected |
Tray widget button when bluetooth adapter is enabled and a device is connected |
.popup-bluetooth |
Popup box |
.popup-bluetooth .header |
Header box with switch and label |
.popup-bluetooth .header .switch |
Bluetooth enable/disable switch |
.popup-bluetooth .header .label |
Bluetooth enable/disable label |
.popup-bluetooth .disabled |
Box that is only shown in non-enabled states (e.g. disabled, adapter not found, etc) |
.popup-bluetooth .disabled .spinner |
Spinner that is only shown in "connecting" and "disconnecing" states |
.popup-bluetooth .disabled .label |
Label inside disabled container |
.popup-bluetooth .devices |
Devices scrollwindow |
.popup-bluetooth .devices .box |
Box inside devices scrollwindow |
.popup-bluetooth .devices .box .device |
Device box |
.popup-bluetooth .devices .box .device .icon-box |
Device icon box |
.popup-bluetooth .devices .box .device .icon-box .icon |
Device icon content (any type) |
.popup-bluetooth .devices .box .device .icon-box .text-icon |
Device icon content (textual only) |
.popup-bluetooth .devices .box .device .icon-box .image |
Device icon content (image only) |
.popup-bluetooth .devices .box .device .status |
Device status box |
.popup-bluetooth .devices .box .device .status .header-label |
Device header label |
.popup-bluetooth .devices .box .device .status .footer-label |
Device footer label |
.popup-bluetooth .devices .box .device .switch |
Device connect/disconnect switch |
.popup-bluetooth .devices .box .device .spinner |
Spinner that is only shown in "connecting" and "disconnecing" states |
For more information on styling, please see the styling guide.
