khal, a fancy calendar app in your terminal© Karobben

khal, a fancy calendar app in your terminal

khal calendar

The store begins I find I had a very terrible memory and forget the schedules again and again. I really need a calendar to stick on the wall and remind me again and again. I considered some online services like outlook calendar or google calendar but they are not fancy. I think it could be cool that I can show it in the terminal, for one thing, is that I can make the background dark to save the bower. On the other hand, I can use the old tablet or android phone to display the calendar for a whole day in the “termux”. It could also be my small server for running some programs.

According to some posts, it can also sync your online calendars like google calendar or outlook calendar. I tried to use vdirsyncer to synchronize the Google calendar but failed. I applied the Client ID but it tell me that I had uri_redirect_mistake. Annoying.

But anyway, I still like to use it in local, synchronize them through the local network with some stupid bash scrip. So, I’ll introduce the basic use of the khal to build your local calendar. Cheers!

vdirsyncer

sudo apt install vdirsyncer
mkdir /home/ken/.config/vdirsyncer
touch /home/ken/.config/vdirsyncer/config
vdirsyncer discover personal_sync

khal

sudo apt install khal
# Creat a configure file
khal configure

How the initiated configure file looks like:

[calendars]

[[private]]
path = /home/ken/.local/share/khal/calendars/private
type = calendar

[locale]
timeformat = %H:%M
dateformat = %Y-%m-%d
longdateformat = %Y-%m-%d
datetimeformat = %Y-%m-%d %H:%M
longdatetimeformat = %Y-%m-%d %H:%M

Detailed configuration paremeters could be find at: Documentation

More information:

Bugs in Termux

File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/atomicwrites/__init__.py", line 59, in _move_atomic
	os.link(src, dst)
AttributeError: module 'os' has no attribute 'link'

vim /data/data/com.termux/files/usr/lib/python3.9/site-packages/atomicwrites/__init__.py


def link(src, dest):
shutil.copyfile(src, dest)

def unlink(src):
os.remove(src)

os.link = link
os.unlink = unlink

khal, a fancy calendar app in your terminal

https://karobben.github.io/2022/05/02/Blog/khal/

Author

Karobben

Posted on

2022-05-02

Updated on

2023-06-06

Licensed under

Comments