#egui #calendar #desktop

app malakal

a day-planning calendar app based on egui

6 releases

0.1.9 May 21, 2023
0.1.8 Dec 20, 2022
0.1.6 Oct 1, 2022
0.1.4 Aug 23, 2022

#45 in #calendar

46 downloads per month

Custom license


  • Malakal

Malakal is a day planner application. I crafted it because I was not able to find a comfortable calendar application for Linux.

I consider it in a mostly usable state - I myself have been using it on a daily basis for around a year now. Bug reports, feature requests, and contributions are warmly welcomed.


  • Features

Core features:

  • quickly add/modify/relocate/clone/delete events
  • notify on event starts
  • stored as standard ical files
  • post-update command (for running e.g. vdirsyncher)

UI/UX features:

  • click to edit event title
  • snapping mode (hold down shift to precision mode)
  • ctrl-z to undo modifications
  • drag on blank to create events
  • drag on an event to change its begin/end time or move the event
  • ctrl-drag on an event to clone it
  • right-click on an event to open menu (for event detail & deletion)
  • right-click on blank area to open calendar view
  • quickly jumping to dates in calendar view
  • current date/time indicator
  • full keyboard support for navigation/event manipulation

Typical calendar features that are not supported by malakal:

  • synchronization/webdav: for now, you can use vdirsync for synchronization
  • command line query: malakal happily shares local ical files with [[https://github.com/pimutils/khal][khal]]
  • recurrent events: it may add a lot of complexity so it's not currently planned
  • Keyboard shortcuts

| Keys | Actions | |-----------------+------------------------------------| | Tab/Shift-Tab | Focus previous/next event | | Arrow keys | Focus event on the given direction | | Ctrl+Arrow keys | Move focused event | | Shift+Up/Down | Resize focused event | | n | Create new event | | x/Del | Delete focused event |

Arrow keys can be substituted for vim-style navigation keys (hjkl) in all above cases.

  • Installation

If you have rust on your computer, you can type:

#+begin_src cargo install malakal #+end_src

Alternatively, you can download the binary from release page.


~1M SLoC