waybar-bluetooth(5)
β¨ waybar-bluetooth(5) β¨
okay bestie, welcome to the waybar bluetooth module page πΈ this is a section 5 (File Formats Manual) situation, so grab a strawberry drink and let's get into it π
π NAME π
waybar β bluetooth module. that's it, that's the name, slay.
π¦ DESCRIPTION π¦
The bluetooth module shows you info about a bluetooth controller and all its connections. it's giving "who's connected to me right now" and honestly? iconic. β¨
π CONFIGURATION π
This block is addressed by bluetooth, so that's the key you're vibing with in your config π«Ά
controllerβ typeof: string β use the controller that has the alias you specify. If you don't, a random controller gets picked (chaotic of waybar honestly). Recommended to define this whenever there's more than 1 controller available on your system.format-device-preferenceβ typeof: array β a ranking of bluetooth devices, addressed by their alias. order goes from first displayed to last displayed π if this option isn't defined, or none of the devices in the list are connected, it falls back to showing the last connected device.formatβ typeof: string β default:{status}β the format for how info should be displayed. this one is used when the other formats aren't specified.format-disabledβ typeof: string β used when the displayed controller is disabled.format-offβ typeof: string β used when the displayed controller is turned off.format-onβ typeof: string β used when the displayed controller is turned on with no devices connected.format-connectedβ typeof: string β used when the displayed controller is connected to at least 1 device.format-no-controllerβ typeof: string β used when no bluetooth controller can be found.format-iconsβ typeof: array/object β based on the current battery percentage (peep the EXPERIMENTAL BATTERY PERCENTAGE FEATURE section below), the matching icon gets selected. order goes low to high. it'll only show the current battery percentage icon inside the*-connected-batteryconfig options. or it goes by state if it's an object β and it falls back to the enabled state if its derivatives aren't defined (on,off,connected).rotateβ typeof: integer β positive value rotates the text label (in 90 degree increments).max-lengthβ typeof: integer β the max length, in characters, that the module should display.min-lengthβ typeof: integer β the min length, in characters, that the module should accept.alignβ typeof: float β the alignment of the label inside the module, where0is left-aligned and1is right-aligned. if the module is rotated, it follows the flow of the text, periodt.justifyβ typeof: string β the alignment of the text inside the module's label;'left','right'or'center'define the positioning.on-clickβ typeof: string β command to execute when you click the module.on-click-middleβ typeof: string β command to execute when you middle-click the module using the mousewheel.on-click-rightβ typeof: string β command to execute when you right-click the module.on-scroll-upβ typeof: string β command to execute when you scroll up on the module.on-scroll-downβ typeof: string β command to execute when you scroll down on the module.smooth-scrolling-thresholdβ typeof: double β threshold used when scrolling.tooltipβ typeof: bool β default:trueβ option to disable the tooltip on hover.tooltip-formatβ typeof: string β the format for how info should be displayed in the tooltip. this one is used when the other formats aren't specified.tooltip-format-disabledβ typeof: string β used when the displayed controller is disabled.tooltip-format-offβ typeof: string β used when the displayed controller is turned off.tooltip-format-onβ typeof: string β used when the displayed controller is turned on with no devices connected.tooltip-format-connectedβ typeof: string β used when the displayed controller is connected to at least 1 device.tooltip-format-no-controllerβ typeof: string β used when no bluetooth controller can be found.tooltip-format-enumerate-connectedβ typeof: string β defines how each connected device should be displayed inside thedevice_enumerateformat replacement in the tooltip menu.menuβ typeof: string β action that popups the menu.menu-fileβ typeof: string β location of the menu descriptor file. there needs to be an element of typeGtkMenuwith idmenu.menu-actionsβ typeof: array β the actions corresponding to the buttons of the menu.expandβ typeof: bool β default:falseβ lets this module consume all the left over space dynamically. main character energy fr π
π§ FORMAT REPLACEMENTS π§
these are the little magic words you drop in your formats β¨
{status}β status of the bluetooth device.{icon}β icon, as defined informat-icons.{num_connections}β number of connections the displayed controller has.{controller_address}β address of the displayed controller.{controller_address_type}β address type of the displayed controller.{controller_alias}β alias of the displayed controller.{device_address}β address of the displayed device.{device_address_type}β address type of the displayed device.{device_alias}β alias of the displayed device.{device_enumerate}β shows a list of all connected devices, each on a separate line. define the format of each device with thetooltip-format-enumerate-connectedand/ortooltip-format-enumerate-connected-batteryconfig options. can only be used in the tooltip-related format options.
π¬ EXPERIMENTAL BATTERY PERCENTAGE FEATURE π¬
as of the time of writing, the experimental features of BlueZ need to be turned on for the battery percentage options listed below to work. no cap, you gotta enable those first π«Ά
π FORMAT REPLACEMENT π
{device_battery_percentage}β battery percentage of the displayed device, if available. use it only in the config options defined below.
π CONFIGURATION π
format-connected-batteryβ typeof: string β this format is used when the displayed device provides its battery percentage.tooltip-format-connected-batteryβ typeof: string β this format is used when the displayed device provides its battery percentage.tooltip-format-enumerate-connected-batteryβ typeof: string β defines how each connected device with a battery should be displayed inside thedevice_enumerateformat replacement option. when this config option isn't defined, it falls back on thetooltip-format-enumerate-connectedconfig option.
π EXAMPLES π
first one, the classic β¨
"bluetooth": {
// "controller": "controller1", // specify the alias of the controller if there are more than 1 on the system
"format": " {status}",
"format-disabled": "", // an empty format will hide the module
"format-connected": " {num_connections} connected",
"tooltip-format": "{controller_alias}\t{controller_address}",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}"
}
and the second one, battery edition π
"bluetooth": {
"format": " {status}",
"format-connected": " {device_alias}",
"format-connected-battery": " {device_alias} {device_battery_percentage}%",
// "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%"
}
π STYLE π
these are the CSS selectors you get to dress up, go off π
#bluetooth#bluetooth.disabled#bluetooth.off#bluetooth.on#bluetooth.connected#bluetooth.discoverable#bluetooth.discovering#bluetooth.pairable
aaaand that's the whole page bestie, 10/10 module, no notes π this was waybar-bluetooth(5), dated 2026-02-08 β go forth and pair some devices π¦β¨
π¦ where this page comes from
- ubuntu resolute: waybar 0.15.0-1 Β· MIT
- ubuntu stonking: waybar 0.15.0-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms