/malakal

Minimalistic day-planner app

Primary LanguageRustGNU General Public License v3.0GPL-3.0

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 khal
  • recurrent events: it may add a lot of complexity so it’s not currently planned

Keyboard shortcuts

KeysActions
Tab/Shift-TabFocus previous/next event
Arrow keysFocus event on the given direction
Ctrl+Arrow keysMove focused event
Shift+Up/DownResize focused event
nCreate new event
x/DelDelete 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:

cargo install malakal

Alternatively, you can download the binary from release page.