Calendar progress

As we’re closing in on a simple but functional calendar for Kube, I’d like to share our progress with you.

We’ve decided to start with a week view, as that seems to be a good compromise between information density and enough information for day-to-day use.
We will eventually complement that with a month view, which is probably all we need for the time being.

An agenda view will probably rather become part of a separate view, showing you upcoming events, tasks that need to be taken care of, important emails, ….

Anyhow, here’s the week view:


This view is based on two models, one for full-day events (on top) and one for the rest below. The models each query for all events that overlap with the time-range shown, which we can do efficiently due to the work of Rémi on the calendar queries. That means we really only have to deal with a few events in memory, which we can easily do on the spot. The models then do their magic to calculate the position and sizes of all the necessary boxes, so all we have to do in QML is paint them. This now also includes recurring events, although we’re not dealing with exceptions just yet.

The colors of the events are taken from the calendar, which gets synchronized via CalDAV. This is a tradeoff design wise because you can bet that those colors will not match Kube in any way. But we decided that Kube should work well with other devices and clients, and the color is a major factor to recognize immediately what belongs where. Perhaps we can still make the colors a bit easier on the eye by desaturating them a bit, we’ll have to see.

Otherwise there is dimming of the past, and a blue line indicating the current time. Simple and without distractions.

The next steps are going to be adding a detail view, as well as a simple editor, and then we should already have the basics for your daily needs.

We’re still running a Kolab Now promotion for Kube! For more information head over to:


Author: cmollekopf

Christian Mollekopf is an open source software enthusiast with a special interest in personal organization tools. He started to contribute actively to KDE in 2008 and currently works for Kolab Systems leading the development for the next generation desktop client.

4 thoughts on “Calendar progress”

  1. I started using Kube (installed the Flatpak). The one feature that I think it really needs is the ability to store password, because I’m using a Google App Password, and I don’t really remember it. And without the password, I can’t access my email.

    1. Yeah, not having a keyring is a bummer. I think the first “proper” keyring that we’ll do will use the accounts gpg-key to store the password in an encrypted file. That way we have a keyring that works on all platforms, and we need the gpg keyring anyways for encrypted mails.

  2. Hello,
    This application flatpak requires me to install Gnome, which I won’t use otherwise. Is there a workaround?
    $ flatpak -y –user install –from
    Required runtime for com.kubeproject.kube/x86_64/master (runtime/org.freedesktop.Platform/x86_64/1.6) found in remote gnome
    Installing in user:
    org.freedesktop.Platform/x86_64/1.6 gnome ea1a12e21086
    org.freedesktop.Platform.GL.default/x86_64/1.6 gnome fefd42de91fd
    org.freedesktop.Platform.VAAPI.Intel/x86_64/1.6 gnome f5b764620d7b
    org.freedesktop.Platform.ffmpeg/x86_64/1.6 gnome e01955d7feef
    org.freedesktop.Platform.Locale/x86_64/1.6 gnome 5bc67811966f
    com.kubeproject.kube/x86_64/master com.kubeproject.kube-origin 3b029cc6abe9
    permissions: ipc, network, wayland, x11, dri
    file access: /tmp, host
    tags: nightly
    Installing for user: org.freedesktop.Platform/x86_64/1.6 from gnome
    [####################] 1 metadata, 0 content objects fetched; 313 B transferred in 1 seconds
    error: Failed to install org.freedesktop.Platform/x86_64/1.6: While trying to checkout ea1a12e21086ec56bba0c83a6e97511109cb300cc9deb2dbb1e1e3e68d91aa65 into /home/bogdanbiv/.local/share/flatpak/runtime/org.freedesktop.Platform/x86_64/1.6/.ea1a12e21086ec56bba0c83a6e97511109cb300cc9deb2dbb1e1e3e68d91aa65-L4LUTZ: Opening content object cc700d46f407c6c5ab2d5dde474366a928b7398277e61162e7f8ec06f469f07e: fgetxattr: No data available

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s