Calenter is a TUI frontend for calendar.txt inspired by Impala and Bluetui.
Run the following:
git clone https://github.com/jsypal04/Calenter.git
makeThis command produces three artifacts: build/calenter, build/calenter-notification-daemon,
and libcalenter.so. The first artifact is the app binary. The seconds artifact is the daemon process that sends
notifications when the event gets close enough (configurable, see below). The third artifact is a shared library
containing the code shared between the two executables.
To run the app without installing it use the following command.
make runThis sets the library paths properly before starting the app which prevents missing library issues.
You may create a config file at ~/.config/calenter/config. It uses the
following basic syntax:
key=value
Currently, there are only options to add a remote calendar and to configure notification settings. An example config is included below.
remote_url=<your gcal url>
enable_notifications=true
notify_time=10
Notes on config options:
remote_urlshould be a permalink to a .ics fileenable_notificationsis the master toggle for the notification daemon; if it is false, then the daemon will be stopped.notify_timeis the amount of time in minutes before an event that the daemon will send a notification.
Run the following commands:
git clone https://github.com/jsypal04/Calenter.git
sudo make installThis is a list of features I want to add.
- Ability to add all day events
- Repeat rules
- Store event date-time data as a
struct tm - Enable creating events with repeat rules.
- Write algorithm to process BYxxx rules
- Store event date-time data as a
- Multi-day all day events
- Native ics parser
- Ability for configuration (need to flesh this out)
- Notifications
- Colors
- Layout
- Add cursors to input fields
This is a list of known bugs.
- If lines of an ICS file end in LF instead of CRLF it causes a seg fault
- This is not really a bug since by the RFC, ICS file lines must end int CRLF but it would probably be good to add fault handling.
- When the app launches the daemon process the terminal stays open after the app is closed.