Osmo is a handy personal organizer, which includes calendar, tasks manager, address book and notes modules. It was designed to be a small, easy to use and good looking PIM tool to help to manage personal information. In its current state the organizer is quite convenient to use – for example, the user can perform nearly all operations using the keyboard. Also, a lot of parameters are configurable to meet the user’s preferences. On the technical side, Osmo is GTK+ based tool which uses a plain XML database to store all personal data.

project page at sourceforge.net


Currently, Osmo has the following features:

  • General:
    • compact interface
    • configurable GUI layout
    • encrypted private data backup
  • Calendar:
    • day notes with text attributes (italic, bold, underline, etc.)
    • date calculator
    • built-in full year calendar
    • compact mode
    • auxiliary calendars for next and previous month
    • basic iCalendar support (import/export)
    • integration with Tasks and Contacts modules
  • Tasks:
    • advanced reminder
    • alarm actions per task (commands, sounds, etc.)
    • tasks list printing
    • quick search
    • category filter
    • due date modification on the fly
    • basic iCalendar support (export)
    • date dependent task coloring
  • Contacts:
    • robust search functionality
    • birthdays browser
    • addresses location on the map
    • basic import/export filters (csv, xhtml)
  • Notes:
    • handy notes selector
    • category filter
    • quick search
    • optional encryption using user-defined password
    • text attributes (italic, bold, underline, etc.)


2017-11-20: version 0.4.2

  • Added support for Webkit user stylesheets
  • GtkSpell replaced by gspelli
  • Few important bugs fixed
  • Updated translations

2020-07-12: version 0.4.4

  • Several compilation problems fixed
  • Replaced compiled-in graphics with resource images
  • Many bug fixes and cleanups



Required packages:

  • GTK+ – The GIMP Toolkit library, version >= 3.10.0
  • LibXML 2 library, version >= 2.0.0

Optional packages:

  • notify library, version >= 0.7.0
  • webkit2gtk library, version >= 2.4.0
  • ical library, version >= 1.0
  • archive library, version >= 3.0.0
  • gringotts library, version >= 1.2.1
  • gspell library, version >= 1.2.0


Browse files on Source Forge

The latest tarball is osmo-0.4.2.tar.gz (1.4 MB)

sha256sum: e9c32008c0daeb912fbfb103df4cf21938787b35

Osmo package is available in the following distributions:

– Arch Linux
– Debian
– Fedora
– FreeBSD
– Gentoo
– LinuxMint
– OpenBSD
– OpenSuse
– PuppyLinux
– Slackware
– Ubuntu

Code Repository

Please check the repository *before* submitting a bug. Use following command to get the bleeding-edge version of Osmo:

git clone https://git.code.sf.net/p/osmo-pim/osmo osmo


Osmo is standalone GUI-based program, so just run and have fun. However, there are a few command line options:

  osmo [OPTION...]

Help Options:
  -?, --help                  Show help options

Application Options:
  -c, --calendar              Show small calendar window
  -e, --check                 Check for events since last run
  -d, --days                  Number of days to check forward for events (default: 0)
  -s, --config=STRING          Set absolute path for settings and data files
  -q, --mutt-query=STRING     Match contacts with given string
  --html-stylesheet=STRING    HTML renderer stylesheet file


  • How to add or update translations in Osmo?Please join or create the language team at Transifex.
  • How to use Osmo with different configurations?Since version 0.4.0 Osmo uses XDG Base Directory Specification for storing configuration and data files. The files are stored in locations indicated by XDG_CONFIG_HOME and XDG_DATA_HOME environmental variables. Typically, these variables are set to $HOME/.config/osmo and $HOME/.local/share/osmo directories. 

    In order to run Osmo with other setup, these variables have to be adjusted – e.g. (for BASH shell):export XDG_CONFIG_HOME=”path/to/osmo/config” export XDG_DATA_HOME=”path/to/osmo/data”
  • Does Osmo support data synchronization with online services?Unfortunately no. Because of lack of our interest in such feature we do not plan to work on it. Any patches related to data synchronization functionality are welcome.
  • I get the following message on console when I run Osmo:

    java version “1.7.0_55”
    OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
    OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode

    Does Osmo require Java?No, this message is generated by Java plugin for Webkit. Because Osmo uses Webkit for HTML rendering such output is generated during initialization.


Preliminary version of Osmo documentation is available here. Feel free to contribute!


We are interested in users opinions, translations and feature requests. In software, like you also often find sometimes in homes and gardens, nuisance bugs can, and most likely, will be present. If you found a bug, just as you would do if you find a pest in your yard, get the right advice and please report it using SourceForge Bug Tracker. The bug report should have included Osmo version or revision number (for SVN builds), steps needed to reproduce bug and additional example files if required. Also, you could be interested in subscribing our mailing list for discussion of use and development of Osmo.