mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-07-01 18:51:04 +02:00
83 lines
No EOL
2.9 KiB
Markdown
83 lines
No EOL
2.9 KiB
Markdown
# Ironbar
|
|
|
|
Ironbar is a customisable and feature-rich bar targeting wlroots compositors, written in Rust.
|
|
It uses GTK3 and gtk-layer-shell.
|
|
|
|
The bar can be styled to your liking using CSS and hot-loads style changes.
|
|
For information and examples on styling please see the [wiki](https://github.com/JakeStanger/ironbar/wiki).
|
|
|
|

|
|
|
|
## Installation
|
|
|
|
Run using `ironbar`.
|
|
|
|
### Cargo
|
|
|
|
> ⚠ The Cargo version is currently outdated due to restrictions around publishing crates with patched dependencies.
|
|
|
|
```sh
|
|
cargo install ironbar
|
|
```
|
|
|
|
[crate](https://crates.io/crates/ironbar)
|
|
|
|
### Arch Linux
|
|
|
|
```sh
|
|
yay -S ironbar-git
|
|
```
|
|
|
|
[aur package](https://aur.archlinux.org/packages/ironbar-git)
|
|
|
|
### Source
|
|
|
|
```sh
|
|
git clone https://github.com/jakestanger/ironbar.git
|
|
cd ironbar
|
|
cargo build --release
|
|
# change path to wherever you want to install
|
|
install target/release/ironbar ~/.local/bin/ironbar
|
|
```
|
|
|
|
[repo](https://github.com/jakestanger/ironbar)
|
|
|
|
## Configuration
|
|
|
|
Ironbar gives a lot of flexibility when configuring, including multiple file formats
|
|
and options for scaling complexity: you can use a single config across all monitors,
|
|
or configure different/multiple bars per monitor.
|
|
|
|
A full configuration guide can be found [here](https://github.com/JakeStanger/ironbar/wiki/configuration-guide).
|
|
|
|
## Styling
|
|
|
|
To get started, create a stylesheet at `.config/ironbar/style.css`. Changes will be hot-reloaded every time you save the
|
|
file.
|
|
|
|
A full styling guide can be found [here](https://github.com/JakeStanger/ironbar/wiki/styling-guide).
|
|
|
|
## Project Status
|
|
|
|
This project is in alpha, but should be usable.
|
|
Everything that is implemented works and should be documented.
|
|
Proper error handling is in place so things should either fail gracefully with detail, or not fail at all.
|
|
|
|
There is currently room for lots more modules, and lots more configuration options for the existing modules.
|
|
The current configuration schema is not set in stone and breaking changes could come along at any point;
|
|
until the project matures I am more interested in ease of use than backwards compatibility.
|
|
|
|
A few bugs do exist, and I am sure there are plenty more to be found.
|
|
|
|
The project will be *actively developed* as I am using it on my daily driver.
|
|
Bugs will be fixed, features will be added, code will be refactored.
|
|
|
|
## Contribution Guidelines
|
|
|
|
Please check [here](https://github.com/JakeStanger/ironbar/blob/master/CONTRIBUTING.md).
|
|
|
|
## Acknowledgements
|
|
|
|
- [Waybar](https://github.com/Alexays/Waybar) - A lot of the initial inspiration, and a pretty great bar.
|
|
- [Rustbar](https://github.com/zeroeightysix/rustbar) - Served as a good demo for writing a basic GTK bar in Rust
|
|
- [Smithay Client Toolkit](https://github.com/Smithay/client-toolkit) - Essential in being able to communicate to Wayland |