mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-07-02 03:01:04 +02:00
82 lines
2.8 KiB
Markdown
82 lines
2.8 KiB
Markdown
# Ironbar
|
|
|
|
Ironbar is a customisable and feature-rich bar targeting the Sway compositor, 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
|
|
|
|
```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)
|
|
|
|
## 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 very early stages:
|
|
|
|
- Error handling is barely implemented - expect crashes
|
|
- There will be bugs!
|
|
- Lots of modules need more configuration options
|
|
- There's room for lots of modules
|
|
- The code is messy and quite prototypal in places
|
|
- Config options aren't set in stone - expect breaking changes
|
|
- Documentation is probably missing in lots of places
|
|
|
|
That said, it 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
|
|
|
|
I welcome contributions of any kind with open arms. That said, please do stick to some basics:
|
|
|
|
- For code contributions:
|
|
- Fix any `cargo clippy` warnings, using at least the default configuration.
|
|
- Make sure your code is formatted using `cargo fmt`.
|
|
- Keep any documentation up to date.
|
|
- I won't enforce it, but preferably stick to [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) messages.
|
|
|
|
|
|
- For PRs:
|
|
- Please open an issue or discussion beforehand.
|
|
I'll accept most contributions, but it's best to make sure you're not working on something that won't get accepted :)
|
|
|
|
|
|
- For issues:
|
|
- Please provide as much information as you can - share your config, any logs, steps to reproduce...
|
|
|
|
## 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
|