A compact calendar indicator for the GNOME panel, inspired by Itsycal for macOS.
Litsycal brings the simplicity of Itsycal to Linux. Click the panel indicator to reveal a small monthly calendar. No frills, no clutter.
Supported GNOME Shell versions: 48, 49, 50
Get it on extensions.gnome.org.
While the calendar popup is open, these keys work — arrow keys and vi-style
h/j/k/l both move the selected day around (use j in place of Down
if the arrow key doesn't respond, since GNOME Shell reserves it for its own
menu navigation). The rest mirror Itsycal's own shortcuts,
with Ctrl standing in for Itsycal's Command key (there's no Command key on
Linux):
| Key | Action |
|---|---|
← / h |
Previous day |
→ / l |
Next day |
↑ / k |
Previous week |
j |
Next week |
Shift + ← / Shift + H |
Previous month |
Shift + → / Shift + L |
Next month |
Shift + ↑ / Shift + K |
Next year |
Shift + ↓ / Shift + J |
Previous year |
Space |
Jump to today |
# |
Show selected day's offset from today and day of year |
Ctrl + J / Ctrl + K |
Add/remove a week row in the calendar |
P |
Pin the calendar open (unpinning is click-only — see below) |
W |
Show/hide calendar week numbers |
. |
Show/hide event locations in the agenda |
Ctrl + , |
Open Settings |
Ctrl + O |
Open the default calendar app |
Ctrl + F |
Search events across every connected calendar, roughly a year back and forward |
Ctrl + Shift + J |
Open the first active virtual meeting in the agenda |
Ctrl + N |
Create a new event |
Ctrl + Shift + N |
Quick-add an event from a one-liner (e.g. "Lunch tomorrow 12pm at Cafe Nero") — opens the full form pre-filled with whatever it recognized, for you to confirm or fix before saving |
Ctrl + Shift + T |
Go to date |
Ctrl + Alt + R |
Refresh events |
Ctrl + Q |
Quit Litsycal |
Pinning is the one shortcut that only works in one direction. A pinned calendar deliberately doesn't hold keyboard focus — that's the whole point, so the rest of your desktop stays usable while it stays visible — which means no shortcut reaches it once it's pinned. Unpin by clicking the pin button again (or by clicking the panel button, which unpins and reopens the popup).
Quick-add recognizes weekday names in your system's own locale automatically
(no translation needed for those), but the fixed keywords — "today",
"tomorrow", "next", and the word for "at" — currently only match their
English form until a translation adds the local equivalent (see
quickAddParser.js if you're contributing one).
Clicking an event in the agenda opens a small read-only popover with its details, right next to the row — itsycal's own popover, ported. These keys work while it's open:
| Key | Action |
|---|---|
Esc |
Close the popover |
Backspace / Delete |
Delete the event (asks you to confirm first, same as the edit dialog's own Delete button) |
Clicking anywhere outside the popover closes it; clicking a different event closes this one and opens that event's popover in the same click. Editing an event is one step further away now — right-click the event and choose Edit….
Add time zones under Preferences → General → Time Zones to show live clocks between the agenda and the footer. To also show how far ahead or behind each one is (e.g. São Paulo ........ 14:32 (-6h)), set Home Timezone in the same page — pick your home city, or use Detect my location. The offset labels stay hidden while Home Timezone is unset; it's deliberately a separate setting rather than your system's timezone, so the offsets stay correct while you travel.
Calendar events require Evolution Data Server. Without it, Litsycal still opens — the calendar grid and time-zone clocks work — but no calendars or events are available.
- Debian/Ubuntu:
sudo apt install evolution-data-server gir1.2-edataserver-1.2 gir1.2-ecal-2.0 gir1.2-ical-3.0 - Fedora:
sudo dnf install evolution-data-server
Install Litsycal from its page on GNOME Extensions: extensions.gnome.org/extension/10933/litsycal
Toggle it on there (with the GNOME Shell browser integration installed), or use the Extension Manager app and search for "Litsycal". Updates arrive automatically through GNOME's extension updater.
Developing on Litsycal instead of just installing it? Follow CONTRIBUTING.md for the development setup and checks.
-
Clone the repository:
git clone git@github.com:mlkonrad/litsycal.git
-
Copy to your GNOME extensions directory:
cp -r litsycal ~/.local/share/gnome-shell/extensions/litsycal@mlkonrad.github.com -
Compile the settings schema:
glib-compile-schemas ~/.local/share/gnome-shell/extensions/litsycal@mlkonrad.github.com/schemas/ -
Restart GNOME Shell and enable the extension:
gnome-extensions enable litsycal@mlkonrad.github.com
Litsycal is a Linux port of Itsycal, a tiny menu bar calendar for macOS created by sfsam. The original concept, design, and inspiration all belong to him.
- Original project: https://github.com/sfsam/itsycal
- Original author's website: http://www.mowglii.com/itsycal
The name "Litsycal" and its framing as a port of Itsycal were approved by Sanjay Madan directly via email.
MIT License — see LICENSE for details.
The original Itsycal is also released under the MIT License.
