#window-manager #bar #x11 #utilities #config-file

bin+lib atomblocks

async, absolutely lightweight and dead simple bar for dwm and similar window managers

3 unstable releases

0.2.0 Feb 12, 2024
0.1.1 Feb 10, 2024
0.1.0 Feb 10, 2024

#370 in GUI

Custom license

23KB
479 lines


AtomBlocks

async, absolutely lightweight and dead simple bar for dwm and similar window managers

Report Bug · Request Feature

About The Project

another bar implementation for the DWM window manager and similar ones, with asynchronous and independent blocks update.

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

Install Rust and Cargo. The easiest way to get Cargo is to install the current stable release of Rust by using rustup. Installing Rust using rustup will also install cargo.

  • install rustup:

    curl https://sh.rustup.rs -sSf | sh
    
  • install stable rust and cargo:

    rustup install stable
    

Build from sources

  1. Clone the repo
    git clone https://github.com/milchinskiy/atomblocks.git && cd ./atomblocks
    
  2. Build release
    cargo build --release
    

Install from crates.io

cargo install atomblocks

Install from AUR (Arch Linux)

using yay, paru or any other AUR helper you prefer, yay for example:

yay -S atomblocks

Run via Nix Flakes

nix run github:milchinskiy/atomblocks -- run --config <your.config.toml>

(back to top)

Usage

An incredibly simple and straightforward configuration file can be found in the code repository sample/config.toml There are a few places where configuration could live

  • $XDG_CONFIG_HOME/atomblocks/config.toml
  • $HOME/.config/atomblocks/config.toml
  • /etc/atomblocks/config.toml
  • you can directly set the file via args

Run

atomblocks run

Manually hit the block to update

atomblocks hit <ID>
# where <ID> is a sequential block index in config file

Run with custom config

atomblocks run --config ./my-custom-config.toml

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE file for more information.

Dependencies

~11–22MB
~335K SLoC