# Alexays/Waybar

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/alexays-waybar).**

10,686 stars · 987 forks · C++ · mit

## Links

- GitHub: https://github.com/Alexays/Waybar
- awesome-repositories: https://awesome-repositories.com/repository/alexays-waybar.md

## Topics

`bar` `gtk` `i3status` `statusbar` `sway` `wayland` `wlroots`

## Description

Waybar is a modular status bar for Wayland compositors that provides a configuration-driven interface for system monitoring and desktop management. It functions as a shell component that integrates directly with Wayland protocols to track window manager states, manage system tray icons, and display real-time hardware, network, and power metrics.

The project distinguishes itself through a highly flexible architecture that allows for independent or synchronized interface bars across multiple monitors, each with unique layout and styling rules. Users can extend the bar's functionality by creating custom modules or triggering external shell scripts and system binaries in response to mouse interactions, such as clicks and scrolls.

The interface is built upon a widget hierarchy that supports extensive visual customization through a style engine based on standard style sheets. This allows for precise control over fonts, colors, borders, and element orientation, including support for vertical layouts and system-wide theme integration. The system also provides tools for inspecting the internal widget tree to facilitate troubleshooting and precise styling.

## Tags

### User Interface & Experience

- [Status Bars](https://awesome-repositories.com/f/user-interface-experience/status-bars.md) — Provides a highly customizable status bar for Wayland compositors with modular widget support.
- [Desktop Shell Customizers](https://awesome-repositories.com/f/user-interface-experience/desktop-shell-customizers.md) — Serves as a configuration-driven utility for styling and extending the desktop shell experience.
- [Interface Style Sheet Customizers](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/visual-styling-presentation/interface-appearance-customization/interface-style-sheet-customizers.md) — The project applies styles to the bar, module groups, and individual widgets to control layout, colors, fonts, and borders for a personalized look. ([source](https://github.com/Alexays/Waybar/wiki/Styling))
- [Desktop Environment Customizers](https://awesome-repositories.com/f/user-interface-experience/desktop-environment-customizers.md) — Provides tools for personalizing the visual and functional aspects of the Wayland desktop interface.
- [CSS Styling](https://awesome-repositories.com/f/user-interface-experience/css-styling.md) — Applies visual styles to interface elements using standard cascading stylesheet syntax.
- [System Tray Integrations](https://awesome-repositories.com/f/user-interface-experience/system-tray-integrations.md) — Manages and displays background application icons and notifications within the bar for quick access to running services. ([source](https://cdn.jsdelivr.net/gh/Alexays/Waybar@master/README.md))
- [System Tray Icons](https://awesome-repositories.com/f/user-interface-experience/ui-components/visual-identifiers/system-tray-icons.md) — Displays and manages background application icons within the unified status bar.
- [Layout & Positioning](https://awesome-repositories.com/f/user-interface-experience/layout-positioning.md) — Defines the spatial arrangement, dimensions, and screen placement of the interface. ([source](https://github.com/Alexays/Waybar/wiki/Configuration))
- [Color Themes](https://awesome-repositories.com/f/user-interface-experience/color-themes.md) — Uses theme variables and color modifiers to ensure the interface matches the system-wide color palette. ([source](https://github.com/Alexays/Waybar/wiki/Styling))
- [Instance-Specific Theming](https://awesome-repositories.com/f/user-interface-experience/visual-styling-frameworks/instance-specific-theming.md) — The project assigns unique names to different bar instances to apply distinct themes and visual properties to each one independently. ([source](https://github.com/Alexays/Waybar/wiki/Configuration))

### Operating Systems & Systems Programming

- [Desktop Shells](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-shells.md) — Functions as a modular shell component providing workspace management and system monitoring for Wayland.
- [Compositor Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-integration/compositor-integrations.md) — Integrates with the system compositor to manage window layers, monitor outputs, and track state changes.
- [Desktop Automation](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-automation.md) — Automates desktop workflows by triggering custom shell scripts through interactive interface modules.

### System Administration & Monitoring

- [Status Monitors](https://awesome-repositories.com/f/system-administration-monitoring/status-monitors.md) — Integrates live hardware, network, and power metrics into the desktop status bar.
- [Background Polling Services](https://awesome-repositories.com/f/system-administration-monitoring/background-polling-services.md) — Executes background tasks at fixed intervals to refresh system metrics and status updates. ([source](https://github.com/Alexays/Waybar/wiki/Writing-Modules))

### Software Engineering & Architecture

- [Custom Module Implementations](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations.md) — Allows developers to implement and integrate custom modular components into the status bar. ([source](https://github.com/Alexays/Waybar/wiki))
- [Window State Observers](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/state-management/reactive-subscription-systems/observer-patterns/window-state-observers.md) — Tracks and visualizes workspace layouts, active window titles, and compositor states to monitor desktop activity. ([source](https://cdn.jsdelivr.net/gh/Alexays/Waybar@master/README.md))
- [Hook-Based Plugin Systems](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/hook-based-plugin-systems.md) — Extends core functionality by registering custom logic into lifecycle events and interface injection points.
- [Widget Tree Hierarchies](https://awesome-repositories.com/f/software-engineering-architecture/object-oriented-models/widget-tree-hierarchies.md) — Organizes the interface as a tree of modular components that inherit styling and layout properties.
- [Custom Scripting Engines](https://awesome-repositories.com/f/software-engineering-architecture/custom-scripting-engines.md) — Executes user-defined scripts to inject dynamic content into the status bar. ([source](https://cdn.jsdelivr.net/gh/Alexays/Waybar@master/README.md))

### Graphics & Multimedia

- [Multi-Screen Rendering Controllers](https://awesome-repositories.com/f/graphics-multimedia/display-configuration-managers/multi-screen-rendering-controllers.md) — Manages and renders independent or synchronized interface bars across multiple hardware displays.

### Development Tools & Productivity

- [Custom Command Execution](https://awesome-repositories.com/f/development-tools-productivity/custom-command-execution.md) — Triggers custom shell commands in response to mouse interactions on interface modules. ([source](https://github.com/Alexays/Waybar/wiki/Configuration))

### Programming Languages & Runtimes

- [Instance Identifiers](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/module-management/instance-identifiers.md) — Supports multiple instances of the same module on the bar by assigning unique identifiers for individual configuration. ([source](https://github.com/Alexays/Waybar/wiki/Configuration))
- [Asynchronous Event Loops](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/asynchronous-event-loops.md) — Uses an asynchronous event loop to manage background data updates and user interactions without blocking the main rendering thread.
