___________ __________ _____ ________ ________ .____ ___________ \_ _____/ \______ \ / _ \ / _____/ / _____/ | | \_ _____/ | __) | _/ / /_\ \ / \ ___ / \ ___ | | | __)_ | \ | | \ / | \ \ \_\ \ \ \_\ \ | |___ | \ \___ / |____|_ / \____|__ / \______ / \______ / |_______ \ /_______ / \/ \/ \/ \/ \/ \/ \/

waybar Cheatsheet

← Back to cheatsheets

← Home


waybar is a highly customizable status bar for Wayland compositors. Displays system information, application status, and custom modules with JSON configuration and CSS styling.


Basic Usage

  • waybar - Start waybar
  • waybar -c config.json - Custom config
  • waybar -s style.css - Custom style
  • waybar -l verbose - Verbose logging

Configuration

  • ~/.config/waybar/config - Main config file
  • ~/.config/waybar/style.css - CSS styling
  • JSON format for configuration
  • CSS for styling

Common Modules

  • battery - Battery status
  • clock - Date and time
  • cpu - CPU usage
  • memory - Memory usage
  • network - Network status
  • pulseaudio - Audio control
  • tray - System tray
  • workspaces - Window workspaces
  • window - Active window
  • idle_inhibitor - Idle inhibitor
  • temperature - CPU temperature
  • backlight - Screen brightness
  • disk - Disk usage
  • custom/script - Custom scripts

Module Options

  • format - Display format
  • format-alt - Alternative format
  • tooltip - Tooltip text
  • interval - Update interval (seconds)
  • max-length - Maximum text length
  • min-length - Minimum text length
  • on-click - Click action
  • on-click-middle - Middle click action
  • on-click-right - Right click action
  • on-scroll-up - Scroll up action
  • on-scroll-down - Scroll down action

Common Examples

Basic Config

{
  "layer": "top",
  "position": "top",
  "modules-left": ["hyprland/workspaces"],
  "modules-center": ["clock"],
  "modules-right": ["battery", "network", "pulseaudio", "tray"]
}

Basic waybar configuration.

Clock Module

"clock": {
  "format": "{:%Y-%m-%d %H:%M}",
  "tooltip-format": "{:%A %B %d %Y}"
}

Custom clock format.

Battery Module

"battery": {
  "format": "{capacity}% {icon}",
  "format-charging": "{capacity}% {icon}",
  "states": {
    "warning": 30,
    "critical": 15
  }
}

Battery with warnings.

Custom Script

"custom/script": {
  "format": "{}",
  "exec": "echo 'Custom'",
  "interval": 5
}

Custom script module.

CPU Module

"cpu": {
  "format": "CPU: {usage}%",
  "interval": 2
}

CPU usage display.


Tips

  • Configure in ~/.config/waybar/config
  • Style with CSS in ~/.config/waybar/style.css
  • Use custom/script for custom modules
  • Format strings support placeholders
  • Use on-click for interactive modules
  • Adjust interval for update frequency
  • Essential for Wayland status bars
  • Highly customizable and extensible