A CLI salah time written in Rust

Overview

Bilal

Sponsor me

demo


bilal is a CLI salah time.

Features

  • Show all salah time in current day
  • Show current salah time and its remaining time
  • Show next salah time

Usage

Usage Examples

bilal all                            Show all salahs time
bilal current                        ... current salah time
bilal current --json                  .... with JSON format

Create a file named bilal.toml in ~/.config/bilal/. If you are on Windows, put it under \AppData\Bilal\. Then add your configuration:

timezone = 7
latitude = -6.18233995
longitude = 106.84287154
madhab = "Shafi"
method = "Egyptian"

To see more options, please read the wiki

Command-line options

USAGE:
    bilal [FLAGS] [OPTIONS] [salah]

ARGS:
    <salah>    A Salah to show [default: all]

FLAGS:
    -h, --help       Prints help information
    -J, --json       Display Salah in JSON formatted string
    -V, --version    Prints version information

OPTIONS:
        --color <WHEN>    Display Salah in colored output [default: always]

Usage with other tools

You can use Bilal with i3status-rust to show salah time in your status.

i3status-rust-bilal

i3status-rust-bilal-urgent

i3status-rurts configuration Example:

[[block]]
block = "custom"
cycle = [
        "bilal current -J",
        "bilal next -J",
        ]
on_click = ""
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"}.

Installation

From binaries

The release page includes pre-compiled binaries for GNU/Linux, macOS and Windows.

From source

Using Rust's package manager cargo:

cargo install bilal

Development

git clone https://github.com/azzamsa/bilal
cd bilal.rs

# Run unit tests and integration tests
cargo test

# Install
cargo install --path .

Contributing

To learn more read 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 Azzamsa

Bilal is distributed under the terms of GPL V3 License.

You might also like...
Real-time stock tickers from the command-line. Written in Rust.

ticker-rs Real-time stock tickers from the command-line written in Rust. CLI tool using the Yahoo Finance API as a data source. It features colored ou

Infino - Fast and scalable service to store time series and logs - written in Rust

Infino 〽️ πŸͺ΅ β€” πŸ” πŸ“Š β€” βš–οΈ πŸ’° Ingest Metrics and Logs β€” Query and Insights β€” Scale and Save $$ Infino is an observability platform for storing metrics

A CLI tool to get help with CLI tools πŸ™
A CLI tool to get help with CLI tools πŸ™

A CLI tool to get help with CLI tools πŸ™ halp aims to help find the correct arguments for command-line tools by checking the predefined list of common

A minimal CLI framework written in Rust
A minimal CLI framework written in Rust

seahorse A minimal CLI framework written in Rust Features Easy to use No dependencies Typed flags(Bool, String, Int, Float) Documentation Here Usage T

A simple CLI pomodoro timer written in Rust.

Pomodoro A simple CLI pomodoro timer written in Rust. Based on the Pomodoro Technique. Works on any platform that supports desktop notifications. Exam

An feature packed Google Tasks CLI written purely in Rust
An feature packed Google Tasks CLI written purely in Rust

rChore A feature packed unofficial Google Tasks CLI to boost your producitvity, written purely in Rust. πŸ€” What is rChore? rChore is an unofficial Goo

A lightweight and super fast cli todo program written in rust under 200 sloc
A lightweight and super fast cli todo program written in rust under 200 sloc

todo A lightweight and super fast cli todo program written in rust under 200 sloc installation AUR package: todo-bin use cargo build --release to comp

Baby's first Rust CLI project. Basic implementation of grep. Written in about 100 SLOC.

minigrep Coding project from Chapter 12 of the The Rust Programming Language book. Usage Compile and run as so minigrep QUERY FILENAME QUERY being the

Simple cli clipboard manager written in rust

Simple cli clipboard manager written in rust

Releases(v1.1.0)
Owner
azzamsa
Libre Software Hacker β€’ Teacher β€’ Life in Emacs β€’ I love solving hard things to make people live happily
azzamsa
Deadliner helps you keep track of the time left for your deadline by dynamically updating the wallpaper of your desktop with the time left.

Deadliner Watch the YouTube video What's Deadliner? Deadliner is a cross-platform desktop application for setting deadline for a project and keeping t

Deadliner 34 Dec 16, 2022
Helps you keep track of time for team members across different time zones & DST changes

Teamdate Helps you keep track of time for team members across different timezones and other daylight saving changes based off their location. Because

Alex Snaps 7 Jan 9, 2023
Real-time CLI level meter built in Rust.

Meter This is a very simple command line utility written in Rust for measuring the gain of a microphone. It displays the values in dBFS. This is usefu

Chris Burgess 16 Sep 8, 2022
A trash-cli copy, but this time in Rust.

trash-rs A trash-cli copy, but this time in Rust. TODO Deletion Relative paths * functionality List files Include in Metadata: Original directory Date

null 1 Nov 23, 2021
⏳ trackie is a private, daemon-less time tracker for your CLI.

⏳ trackie `trackie` is a private, daemon-less time tracker running in your CLI. Trackie offers an easy CLI to track the time you spent on your various

Christoph Loy 40 Dec 14, 2022
zman is a CLI year (time) progress that small, fast, and just one single binary.

zman zman is a CLI year (time) progress that small, fast, and just one single binary. Features Show year progress Show month, and week progress Show r

azzamsa 17 Dec 21, 2022
🐴 RusTOTPony β€” CLI manager of one-time password generators aka Google Authenticator

?? RusTOTPony CLI manager of time-based one-time password generators. It is a desktop alternative for Google Authenticator. Installation Arch Linux Pa

German Lashevich 23 Jan 5, 2023
Provide CRUD CLI for Moco Activities with Jira Cloud Sync Option for faster time tracking.

Moco CLI Provide CRUD CLI for Moco Activities with Jira Cloud Sync Option for faster time tracking. Available commands Login Jira Must be called befor

Emanuel Vollmer 7 Nov 18, 2022
A CLI screentime monitoring tool. Shows how much time are you using certain apps.

A screentime monitoring tool, shows how much time are you really using certain apps. It work nicely with i3status or py3status on I3 window manager fo

Piotr Czajka 6 Dec 8, 2022
An experimental real-time operating system (RTOS) written in Rust

An experimental real-time operating system (RTOS) written in Rust

null 0 Nov 14, 2022