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
Module Organization
Module Organization
Core Modules
Sway Workspaces
Sway Workspaces
~/.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
Window Title
Window Title
Clock
Clock
- Primary format:
14:30 - Mar 05 - Tooltip: Shows full calendar
- Click to toggle: Switches to date format
Network
Network
- Real-time bandwidth monitoring
- Different icons for WiFi/Ethernet/Disconnected
- Tooltip shows detailed connection info
Audio (WirePlumber)
Audio (WirePlumber)
- Click to mute/unmute
- Bluetooth indicator when using BT audio
- Dynamic icon based on volume level
Backlight
Backlight
Battery
Battery
- Good: Above 95%
- Warning: Below 30% (changes color)
- Critical: Below 15% (animated alert)
Bluetooth
Bluetooth
- Click to open Bluetooth manager
- Shows battery level for connected devices
- Signal strength indicators
Custom Modules
Media Controls (MPRIS)
Media Controls (MPRIS)
Package Updates
Package Updates
Arch Linux Icon
Arch Linux Icon
Styling
Color Scheme
~/.config/waybar/colors.css
colors.css file is updated by the theme switcher.
Module Styling
~/.config/waybar/style.css
Grouped Modules
Workspace Buttons
Custom Scripts
Waybar includes several helper scripts:Theme Integration
When switching themes withSuper + A:
- Colors are copied from
<theme>/waybar/colors.css - Styles are copied from
<theme>/waybar/style.css - Config is adapted - Hyprland modules replaced with Sway equivalents:
hyprland/workspaces→sway/workspaceshyprland/window→sway/window
- Waybar is reloaded automatically
The theme switcher creates
config-sway.jsonc specifically for Sway. The original config.jsonc may reference Hyprland modules.Troubleshooting
Waybar not starting
Waybar not starting
Check the systemd journal:Common issues:
- Missing
config-sway.jsonc(run theme switcher) - Syntax errors in JSON (use
jsonlintto validate) - Missing fonts (install JetBrains Mono Nerd Font)
Modules not updating
Modules not updating
- Check
intervalsettings in config - Verify required programs are installed:
wireplumberfor audioplayerctlfor media controlsbrightnessctlfor backlightcheckupdatesandyayfor package updates
Styling not applying
Styling not applying
- Check CSS syntax:
- Force reload:
- Verify
reload_style_on_changeistruein config
Related Configuration
Sway Configuration
Window manager keybindings and settings
Theme System
How themes update Waybar colors and styles