Important
If you have v0.14.0 installed,
clone the fix/v0.14.0 branch instead.
- A terminal emulator (default: Kitty)
Important
If you use a different emulator, replace all kitty commands accordingly. For
example:
- "on-click": "kitty -e ..."
+ "on-click": "ghostty -e ..."-
Back up your current config:
mv ~/.config/waybar{,.bak} -
Clone the repository:
git clone https://github.com/sejjy/mechabar.git ~/.config/waybargit clone -b fix/v0.14.0 https://github.com/sejjy/mechabar.git ~/.config/waybar -
Install the dependencies and restart Waybar:
~/.config/waybar/installDependencies (8)
Package Command Description bluez- Daemons for the bluetooth protocol stack bluez-utilsbluetoothctlDevelopment and debugging utilities for the bluetooth protocol stack brightnessctlbrightnessctlLightweight brightness control tool fzffzfCommand-line fuzzy finder networkmanagernmcliNetwork connection manager and user applications pacman-contribcheckupdatesContributed scripts and tools for pacman systems pipewire-pulse- Low-latency audio/video router and processor - PulseAudio replacement otf-commit-mono-nerd- Patched font Commit Mono from nerd fonts library
user.jsonc
The leftmost module has no default function and is reserved for custom use. You can configure it to run any command. For example:
Binds
You can define keybinds to interact with modules using their respective scripts. For example:
# ~/.config/hypr/hyprland.conf
$path = ~/.config/waybar/scripts
# Launch CLI
bind = SUPER, B, exec, kitty -e $path/bluetooth
bind = SUPER, N, exec, kitty -e $path/network
bind = SUPER, O, exec, kitty -e $path/power
bind = SUPER, U, exec, kitty -e $path/update
# Adjust volume/brightness
bindl = , XF86AudioMicMute, exec, $path/volume input mute
bindl = , XF86AudioMute, exec, $path/volume output mute
bindel = , XF86AudioLowerVolume, exec, $path/volume output lower
bindel = , XF86AudioRaiseVolume, exec, $path/volume output raise
bindel = , XF86MonBrightnessDown, exec, $path/backlight down
bindel = , XF86MonBrightnessUp, exec, $path/backlight up
# Toggle off bluetooth/wifi
bind = SUPER ALT, B, exec, $path/bluetooth off
bind = SUPER ALT, N, exec, $path/network off
# Refresh `update` module
bind = SUPER ALT, U, exec, pkill -RTMIN+1 waybarIcons
You can search for icons on Nerd Fonts: Cheat Sheet ↗. For example:
battery charging
For consistency, most modules use icons from Material Design, prefixed with
nf-md:
nf-md battery charging
Theme
Copy your preferred theme from the themes directory to theme.css.
For example:
cd ~/.config/waybar
cp themes/catppuccin-latte.css theme.css


