waybar-upower(5)

πŸ’– waybar-upower β€” the manual, but make it cute

okay bestie, welcome to waybar-upower(5), aka the File Formats Manual entry for waybar's upower module. sit down, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

waybar β€” upower module. that's it, that's the name, she's simple and she serves.


🌸 DESCRIPTION 🌸

the upower module shows your main battery capacity right there in your bar, and then it puts all your other upower-compatible devices in the tooltip. so like, yes ma'am, your laptop battery is the main character, and everything else is in the group chat (tooltip).


πŸŽ€ CONFIGURATION πŸŽ€

every option, every default, no skips. let's go πŸ’…

  • native-path
  • model
    • typeof: string
    • default: (empty)
    • the battery you wanna monitor, but picked by model instead. heads up tho: this option is ignored if native-path is given, so pick one bestie, don't do both.
    • also obtainable with upower --dump
  • icon-size
    • typeof: integer
    • default: 20
    • how big the icons are. that's the whole job. πŸ¦‹
  • format
    • typeof: string
    • default: {percentage}
    • the text format. yep.
  • format-alt
    • typeof: string
    • default: {percentage} {time}
    • the text format for when you've toggled it. alternate era ✨
  • hide-if-empty
    • typeof: bool
    • default: true
    • controls whether the module is visible when no devices can be found. if nothing's there, she's gone, poof, no vibes.
  • tooltip
    • typeof: bool
    • default: true
    • lets you turn the hover tooltip off. some of y'all are anti-hover, i see you.
  • tooltip-spacing
    • typeof: integer
    • default: 4
    • the spacing between the tooltip's device name and the device battery status. personal space matters 🫢
  • tooltip-padding
    • typeof: integer
    • default: 4
    • the spacing between the tooltip window edge and the tooltip content. cozy margins, we love.
  • on-click
    • typeof: string
    • a command to execute when you click the module. yes, you can make it do a thing.
  • show-icon
    • typeof: bool
    • default: true
    • lets you turn the battery icon off. iconless, minimal, mysterious.
  • menu
    • typeof: string
    • the action that popups the menu.
  • menu-file
    • typeof: string
    • where the menu descriptor file lives. it needs to have an element of type GtkMenu with id menu β€” no GtkMenu, no menu, fr fr.
  • menu-actions
    • typeof: array
    • the actions that correspond to the buttons of the menu.

🧚 FORMAT REPLACEMENTS 🧚

these are the little blorbos you can drop into your format strings:

  • {percentage} β€” the battery capacity, in percentage.
  • {time} β€” an estimated time, either until it's empty or until it's fully charged, depending on what the charging state is doing. she's flexible like that.

πŸ”₯ EXAMPLES πŸ”₯

copy-paste these into your config, no cap:

"upower": {
     "icon-size": 20,
     "hide-if-empty": true,
     "tooltip": true,
     "tooltip-spacing": 20
}
"upower": {
     "native-path": "/org/bluez/hci0/dev_D4_AE_41_38_D0_EF",
     "icon-size": 20,
     "hide-if-empty": true,
     "tooltip": true,
     "tooltip-spacing": 20
}
"upower": {
     "native-path": "battery_sony_controller_battery_d0o27o88o32ofcoee",
     "icon-size": 20,
     "hide-if-empty": true,
     "tooltip": true,
     "tooltip-spacing": 20
}
"upower": {
     "show-icon": false,
     "hide-if-empty": true,
     "tooltip": true,
     "tooltip-spacing": 20
}

πŸ’… STYLE πŸ’…

these are the CSS selectors you can style, and every single one is here, periodt:

  • #upower
  • #upower.charging
  • #upower.discharging
  • #upower.full
  • #upower.empty
  • #upower.unknown-status

and that's the whole page bestie 🫢 go forth, monitor your battery, and remember: if native-path is set, model is getting ignored. iykyk πŸ’œ

this has been waybar-upower(5), dated 2026-02-08, from the File Formats Manual. mwah, bye bestie πŸŒˆπŸ‘‘βœ¨

πŸ“¦ where this page comes from