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-headless,
and build/libcalenter.so. The first artifact is the app binary. The seconds artifact is a headless version of the app that is basically an entrypoint for
libcalenter (for debugging purposes). The third artifact is a shared library containing the backend code (e.g., reading/writing to calendar.txt,
parsing ics files, a custom array type, etc.).
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.