Skip to content

JS2006/ashell-ru

 
 

Repository files navigation

A ready to go Wayland status bar for Hyprland and Niri.

Matrix GitHub License GitHub Release

Getting Started | Configuration | Developer Guide

✨ Features

  • 2 languages support (en, ru)
  • Automatic Hyprland/Niri compositor detection
  • Multi-monitor support (all monitors, active monitor, or specific targets)
  • Hot-reload configuration (changes apply automatically via file watch)
  • Bar positioning (top or bottom) with configurable layer (Bottom, Top, Overlay)
  • Theming: Islands, Solid, and Gradient styles with custom colors, opacity, scale, and fonts
  • OS Updates indicator with configurable check interval
  • Hyprland/Niri Active Window (title, class, or initial title/class)
  • Hyprland/Niri Workspaces with naming, color coding, and per-monitor visibility
  • System Information (CPU, RAM, Disk, IP address, Network speed, Temperature) with warn/alert thresholds
  • Hyprland/Niri Keyboard Layout with custom labels
  • Hyprland Keyboard Submap
  • System Tray with context menus
  • Clock with calendar, weather, timezone cycling, and format cycling (Tempo)
  • Privacy indicators (microphone, camera, and screenshare usage)
  • Media Player with album art and track info
  • Notification manager with toast popups, grouping, and urgency support
  • Settings panel
    • Power menu (shutdown, suspend, hibernate, reboot, logout, lock)
    • Battery and peripheral battery information
    • Audio sources and sinks (with microphone)
    • Screen brightness
    • Network (WiFi scanning, password entry; supports NetworkManager and IWD backends)
    • VPN
    • Bluetooth
    • Power profiles
    • Idle inhibitor
    • Airplane mode
    • Custom quick-action buttons with status commands
  • IPC socket for scripting and keybindings (ashell msg <command>)
  • OSD overlay for volume, brightness, and airplane mode changes
  • Custom Modules
    • Button (execute command on click)
    • Text (display-only, update UI with command output via listen_cmd)
    • Regex-based icon mapping and alert states

🛠️ Install

Packaging status

Refer to the Installation page for more details.

⚙️ Configuration

ashell comes with a default configuration that should work out of the box.

If you want to customize it you can refer to the Configuration page for more details.

💬 Community

Join the conversation on Matrix or open an issue on GitHub.

📖 Developer Guide

If you want to contribute or understand the codebase, check out the Developer Guide.

🤖 AI-Assisted Contributions

AI-assisted contributions are accepted — the same quality standards apply regardless of how the code was written. Frontier-class models (e.g., Claude Opus or equivalent) are strongly recommended. You are responsible for the code you submit: review AI output carefully, ensure make check passes, and be prepared to explain your changes.

Before working on a feature or large change, discuss it with maintainers first. Small, incremental PRs are preferred — code review is manual and remains the bottleneck.

For the full AI contribution guide, see the Developer Guide.

📷 Screenshots

I will try my best to keep these screenshots as updated as possible but some details could be different

default style

solid style

gradient style

Clipboard history

image

opacity settings

Building from Source

To build Ashell from source, ensure the following dependencies are installed:

-Rust (with cargo) -wayland-protocols -clang -libxkbcommon -wayland -dbus -libpipewire -libpulse

Then, from the root of the repository, run:

cargo build --release
sudo cp target/release/ashell /usr/local/bin/ashell  

About

A ready to go Wayland status bar for Hyprland and Niri, added russian language support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 96.6%
  • TypeScript 1.4%
  • Fluent 1.1%
  • Other 0.9%