Offline-first TPM plugin that shows Islamic prayer status in tmux status bar.
tmux- A Lua interpreter (
lua,lua5.4,lua5.3,lua5.2, orluajit)
- Fully offline prayer-time calculation (ported from muslim.nvim logic)
- Configurable location/method/school/time format via tmux options
- DST-safe mode with timezone-aware auto UTC offset
- Next-prayer-focused status text (for example:
Fajr at: 05:49 AM) - Displayed schedule is limited to the five daily prayers (no sunrise/sunset in output)
- Cached output via tmux options for low overhead, auto-refreshing one minute after next prayer starts
- Status + static color + icon placeholders
- Popup with all five prayer times for today (
prefix + mby default)
Add to your .tmux.conf:
set -g @plugin 'YousefHadder/muslim-prayers'Then reload tmux and install with TPM.
#{prayer_times}: prayer status text#{prayer_times_color}: configured static color (default#89b4fa)#{prayer_times_icon}: icon text (default🕌)
prefix + m: open a popup with today's five prayer times- Configure key via
@prayer-times-popup-key
Current .tmux.conf usage (matching the setup in this repository):
set-option -g @plugin 'YousefHadder/muslim-prayers'
set-option -g @prayer-times-latitude '32.8140'
set-option -g @prayer-times-longitude '-96.9489'
set-option -g @prayer-times-timezone 'America/Chicago'
set-option -g @prayer-times-utc-offset 'auto'
set-option -g @prayer-times-method 'ISNA'
set-option -g @prayer-times-school 'standard'
set-option -g @prayer-times-format '12H'
set-option -g @prayer-times-interval '1'
set-option -g @prayer-times-icon '🕌'
source -F '#{HOME}/scripts/custom_modules/ctp_prayer_times.conf'
run '#{TMUX_PLUGIN_MANAGER_PATH}/tpm/tpm'
set-option -agF status-right ' #{E:@catppuccin_status_ctp_prayer_times}'
run-shell '#{TMUX_PLUGIN_MANAGER_PATH}/muslim-prayers/muslim-prayers.tmux'This plugin is theme-agnostic. You can use it with any tmux theme by placing #{prayer_times}, #{prayer_times_color}, and #{prayer_times_icon} in status-left or status-right.
All settings are tmux options (set -g @prayer-times-*):
| Option | Default | Description |
|---|---|---|
@prayer-times-latitude |
32.8140 |
Latitude |
@prayer-times-longitude |
-96.9489 |
Longitude |
@prayer-times-timezone |
America/Chicago |
IANA timezone for local wall-clock + DST |
@prayer-times-utc-offset |
auto |
UTC offset in hours (auto uses timezone) |
@prayer-times-method |
ISNA |
Method: ISNA, MWL, Egypt, Makkah, Karachi, Tehran, Jafari, France, Russia, Singapore |
@prayer-times-school |
standard |
standard or hanafi |
@prayer-times-format |
12H |
12H, 12h, or 24h |
@prayer-times-interval |
1 |
Refresh interval in minutes |
@prayer-times-icon |
🕌 |
Icon placeholder value |
@prayer-times-color |
#89b4fa |
Static color used by #{prayer_times_color} |
@prayer-times-popup-key |
m |
Key used with tmux prefix to open prayer-times popup |
Example config:
set -g @prayer-times-latitude '32.8140'
set -g @prayer-times-longitude '-96.9489'
set -g @prayer-times-timezone 'America/Chicago'
set -g @prayer-times-utc-offset 'auto'
set -g @prayer-times-method 'ISNA'
set -g @prayer-times-school 'standard'
set -g @prayer-times-format '12H'
set -g @prayer-times-interval '1'
set -g @prayer-times-icon '🕌'
set -g @prayer-times-popup-key 'm'You can source catppuccin_prayer_times.conf from this repo, or copy:
# vim:set ft=tmux:
%hidden MODULE_NAME='ctp_prayer_times'
set-option -ogq "@catppuccin_${MODULE_NAME}_icon" '🕌 '
set-option -ogq "@catppuccin_${MODULE_NAME}_color" '#{l:#{prayer_times_color}}'
set-option -ogq "@catppuccin_${MODULE_NAME}_text" '#{l:#{prayer_times}}'
source-file -F '#{TMUX_PLUGIN_MANAGER_PATH}/tmux/utils/status_module.conf'bash -n muslim-prayers.tmux scripts/helpers.sh scripts/prayer_times.sh scripts/popup_times.sh
lua scripts/prayer_calc.lua 32.8140 -96.9489 auto ISNA standard 12H status America/ChicagoMIT