Skip to content
mlkonradPublic

About

GNOME Shell calendar extension — Linux port of Itsycal for macOS

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

217 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Litsycal  

A compact calendar indicator for the GNOME panel, inspired by Itsycal for macOS.

Screenshot

About

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.

Keyboard Shortcuts

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).

Event info popover

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….

Time zones

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.

Installation

Dependencies

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

From extensions.gnome.org (recommended)

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.

From source

Developing on Litsycal instead of just installing it? Follow CONTRIBUTING.md for the development setup and checks.

  1. Clone the repository:

    git clone git@github.com:mlkonrad/litsycal.git
  2. Copy to your GNOME extensions directory:

    cp -r litsycal ~/.local/share/gnome-shell/extensions/litsycal@mlkonrad.github.com
  3. Compile the settings schema:

    glib-compile-schemas ~/.local/share/gnome-shell/extensions/litsycal@mlkonrad.github.com/schemas/
  4. Restart GNOME Shell and enable the extension:

    gnome-extensions enable litsycal@mlkonrad.github.com

Credits

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.

The name "Litsycal" and its framing as a port of Itsycal were approved by Sanjay Madan directly via email.

License

MIT License — see LICENSE for details.

The original Itsycal is also released under the MIT License.

About

GNOME Shell calendar extension — Linux port of Itsycal for macOS

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages