Skip to main content

Waybar Status Bar

Waybar is the status bar used in Config-Sway, displaying system information, workspaces, and custom widgets. It’s configured specifically for Sway with a modular design and theme integration.

Configuration Files

Waybar uses three main configuration files:
The theme switcher generates config-sway.jsonc by adapting config.jsonc from theme directories, replacing Hyprland-specific modules with Sway equivalents.

Bar Configuration

Basic Settings

~/.config/waybar/config.jsonc
  • Layer: top - Appears above other windows
  • Height: 25px with 5px margins on three sides
  • Auto-reload: Style changes apply immediately

Module Layout

Waybar modules are organized into 7 groups:

Left Side Groups

Group 1 - System & Workspaces:
Group 2 - Media Player:
Group 3 - Package Updates:

Center Group

Right Side Groups

Core Modules

~/.config/waybar/config.jsonc
  • Click to switch: Clicking a workspace switches to it
  • All outputs: Shows workspaces from all monitors
  • Persistent: Always shows at least 3 workspaces
Displays the title of the currently focused window, truncated to 18 characters.
  • Primary format: 14:30 - Mar 05
  • Tooltip: Shows full calendar
  • Click to toggle: Switches to date format

CPU Usage

Memory Usage

Disk Usage

Temperature

Click on CPU or temperature modules to open btop for detailed system monitoring.
Features:
  • Real-time bandwidth monitoring
  • Different icons for WiFi/Ethernet/Disconnected
  • Tooltip shows detailed connection info
  • Click to mute/unmute
  • Bluetooth indicator when using BT audio
  • Dynamic icon based on volume level
Shows screen brightness with dynamic icons (9 levels).
States:
  • Good: Above 95%
  • Warning: Below 30% (changes color)
  • Critical: Below 15% (animated alert)
  • Click to open Bluetooth manager
  • Shows battery level for connected devices
  • Signal strength indicators

Custom Modules

MPRIS Player Status

Custom Media Buttons

Provides previous/play-pause/next controls for Spotify and YouTube Music.

Official Repository Updates

AUR Updates

  • Pacman: Checks every hour, click to update
  • AUR: Checks every 30 minutes
A simple branding element showing the Arch logo.

Styling

Color Scheme

~/.config/waybar/colors.css
Based on Catppuccin Mocha palette. The colors.css file is updated by the theme switcher.

Module Styling

~/.config/waybar/style.css

Grouped Modules

Each group has rounded borders and consistent spacing.

Workspace Buttons

Workspace buttons use smooth cubic-bezier transitions for an elegant visual effect.

Custom Scripts

Waybar includes several helper scripts:

Theme Integration

When switching themes with Super + A:
  1. Colors are copied from <theme>/waybar/colors.css
  2. Styles are copied from <theme>/waybar/style.css
  3. Config is adapted - Hyprland modules replaced with Sway equivalents:
    • hyprland/workspacessway/workspaces
    • hyprland/windowsway/window
  4. Waybar is reloaded automatically
The theme switcher creates config-sway.jsonc specifically for Sway. The original config.jsonc may reference Hyprland modules.

Troubleshooting

Check the systemd journal:
Common issues:
  • Missing config-sway.jsonc (run theme switcher)
  • Syntax errors in JSON (use jsonlint to validate)
  • Missing fonts (install JetBrains Mono Nerd Font)
  • Check interval settings in config
  • Verify required programs are installed:
    • wireplumber for audio
    • playerctl for media controls
    • brightnessctl for backlight
    • checkupdates and yay for package updates
  1. Check CSS syntax:
  1. Force reload:
  1. Verify reload_style_on_change is true in config

Sway Configuration

Window manager keybindings and settings

Theme System

How themes update Waybar colors and styles