Skip to content

😺 Elegant and extensible status bar for the meowrch distribution

License

Notifications You must be signed in to change notification settings

meowrch/mewline

Repository files navigation

✨ Mewline





An elegant, extensible status bar for the meowrch distribution, written in Python using the Fabric framework. It combines a minimalist design with powerful functionality.

🌟 Features

  • Modular architecture
  • Customization via a JSON config
  • Theme support
  • Full integration with the meowrch distribution
  • Animated transitions and effects
  • Low resource usage
  • Keyboard control

βš™οΈ Configuration

See English configuration docs for detailed configuration info.

🧩 Install dependencies

sudo pacman -S dart-sass tesseract tesseract-data-eng tesseract-data-rus slurp grim cliphist
yay -S gnome-bluetooth-3.0 gray-git fabric-cli-git

⚑ Quick start

# Install the package
yay -S mewline-git

# Generate the default config
mewline --generate-default-config

# Generate keybindings for Hyprland
mewline --create-keybindings

# Tweak config.json to your liking
micro ~/.config/mewline/config.json

# Run MewLine
mewline

πŸ›  For developers

# Clone the repo
git clone https://github.com/meowrch/mewline && cd mewline

# Install the package manager
pip install uv # Or: sudo pacman -S uv

# Install dependencies
uv sync

# Generate the default config
uv run generate_default_config

# Generate keybindings for Hyprland
uv run create_keybindings

# Tweak config.json to your liking
micro ~/.config/mewline/config.json

# Run MewLine
uv run mewline

🎨 Widgets

ℹ️ Status Bar

Component Description
tray System tray
workspaces Workspace management
datetime Date and time display
brightness Screen brightness control
volume Audio volume control
battry Battery charge information
power Button to open the power_menu
ocr Text recognition from a screenshot

🏝 Dynamic Island

Component Description Keybinding
compact Shows active window and currently playing music -
notifications Notifications -
power_menu Power management menu Super+Alt+P
date_notification Calendar and notifications history Super+Alt+D
bluetooth Bluetooth manager Super+Alt+B
app_launcher Application launcher Super+Alt+A
wallpapers Wallpaper picker Super+Alt+W
emoji Emoji picker Super+Alt+.
clipbpard Clipboard manager Super+Alt+V
network Wi-Fi and Ethernet manager Super+Alt+N
workspaces Open windows/workspaces manager Super+Alt+Tab

⌨️ Keybindings

You can control the Dynamic Island using keybindings. If you haven't generated the Hyprland config yet, run:

mewline --create-keybindings

❓ Other

Component Description
osd On-screen display for volume/brightness change events

🐾 Special Thanks

This project is inspired by and borrows great ideas from:

  • HyDePanel
    Modular system architecture, some styles and widgets.

  • Ax-Shell
    Approach to handling system events, IPC mechanisms, some styles and widgets.

We are grateful to the authors of these projects for their contribution to the open-source community. Some components were adapted and improved to integrate with MewLine.

πŸš€ Contributing

Want to add a new widget or improve an existing one?

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-widget
  3. Push your changes: git push origin feature/amazing-widget
  4. Open a Pull Request

We recommend discussing the idea in Issues first.

β˜• Support the project

If you like MewLine, you can support its development:

Cryptocurrency Address
TON UQB9qNTcAazAbFoeobeDPMML9MG73DUCAFTpVanQnLk3BHg3
Ethereum 0x56e8bf8Ec07b6F2d6aEdA7Bd8814DB5A72164b13
Bitcoin bc1qt5urnw7esunf0v7e9az0jhatxrdd0smem98gdn
Tron TBTZ5RRMfGQQ8Vpf8i5N8DZhNxSum2rzAs

Your support motivates us to build more great features! ❀️

πŸ“Š Stats

Star History Chart