Skip to content

beaterblank/zen-cal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zen-Cal

A minimal, interactive terminal-based calendar built in Go, with month and year navigation using vim-style or arrow keys.

zen-cal

Note : use https://github.com/beaterblank/omarchy-theme-sync-ctl for dynamic theme change in omarchy.

Installation

Note: The installer updates your Waybar configuration directly but first creates a backup to restore on uninstall, make sure to keep a copy of your config in case recovery is needed.

setup

git clone https://github.com/beaterblank/zen-cal.git && cd zen-cal

Install jq if not already

sudo pacman -S jq

Building

optionally build if you'd like to :

  • Go is required to build
chmod +x ./build.sh
./build.sh

Installation

gets the latest release if not built.

chmod +x ./install.sh
./install.sh

Controls

Key Action
h, Previous month
l, Next month
k, Previous year
j, Next year
r, Reset to today
q, Ctrl+C, esc Quit

Uninstallation

chmod +x ./uninstall.sh ./purge.sh
./uninstall.sh
# optionally only remove zen config files using purge.sh (if your waybar config backup is lost)

Configuration

Zen-Cal can be customized to match your theme. The following defaults work well with most dark themes:

today      = #f38ba8
today_text = #cdd6f4
headings   = #cba6f7
text       = #cdd6f4
weekends   = #f9e2af

You can adjust these values to match your preferred color scheme in ~/.config/zen-cal/zen-cal[ dark / light ].config.

~/.config/hypr/app/zen-cal.conf file defines the window rules; adjust them to position the calendar anywhere on the monitor.

It should look like this:

windowrulev2 = float, class:^(TUI.zencal)$
windowrulev2 = size 14% 18%, class:^(TUI.zencal)$
windowrulev2 = move 86% 2.5%, class:^(TUI.zencal)$
  • move controls the window’s position on the monitor.
  • size controls the window’s dimensions.

By default, the module appears in the right-most corner. If you want it centered, update your Waybar configuration aswell:

  • Add custom/zen-cal to modules-center.
  • Remove custom/zen-cal from the modules-right.

Dependencies

  • hyprland
  • Waybar
  • go lang
  • jq (installation dependency)
  • github.com/charmbracelet/bubbletea
  • github.com/charmbracelet/lipgloss