mustafasalih1993/rsblocks

A multi threaded fast status bar for dwm window manager written in Rust 🦀

Easy to configure with rsblocks

rsblocks

A multi threaded fast status bar for dwm window manager written in Rust 🦀


Features

  • Multi Threads
  • Battery Percentage
  • Bitcoin Price
  • Brightness
  • Cpu Temperature
  • Disk Usage
  • Load Average
  • Local Ip Address
  • Memory Usage
  • Mpd Current Song
  • Net Usage
  • Public Ip Address
  • Sound Volume
  • Spotify Current Song
  • Time/Date
  • Uptime
  • Weather Temperature
  • Easy to configure with rsblocks.yml file

Notes

  • This tool is still in development stage.
  • currently supports only linux.

Build Requirements

  • Libdbus 1.6 or higher as a requirement to spotify.

On ubuntu you can do:

sudo apt install libdbus-1-dev pkg-config

Cargo Installation

You can install the binary crate directly

cargo install rsblocks

Manual Installation

You can clone the repo and build from the source code

git clone https://github.com/mustafasalih1993/rsblocks

build with cargo

cargo build --release

move the executable somewhere in your PATH (assuming you are in the root dir of the project)

mv ./target/release/rsblocks /usr/local/bin

you good to go now and can run rsblocks from your terminal or put that in your .xinitrc

Configuration

Notes:

  • rsblocks will try to read the file $HOME/.config/rsblocks/rsblocks.yml, if it does not exist, it will load the defaults.
  • rsblocks will read the configuration file only on startup, which means you have to kill it and start it again if you updated your rsblocks.yml file.

create the directory

mkdir ~/.config/rsblocks

copy the template to the new config directory (assuming you are in the root dir of the repo)

cp ./rsblocks.yml ~/.config/rsblocks/rsblocks.yml

Contributions

All Contributions are welcome.

Credits

  • wttr.in for using their weather API

License

MIT

Issues

Collection of the latest Issues

AdaShoelace

AdaShoelace

Comment Icon3

What: netspeed::get_netspeed panics.

Why: Paths are not uniform over different distros. Path in netspeed::get_netspeed: /sys/class/net/{tx/rx}_bytes/statistics/{interface}
My path /sys/class/net/{interface}/statistics/{tx/rx}_bytes

MustafaSalih1993

MustafaSalih1993

Comment Icon1

tracked the resources usage of rsblocks with htop when volume block disabled, the max cpu% usage is 0.7 but when volume block enabled, cpu% usage goes from 5.0 to 7.0

AdaShoelace

AdaShoelace

Comment Icon3

Issue
At the moment there is more or less no error handling in rsblocks. The program will crash if any error arise due to usage of unwrap() and expect().

Suggested solution
Abstract and propagate error to be handled at the right level using a more ergonomic library than std, eg. fehler or snafu.

Information - Updated Jun 30, 2022

Stars: 30
Forks: 3
Issues: 6

This is an example of a Rust server that functions as a remote schema for...

Rust + Hasura Rust server that functions as a Hasura

This is an example of a Rust server that functions as a remote schema for...

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

It is designed to be easily extendable and easy to use

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

liboqs-rust: Rust bindings for liboqs

Qyantum Safe liboqs rust bindings

liboqs-rust: Rust bindings for liboqs

msgflo-rust: Rust participant support for MsgFlo

Flowhub visual programming IDE

msgflo-rust: Rust participant support for MsgFlo
Actix

1.2K

How to be a full stack Rust Developer

Read Rust the Rust blog posts at Steadylearner

How to be a full stack Rust Developer

Rust library translation (rust-src/rust-std/stdlib/rustlib translation)

This is the place to translate Having a documentation in your native language is essential if you don't speak English, and still enjoyable even if...

Rust library translation (rust-src/rust-std/stdlib/rustlib translation)

False Positive for rust-lang/rust#83583

The deprecation lint proc_macro_derive_resolution_fallback is intended to catch proc macro generated code that refers to items from parent modules that should not be in scope:

False Positive for rust-lang/rust#83583

xbuild is a build tool for rust and rust/flutter projects with support for cross compiling...

xbuild is a build tool for rust and rust/flutter projects with support for cross compiling and

xbuild is a build tool for rust and rust/flutter projects with support for cross compiling...

Rust: setup Rust with rustup

wabt: --sysroot value in the Makefiles when using a different target localtion for wasi-sdk)

Rust: setup Rust with rustup

How to be a full stack Rust Developer

Read Rust the Rust blog posts at Steadylearner

How to be a full stack Rust Developer

Snake game developed in Rust using rust-sdl2 crate

Snake game developed in Rust using

Snake game developed in Rust using rust-sdl2 crate

This is a game engine for rust in rust

I'm building it as a learning experience to try and better understand rust and what goes into making a game engine

This is a game engine for rust in rust
Facebook Instagram Twitter GitHub Dribbble
Privacy