Skip to content

sejjy/mechabar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 mechabar

A mecha-themed, modular Waybar configuration.

Mechabar
Themes

Catppuccin:

Mocha (default)
Catppuccin Mocha
Macchiato
Catppuccin Macchiato
Frappe
Catppuccin Frappe
Latte
Catppuccin Latte

Feel free to open a pull request if you'd like to add themes! :^)

Prerequisites

  1. Waybar

Warning

Waybar v0.14.0 introduced an issue that breaks wildcard includes. Clone the fix/v0.14.0 branch as a temporary workaround.

  1. A terminal emulator (default: kitty)

Important

If you use a different terminal emulator (e.g., ghostty), you need to replace all invocations of kitty with your terminal command:

- "on-click": "kitty -e ..."
+ "on-click": "ghostty -e ..."

Installation

  1. Back up your current config:

    mv ~/.config/waybar{,.bak}
  2. Clone the repository:

    git clone https://github.com/sejjy/mechabar.git ~/.config/waybar

    For Waybar v0.14.0:

    git clone -b fix/v0.14.0 https://github.com/sejjy/mechabar.git ~/.config/waybar
  3. Run install.sh:

    ~/.config/waybar/install.sh

    This makes the scripts executable and installs the following dependencies:

    Packages (8)
    Package Command Description
    bluez - Daemons for the bluetooth protocol stack
    bluez-utils bluetoothctl Development and debugging utilities for the bluetooth protocol stack
    brightnessctl brightnessctl Lightweight brightness control tool
    fzf fzf Command-line fuzzy finder
    networkmanager nmcli Network connection manager and user applications
    pacman-contrib checkupdates Contributed 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

Customization

Binds

You can set keybinds to interact with modules via scripts. Example:

# ~/.config/hypr/hyprland.conf

$mod  = SUPER
$term = kitty
$scr  = ~/.config/waybar/scripts

bind = $mod, B, exec, $term -e $scr/bluetooth.sh
bind = $mod, N, exec, $term -e $scr/network.sh
bind = $mod, O, exec, $term -e $scr/power-menu.sh
bind = $mod, U, exec, $term -e $scr/system-update.sh

bindl  = , XF86AudioMicMute,      exec, $scr/volume.sh input mute
bindl  = , XF86AudioMute,         exec, $scr/volume.sh output mute
bindel = , XF86AudioLowerVolume,  exec, $scr/volume.sh output lower
bindel = , XF86AudioRaiseVolume,  exec, $scr/volume.sh output raise
bindel = , XF86MonBrightnessDown, exec, $scr/backlight.sh down
bindel = , XF86MonBrightnessUp,   exec, $scr/backlight.sh up

Icons

You can search for icons on Nerd Fonts: Cheat Sheet ↗. Example:

battery charging

For consistency, most modules use icons from Material Design, prefixed with nf-md:

nf-md battery charging

See Nerd Fonts wiki: Glyph Sets for more info.

Theme

Copy your preferred theme from the themes directory into current-theme.css. Example:

cd ~/.config/waybar
cp themes/catppuccin-latte.css current-theme.css

Documentation

  • Waybar wiki

  • Man pages:

    man waybar
    man waybar-styles
    man waybar-custom
    man waybar-<module>
    man waybar-<compositor>-<module>

Credits

About

A mecha-themed, modular Waybar configuration. 🤖

Topics

Resources

License

Stars

Watchers

Forks