Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/azzamsa/bilal
A CLI salah time written in Rust
https://github.com/azzamsa/bilal
islam islamic-prayer-times
Last synced: about 1 month ago
JSON representation
A CLI salah time written in Rust
- Host: GitHub
- URL: https://github.com/azzamsa/bilal
- Owner: azzamsa
- License: gpl-3.0
- Created: 2021-11-14T11:26:02.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-10T08:02:27.000Z (4 months ago)
- Last Synced: 2024-08-11T09:03:40.164Z (4 months ago)
- Topics: islam, islamic-prayer-times
- Language: Rust
- Homepage:
- Size: 445 KB
- Stars: 45
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-made-by-indonesian - Bilal - `A CLI salah time written in Rust` *by [Azzam S.A.](https://github.com/azzamsa)* (B)
- made-in-indonesia - Bilal - `A CLI salah time written in Rust` *by [Azzam S.A.](https://github.com/azzamsa)* (B)
README
---
**bilal** is a CLI salah time.
## Features
- 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## Usage
```bash
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:
```toml
latitude = -6.18233995
longitude = 106.84287154
madhab = "Shafi"
method = "Egyptian"
```To see more options, please read the [wiki](docs/wiki.md)
## Integration with other programs
You can use Bilal with `i3status-rust` to show salah time in your status.
![i3status-rust-bilal](docs/i3status-rust.png)
![i3status-rust-bilal-urgent](docs/i3status-rust-urgent.png)
`i3status-rust` configuration Example:
```bash
[[block]]
block = "custom"
cycle = [
"bilal current -J",
"bilal next -J",
]
on_click = ""
interval = 300
json = true
```See [more examples](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"}`.## Installation
### From binaries
The [release page](https://github.com/azzamsa/bilal/releases) includes
pre-compiled binaries for GNU/Linux, macOS and Windows.### From source
Using [cargo-binstall](https://github.com/cargo-bins/cargo-binstall)
```bash
cargo binstall bilal
```Using Rust's package manager [cargo](https://github.com/rust-lang/cargo):
```bash
cargo install bilal
```## Development
```bash
git clone https://github.com/azzamsa/bilal# Build
cd bilal
cargo build# Run unit tests and integration tests
cargo test# Install
cargo install --path .
```## Contributing
To learn more read [contributing.md](docs/dev/contributing.md)
## Origin of the name
The name Bilal was chosen in reference to the Bilal bin Rabah. The first
mu'azzin, chosen by Muhammad PBUH himself.## License
Copyright (c) 2020-2024 azzamsa
Bilal is distributed under the terms of [GPL V3 License](LICENSE).