Skip to content

sejjy/mechabar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note

Major rewrite in progress. Check #24 first if you encounter issues or want to suggest features.

Note

Developed on a laptop with 1.5x monitor scale. Preview images were taken with 2.0x. If the bar is too small, you can either wait for my first release or clone the dev branch instead.


🤖 mechabar

Catppuccin Mocha
 🎨 Themes

Catppuccin

Macchiato
Frappe
Latte

Gruvbox

Dark
Light
 🚀 Menus

Wi-Fi

Wi-Fi Menu

Bluetooth

Bluetooth Menu

Power

Power Menu

A mecha-themed Waybar configuration originally designed for Hyprland, but also compatible with DWL, Niri, River, and Sway with minimal adjustments.

See the sway-classic branch for Sway support.

Classic vs Animated

You can choose between two styles:

  • Classic:

    Clone the default classic branch for a simple, non-animated bar.

      git clone https://github.com/sejjy/mechabar.git
      cd mechabar
  • Animated:

    Clone the animated branch for added launch animations.

      git clone -b animated https://github.com/sejjy/mechabar.git
      cd mechabar

Automatic Installation

  1. Run the install script:

    ./install.sh

    This backs up your current Waybar and Rofi configs and performs the steps listed below.

Manual Installation

  1. Install dependencies

    sudo pacman -S bluez-utils brightnessctl pacman-contrib pipewire pipewire-pulse ttf-jetbrains-mono-nerd wireplumber
    yay -S bluetui rofi-lbonn-wayland-git
    Package Description
    bluetuiᴬᵁᴿ TUI for managing bluetooth devices
    bluez-utils Development and debugging utilities for the bluetooth protocol stack
    brightnessctl Lightweight brightness control tool
    pacman-contrib Contributed scripts and tools for pacman systems
    pipewire Low-latency audio/video router and processor
    pipewire-pulse Low-latency audio/video router and processor - PulseAudio replacement
    rofi-lbonn-wayland-gitᴬᵁᴿ A window switcher, application launcher and dmenu replacement (fork with Wayland support)
    ttf-jetbrains-mono-nerd Patched font JetBrains Mono from the nerd fonts library
    wireplumber Session/policy manager implementation for PipeWire
  2. Copy config files:

    mkdir -p ~/.config/waybar
    cp config.jsonc style.css theme.css ~/.config/waybar
    mkdir -p ~/.config/waybar/themes
    cp -r themes/* ~/.config/waybar/themes
    mkdir -p ~/.config/rofi
    cp rofi/* ~/.config/rofi
  3. Set up scripts:

    mkdir -p ~/.config/waybar/scripts
    cp scripts/* ~/.config/waybar/scripts
    chmod +x ~/.config/waybar/scripts/*
  4. Restart Waybar:

    pkill waybar 2>/dev/null; waybar & disown

    Or specify the config paths explicitly:

    pkill waybar 2>/dev/null
    waybar --config "$HOME/.config/waybar/config.jsonc" --style "$HOME/.config/waybar/style.css" &
    disown

Customization

  • You can switch between predefined CSS, JSONC, and Rasi themes by clicking the leftmost module. To use your own theme, add a file to each directory following the respective format.

  • You can replace modules with alternatives from the modules folder. For a full list of available modules, see the Waybar wiki.

  • To change the bar height manually, see the notes in style.css.

  • To enable battery notifications, follow the instructions in battery-level.sh and battery-state.sh.

Roadmap

See #24.

Credits