Personal noctalia plugins collection
1# Weekly Calendar Plugin
2
3A weekly calendar plugin that makes use of Noctalia's [CalendarService.qml](https://github.com/noctalia-dev/noctalia-shell/blob/main/Services/Location/CalendarService.qml) to display events.
4## Features
5
6- **Bar Widget**: Show a quick tooltip to see current and upcoming events on hover (updates occur on click);
7- **Panel**: Complete weekly calendar interface supporting both all-day and normal events with a native-like interface;
8- **Keyboard Navigation**: Use arrow keys to navigate through your events;
9- **Settings**: Choose time format, first day of the week, grid line colour and opacity.
10
11## Installation
12
13This plugin is part of the [noctalia-plugins](https://github.com/noctalia-dev/noctalia-plugins) repository, installation can either be done by:
141. adding it as a source in the plugins section;
152. cloning this into `~/.config/noctalia/plugins`.
16
17## Configuration
18
19- **First day of week**: Choose which day starts the week in the weekly calendar (Monday, Sunday or Saturday).
20- **Use 12-hour format**: Display time in 12-hour format (AM/PM) instead of 24-hour format.
21- **Grid Lines**: Depending on your theming, choose the color and opacity used for the grid lines for better visibility.
22
23## IPC Commands
24
25Currently there is `1` IPC command:
26
27```bash
28# Toggle the panel
29qs -c noctalia-shell ipc call plugin:weekly-calendar togglePanel
30```
31
32## Usage
33
34As a result of relying on Noctalia's [CalendarService.qml](https://github.com/noctalia-dev/noctalia-shell/blob/main/Services/Location/CalendarService.qml), this plugin supports any calendar that works with `evolution-data-server`, covering all major calendar services (e.g. NextCloud, Google Calendar, and CalDAV / WebDAV servers).
35
36The most straightforward ways to start is by either downloading `evolution` or `gnome-calendar` and set calendars through them.
37
38## Minimum Requirements
39
40- **Noctalia Shell**: 4.2.3 or later.
41- `evolution-data-server` (also needed for Noctalia's month calendar to display events)
42- **Python packages**: EDataServer, ECal, and ICalGLib. (see [calendar-events.py](https://github.com/noctalia-dev/noctalia-shell/blob/main/Scripts/python/src/calendar/calendar-events.py))
43