bilal is a CLI salah time.
- Everything works completely offline.
- Display all salah times for the current day.
- Show the current salah time and its remaining time.
- Display the next salah time.
- Use both 12-hour and 24-hour formats.
- Fancy error message
bilal all Show all salahs time
bilal current ... current salah time
bilal current --json .... with JSON format
To configure Bilal, first create a file named config.toml
in ~/.config/bilal/
on Unix-like systems. On Windows, place it under \AppData\Bilal\
. If you prefer a custom location, simply set the BILAL_CONFIG
environment variable.
Next, add your configuration details to the config.toml
file:
latitude = -6.18233995
longitude = 106.84287154
madhab = "Shafi"
method = "Egyptian"
To see more options, please read the wiki
You can use Bilal with i3status-rust
to show salah time in your status.
i3status-rust
configuration Example:
[[block]]
block = "custom"
cycle = [
"bilal current -J",
"bilal next -J",
]
on_click = "<command>"
interval = 300
json = true
See more examples to learn other variations.
If you like bilal
to support your favourite status-bar, please open new issue
with the valid input of your status-bar. In i3status-rust
the valid input it would be {"icon": "ICON", "state": "STATE", "text": "YOURTEXT"}
.
The release page includes pre-compiled binaries for GNU/Linux, macOS and Windows.
Using cargo-binstall
cargo binstall bilal
Using Rust's package manager cargo:
cargo install bilal
git clone https://github.com/azzamsa/bilal
# Build
cd bilal
cargo build
# Run unit tests and integration tests
cargo test
# Install
cargo install --path .
To learn more read contributing.md
The name Bilal was chosen in reference to the Bilal bin Rabah. The first mu'azzin, chosen by Muhammad PBUH himself.
Copyright (c) 2020-2024 azzamsa
Bilal is distributed under the terms of GPL V3 License.