Author SHA1 Message Date
davidandClaude Opus 5.5 a818b79c0b Point metadata and README at Federated Computer
Federated Computer is the developer, CoreDesktop's site the homepage,
and the federated-calendar repository's issues the bug tracker and
support. Drop the GNOME links and project group, which don't apply
here; the About dialog now takes its support link from the metainfo.

The README says Federated Calendar is based on GNOME Calendar, links
to it, and explains how to build and run it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 09:12:38 -06:00
davidandClaude Opus 5.5 aa63bc3b3b data/icons: Draw a Federated Calendar icon
A calendar in CoreDesktop's colors, with its sparkle marking today:
navy header with a cyan edge, and a magenta sparkle among the days.
The development icon adds GNOME's construction tape, and the symbolic
icons show the sparkle in the calendar outline.

Drop GNOME Calendar's icon source, which nothing builds from.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 09:12:38 -06:00
davidandClaude Opus 5.5 333f7d9ec8 Revert "federated: Log why invitations aren't offered"
The invite field shows where it should; the logging was only needed to
track down why it didn't, which was the application ID clash with
GNOME Calendar.

This reverts commit dd1c1cd0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 09:09:51 -06:00
davidandClaude Opus 5.5 93d2369724 Rename to Federated Calendar
Ship as Federated Calendar, with the application ID
computer.federated.FederatedCalendar and the executable
federated-calendar, so it can be installed and run alongside GNOME
Calendar.

The settings schema follows the application ID too, so the two don't
share settings or install the same schema. The project name sets the
executable, gettext domain and data directory; the desktop file, D-Bus
service, search provider, metainfo and icons follow the application ID.

Internal resource paths and the template file names are unchanged, to
keep merging from GNOME Calendar simple.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 09:01:27 -06:00
davidandClaude Opus 5.5 dd1c1cd014 federated: Log why invitations aren't offered
With -vvv, say which check stopped people from being invited to an
event: a read-only calendar, a calendar that isn't on a Core's
Nextcloud, or an event organized by someone else.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 08:59:22 -06:00
24 changed files with 207 additions and 3793 deletions
+37 -16
View File
@@ -1,32 +1,53 @@
<div align="center">
<img src="data/icons/hicolor/scalable/apps/org.gnome.Calendar.svg" width="128" height="128">
<img src="data/icons/hicolor/scalable/apps/computer.federated.FederatedCalendar.svg" width="128" height="128">
# GNOME Calendar
# Federated Calendar
Manage your schedule
<img width="922" src="https://static.gnome.org/appdata/gnome-50/org.gnome.Calendar/month-view.png">
</div>
## Installation
Federated Calendar is a calendar app for [CoreDesktop] that works with the
calendars of your Federated Computer Core. Invite people to your events by
email, and your Core sends them the invitations, updates and cancellations.
[![Flatpak](https://flathub.org/api/badge?svg&locale=en)](https://flathub.org/apps/details/org.gnome.Calendar)
It's based on [GNOME Calendar], and can be installed alongside it.
## Inviting people
People can be invited to events on the calendars of a Core that CoreDesktop's
`configure` has set up on this computer. You become the event's organizer, and
the Core's Nextcloud emails the invitations when you save the event.
## Building
```sh
meson setup _build
ninja -C _build
```
To run it without installing:
```sh
GSETTINGS_SCHEMA_DIR=_build/data ./_build/src/federated-calendar
```
To install it in `/usr/local`:
```sh
sudo ninja -C _build install
```
## Links
- Homepage: [apps.gnome.org/Calendar]
- Report an issue: [gitlab.gnome.org/GNOME/gnome-calendar/issues]
- Donate: [donate.gnome.org]
- Translate: [l10n.gnome.org/module/gnome-calendar]
- Contact: [matrix.to/#/#gnome-calendar:gnome.org]
- Homepage: [coredesktop.computer][CoreDesktop]
- Report an issue: [gitea.federated.computer/Federated_Computer/federated-calendar/issues]
- Based on: [GNOME Calendar]
## Contributing
For information on how to contribute, please check [CONTRIBUTING.md](CONTRIBUTING.md) and [HACKING.md](HACKING.md).
[apps.gnome.org/Calendar]: https://apps.gnome.org/Calendar
[gitlab.gnome.org/GNOME/gnome-calendar/issues]: https://gitlab.gnome.org/GNOME/gnome-calendar/issues/
[donate.gnome.org]: https://donate.gnome.org/
[l10n.gnome.org/module/gnome-calendar]: https://l10n.gnome.org/module/gnome-calendar/
[matrix.to/#/#gnome-calendar:gnome.org]: https://matrix.to/#/#gnome-calendar:gnome.org/
[CoreDesktop]: https://coredesktop.computer
[GNOME Calendar]: https://gitlab.gnome.org/GNOME/gnome-calendar
[gitea.federated.computer/Federated_Computer/federated-calendar/issues]: https://gitea.federated.computer/Federated_Computer/federated-calendar/issues
+2 -2
View File
@@ -1,9 +1,9 @@
{
"app-id" : "org.gnome.Calendar.Devel",
"app-id" : "computer.federated.FederatedCalendar.Devel",
"runtime" : "org.gnome.Platform",
"runtime-version" : "master",
"sdk" : "org.gnome.Sdk",
"command" : "gnome-calendar",
"command" : "federated-calendar",
"tags" : [
"devel"
],
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="header" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#0f3a57"/>
<stop offset="1" stop-color="#052b42"/>
</linearGradient>
<linearGradient id="page" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#ffffff"/>
<stop offset="1" stop-color="#f3f4f5"/>
</linearGradient>
<linearGradient id="sparkle" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#ff3daf"/>
<stop offset="1" stop-color="#d4008a"/>
</linearGradient>
</defs>
<!-- the calendar's base, seen from slightly above -->
<rect x="12" y="18" width="104" height="96" rx="12" fill="#001a2b"/>
<rect x="12" y="16" width="104" height="94" rx="12" fill="#c9d0d6"/>
<!-- page -->
<rect x="12" y="14" width="104" height="92" rx="12" fill="url(#page)"/>
<!-- header -->
<path d="M 24 14 H 104 A 12 12 0 0 1 116 26 V 38 H 12 V 26 A 12 12 0 0 1 24 14 Z" fill="url(#header)"/>
<rect x="12" y="38" width="104" height="2" fill="#2ee6d6"/>
<!-- days -->
<circle cx="28" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="42.4" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="56.8" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="71.2" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="85.6" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="100" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="28" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="42.4" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="71.2" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="85.6" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="100" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="28" cy="90" r="3.75" fill="#a3aeb7"/>
<circle cx="42.4" cy="90" r="3.75" fill="#a3aeb7"/>
<circle cx="56.8" cy="90" r="3.75" fill="#a3aeb7"/>
<circle cx="71.2" cy="90" r="3.75" fill="#e2e6ea"/>
<circle cx="85.6" cy="90" r="3.75" fill="#e2e6ea"/>
<circle cx="100" cy="90" r="3.75" fill="#e2e6ea"/>
<!-- today -->
<path d="M 56.8 62 Q 58.5 70.3 66.8 72 Q 58.5 73.7 56.8 82 Q 55.099999999999994 73.7 46.8 72 Q 55.099999999999994 70.3 56.8 62 Z" fill="url(#sparkle)"/>
<!-- development build -->
<clipPath id="calendar"><rect x="12" y="14" width="104" height="100" rx="12"/></clipPath>
<g clip-path="url(#calendar)">
<rect x="0" y="86" width="128" height="30" fill="#f6d32d"/>
<path d="M -72 116 H -60 L -30 86 H -42 Z" fill="#241f31"/>
<path d="M -48 116 H -36 L -6 86 H -18 Z" fill="#241f31"/>
<path d="M -24 116 H -12 L 18 86 H 6 Z" fill="#241f31"/>
<path d="M 0 116 H 12 L 42 86 H 30 Z" fill="#241f31"/>
<path d="M 24 116 H 36 L 66 86 H 54 Z" fill="#241f31"/>
<path d="M 48 116 H 60 L 90 86 H 78 Z" fill="#241f31"/>
<path d="M 72 116 H 84 L 114 86 H 102 Z" fill="#241f31"/>
<path d="M 96 116 H 108 L 138 86 H 126 Z" fill="#241f31"/>
<path d="M 120 116 H 132 L 162 86 H 150 Z" fill="#241f31"/>
<path d="M 144 116 H 156 L 186 86 H 174 Z" fill="#241f31"/>
<path d="M 168 116 H 180 L 210 86 H 198 Z" fill="#241f31"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="header" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#0f3a57"/>
<stop offset="1" stop-color="#052b42"/>
</linearGradient>
<linearGradient id="page" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#ffffff"/>
<stop offset="1" stop-color="#f3f4f5"/>
</linearGradient>
<linearGradient id="sparkle" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#ff3daf"/>
<stop offset="1" stop-color="#d4008a"/>
</linearGradient>
</defs>
<!-- the calendar's base, seen from slightly above -->
<rect x="12" y="18" width="104" height="96" rx="12" fill="#001a2b"/>
<rect x="12" y="16" width="104" height="94" rx="12" fill="#c9d0d6"/>
<!-- page -->
<rect x="12" y="14" width="104" height="92" rx="12" fill="url(#page)"/>
<!-- header -->
<path d="M 24 14 H 104 A 12 12 0 0 1 116 26 V 38 H 12 V 26 A 12 12 0 0 1 24 14 Z" fill="url(#header)"/>
<rect x="12" y="38" width="104" height="2" fill="#2ee6d6"/>
<!-- days -->
<circle cx="28" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="42.4" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="56.8" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="71.2" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="85.6" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="100" cy="54" r="3.75" fill="#a3aeb7"/>
<circle cx="28" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="42.4" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="71.2" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="85.6" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="100" cy="72" r="3.75" fill="#a3aeb7"/>
<circle cx="28" cy="90" r="3.75" fill="#a3aeb7"/>
<circle cx="42.4" cy="90" r="3.75" fill="#a3aeb7"/>
<circle cx="56.8" cy="90" r="3.75" fill="#a3aeb7"/>
<circle cx="71.2" cy="90" r="3.75" fill="#e2e6ea"/>
<circle cx="85.6" cy="90" r="3.75" fill="#e2e6ea"/>
<circle cx="100" cy="90" r="3.75" fill="#e2e6ea"/>
<!-- today -->
<path d="M 56.8 62 Q 58.5 70.3 66.8 72 Q 58.5 73.7 56.8 82 Q 55.099999999999994 73.7 46.8 72 Q 55.099999999999994 70.3 56.8 62 Z" fill="url(#sparkle)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -1,109 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientTransform="matrix(-1 0 0 -1 -0.00005 -172)" gradientUnits="userSpaceOnUse" x1="-12.249268" x2="-115.523453" y1="-288.6633" y2="-288.6633">
<stop offset="0" stop-color="#613583"/>
<stop offset="0.0433748" stop-color="#af60ef"/>
<stop offset="0.0920385" stop-color="#613583"/>
<stop offset="0.903034" stop-color="#613583"/>
<stop offset="0.955148" stop-color="#874ab4"/>
<stop offset="1" stop-color="#3b214e"/>
</linearGradient>
<linearGradient id="b" gradientTransform="matrix(-1 0 0 -1 123.999942 -177)" gradientUnits="userSpaceOnUse" x1="7.99999" x2="111.999992" y1="-244" y2="-244">
<stop offset="0" stop-color="#d5d3cf"/>
<stop offset="0.0384615" stop-color="#f6f5f4"/>
<stop offset="0.0769231" stop-color="#d5d3cf"/>
<stop offset="0.923077" stop-color="#d5d3cf"/>
<stop offset="0.961538" stop-color="#eeeeec"/>
<stop offset="1" stop-color="#d5d3cf"/>
</linearGradient>
<linearGradient id="c" gradientTransform="matrix(-1 0 0 -1 -0.00005 -171)" gradientUnits="userSpaceOnUse" x1="-64" x2="-64" y1="-280" y2="-182">
<stop offset="0" stop-color="#ffffff"/>
<stop offset="1" stop-color="#f6f5f4"/>
</linearGradient>
<clipPath id="d">
<rect height="128" width="128"/>
</clipPath>
<clipPath id="e">
<rect height="128" width="128"/>
</clipPath>
<filter id="f" height="100%" width="100%" x="0%" y="0%">
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<mask id="g">
<g clip-path="url(#e)" filter="url(#f)">
<g clip-path="url(#d)">
<path d="m 108 117 h -88 c -4.417969 0 -8 -4.234375 -8 -9.453125 v -70.09375 c 0 -5.21875 3.582031 -9.453125 8 -9.453125 h 88 c 4.417969 0 8 4.234375 8 9.453125 v 70.09375 c 0 5.21875 -3.582031 9.453125 -8 9.453125 z m 0 0" fill="url(#a)"/>
<path d="m 108 115 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -24 c 0 -4.417969 3.582031 -8 8 -8 h 88 c 4.417969 0 8 3.582031 8 8 v 24 c 0 4.417969 -3.582031 8 -8 8 z m 0 0" fill="url(#b)"/>
<path d="m 108 109 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -69.003906 c 0 -4.417969 3.582031 -8 8 -8 h 88 c 4.417969 0 8 3.582031 8 8 v 69.003906 c 0 4.417969 -3.582031 8 -8 8 z m 0 0" fill="url(#c)"/>
<path d="m 20 13 c -4.433594 0 -8 3.566406 -8 8 v 15 h 104 v -15 c 0 -4.433594 -3.566406 -8 -8 -8 z m 0 0" fill="#9141ac"/>
<path d="m 12 34 v 2 h 104 v -2 z m 0 0" fill="#613583"/>
<path d="m 28.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -170)"/>
<path d="m 44.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -170)"/>
<path d="m 60.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -170)"/>
<path d="m 76.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -170)"/>
<path d="m 92.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -170)"/>
<path d="m 108.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -170)"/>
<path d="m 28.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -193)"/>
<path d="m 44.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -193)"/>
<path d="m 60.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -193)"/>
<path d="m 76.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -193)"/>
<path d="m 92.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -193)"/>
<path d="m 108.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -193)"/>
<path d="m 28.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -216)"/>
<path d="m 44.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -216)"/>
<path d="m 60.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -216)"/>
<path d="m 76.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -216)"/>
<path d="m 92.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -216)"/>
<path d="m 108.00005 266 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc" stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="matrix(1 0 0 1 -0.00005 -216)"/>
<path d="m 63.972656 73 c 0 4.402344 -3.570312 7.972656 -7.972656 7.972656 s -7.972656 -3.570312 -7.972656 -7.972656 s 3.570312 -7.972656 7.972656 -7.972656 s 7.972656 3.570312 7.972656 7.972656 z m 0 0" fill="#9141ac"/>
</g>
</g>
</mask>
<mask id="h">
<g filter="url(#f)">
<rect fill-opacity="0.8" height="128" width="128"/>
</g>
</mask>
<linearGradient id="i" gradientTransform="matrix(0 0.37 -0.98462 0 295.38501 -30.360001)" gradientUnits="userSpaceOnUse" x1="300" x2="428" y1="235" y2="235">
<stop offset="0" stop-color="#f9f06b"/>
<stop offset="1" stop-color="#f5c211"/>
</linearGradient>
<clipPath id="j">
<rect height="128" width="128"/>
</clipPath>
<clipPath id="k">
<rect height="128" width="128"/>
</clipPath>
<path d="m 108 117 h -88 c -4.417969 0 -8 -4.234375 -8 -9.453125 v -70.09375 c 0 -5.21875 3.582031 -9.453125 8 -9.453125 h 88 c 4.417969 0 8 4.234375 8 9.453125 v 70.09375 c 0 5.21875 -3.582031 9.453125 -8 9.453125 z m 0 0" fill="url(#a)"/>
<path d="m 108 115 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -24 c 0 -4.417969 3.582031 -8 8 -8 h 88 c 4.417969 0 8 3.582031 8 8 v 24 c 0 4.417969 -3.582031 8 -8 8 z m 0 0" fill="url(#b)"/>
<path d="m 108 109 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -69.003906 c 0 -4.417969 3.582031 -8 8 -8 h 88 c 4.417969 0 8 3.582031 8 8 v 69.003906 c 0 4.417969 -3.582031 8 -8 8 z m 0 0" fill="url(#c)"/>
<path d="m 20 13 c -4.433594 0 -8 3.566406 -8 8 v 15 h 104 v -15 c 0 -4.433594 -3.566406 -8 -8 -8 z m 0 0" fill="#9141ac"/>
<path d="m 12 34 v 2 h 104 v -2 z m 0 0" fill="#613583"/>
<g stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
<path d="m 28 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 44 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 60 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 76 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa"/>
<path d="m 92 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa"/>
<path d="m 108 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa"/>
<path d="m 28 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 44 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 60 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 76 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 92 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 108 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 28 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa"/>
<path d="m 44 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 60 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 76 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 92 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 108 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
</g>
<path d="m 63.972656 73 c 0 4.402344 -3.570312 7.972656 -7.972656 7.972656 s -7.972656 -3.570312 -7.972656 -7.972656 s 3.570312 -7.972656 7.972656 -7.972656 s 7.972656 3.570312 7.972656 7.972656 z m 0 0" fill="#9141ac"/>
<g clip-path="url(#k)" mask="url(#g)">
<g clip-path="url(#j)" mask="url(#h)">
<path d="m 128 80.640625 v 47.359375 h -128 v -47.359375 z m 0 0" fill="url(#i)"/>
<path d="m 13.308594 80.640625 l 47.355468 47.359375 h 21.214844 l -47.359375 -47.359375 z m 42.421875 0 l 47.363281 47.359375 h 21.214844 l -47.363282 -47.359375 z m 42.429687 0 l 29.839844 29.839844 v -21.210938 l -8.628906 -8.628906 z m -98.160156 7.90625 v 21.214844 l 18.238281 18.238281 h 21.214844 z m 0 0"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 13 KiB

@@ -1,49 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientTransform="matrix(-1 0 0 -1 -0.00005 -172)" gradientUnits="userSpaceOnUse" x1="-12.249268" x2="-115.523453" y1="-288.6633" y2="-288.6633">
<stop offset="0" stop-color="#613583"/>
<stop offset="0.0433748" stop-color="#af60ef"/>
<stop offset="0.0920385" stop-color="#613583"/>
<stop offset="0.903034" stop-color="#613583"/>
<stop offset="0.955148" stop-color="#874ab4"/>
<stop offset="1" stop-color="#3b214e"/>
</linearGradient>
<linearGradient id="b" gradientTransform="matrix(-1 0 0 -1 123.999942 -177)" gradientUnits="userSpaceOnUse" x1="7.99999" x2="111.999992" y1="-244" y2="-244">
<stop offset="0" stop-color="#d5d3cf"/>
<stop offset="0.0384615" stop-color="#f6f5f4"/>
<stop offset="0.0769231" stop-color="#d5d3cf"/>
<stop offset="0.923077" stop-color="#d5d3cf"/>
<stop offset="0.961538" stop-color="#eeeeec"/>
<stop offset="1" stop-color="#d5d3cf"/>
</linearGradient>
<linearGradient id="c" gradientTransform="matrix(-1 0 0 -1 -0.00005 -171)" gradientUnits="userSpaceOnUse" x1="-64" x2="-64" y1="-280" y2="-182">
<stop offset="0" stop-color="#ffffff"/>
<stop offset="1" stop-color="#f6f5f4"/>
</linearGradient>
<path d="m 108 117 h -88 c -4.417969 0 -8 -4.234375 -8 -9.453125 v -70.09375 c 0 -5.21875 3.582031 -9.453125 8 -9.453125 h 88 c 4.417969 0 8 4.234375 8 9.453125 v 70.09375 c 0 5.21875 -3.582031 9.453125 -8 9.453125 z m 0 0" fill="url(#a)"/>
<path d="m 108 115 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -24 c 0 -4.417969 3.582031 -8 8 -8 h 88 c 4.417969 0 8 3.582031 8 8 v 24 c 0 4.417969 -3.582031 8 -8 8 z m 0 0" fill="url(#b)"/>
<path d="m 108 109 h -88 c -4.417969 0 -8 -3.582031 -8 -8 v -69.003906 c 0 -4.417969 3.582031 -8 8 -8 h 88 c 4.417969 0 8 3.582031 8 8 v 69.003906 c 0 4.417969 -3.582031 8 -8 8 z m 0 0" fill="url(#c)"/>
<path d="m 20 13 c -4.433594 0 -8 3.566406 -8 8 v 15 h 104 v -15 c 0 -4.433594 -3.566406 -8 -8 -8 z m 0 0" fill="#9141ac"/>
<path d="m 12 34 v 2 h 104 v -2 z m 0 0" fill="#613583"/>
<g stroke="#fdfcfc" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
<path d="m 28 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 44 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 60 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 76 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa"/>
<path d="m 92 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa"/>
<path d="m 108 96 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa"/>
<path d="m 28 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 44 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 60 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 76 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 92 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 108 73 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 28 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#fbfafa"/>
<path d="m 44 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 60 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 76 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 92 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
<path d="m 108 50 c 0 2.210938 -1.789063 4 -4 4 c -2.210938 0 -4 -1.789062 -4 -4 s 1.789062 -4 4 -4 c 2.210937 0 4 1.789062 4 4 z m 0 0" fill="#c0bfbc"/>
</g>
<path d="m 63.972656 73 c 0 4.402344 -3.570312 7.972656 -7.972656 7.972656 s -7.972656 -3.570312 -7.972656 -7.972656 s 3.570312 -7.972656 7.972656 -7.972656 s 7.972656 3.570312 7.972656 7.972656 z m 0 0" fill="#9141ac"/>
</svg>

Before

Width:  |  Height:  |  Size: 5.4 KiB

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8 6.5Q8.55 8.95 11 9.5Q8.55 10.05 8 12.5Q7.45 10.05 5 9.5Q7.45 8.95 8 6.5ZM3.715 1a2.73 2.73 0 0 0-2.715 2.715v8.57a2.73 2.73 0 0 0 2.715 2.715h8.57a2.73 2.73 0 0 0 2.715-2.715v-8.57a2.73 2.73 0 0 0-2.715-2.715zm-0.715 5h10v6.285c0 0.414-0.3 0.715-0.715 0.715h-8.57a0.692 0.692 0 0 1-0.715-0.715z" fill="#241f31"/></svg>

After

Width:  |  Height:  |  Size: 444 B

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8 6.5Q8.55 8.95 11 9.5Q8.55 10.05 8 12.5Q7.45 10.05 5 9.5Q7.45 8.95 8 6.5ZM3.715 1a2.73 2.73 0 0 0-2.715 2.715v8.57a2.73 2.73 0 0 0 2.715 2.715h8.57a2.73 2.73 0 0 0 2.715-2.715v-8.57a2.73 2.73 0 0 0-2.715-2.715zm-0.715 5h10v6.285c0 0.414-0.3 0.715-0.715 0.715h-8.57a0.692 0.692 0 0 1-0.715-0.715z" fill="#241f31"/></svg>

After

Width:  |  Height:  |  Size: 444 B

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m4 10h2v2h-2zm6 0h2v2h-2zm-3 0h2v2h-2zm3-3h2v2h-2zm-3 0h2v2h-2zm-3.285-6a2.73 2.73 0 0 0-2.715 2.715v8.57a2.73 2.73 0 0 0 2.715 2.715h8.57a2.73 2.73 0 0 0 2.715-2.715v-8.57a2.73 2.73 0 0 0-2.715-2.715zm-0.715 5h10v6.285c0 0.414-0.3 0.715-0.715 0.715h-8.57a0.692 0.692 0 0 1-0.715-0.715z" fill="#241f31"/></svg>

Before

Width:  |  Height:  |  Size: 433 B

@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m4 10h2v2h-2zm6 0h2v2h-2zm-3 0h2v2h-2zm3-3h2v2h-2zm-3 0h2v2h-2zm-3.285-6a2.73 2.73 0 0 0-2.715 2.715v8.57a2.73 2.73 0 0 0 2.715 2.715h8.57a2.73 2.73 0 0 0 2.715-2.715v-8.57a2.73 2.73 0 0 0-2.715-2.715zm-0.715 5h10v6.285c0 0.414-0.3 0.715-0.715 0.715h-8.57a0.692 0.692 0 0 1-0.715-0.715z" fill="#241f31"/></svg>

Before

Width:  |  Height:  |  Size: 433 B

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 170 KiB

+9 -6
View File
@@ -3,11 +3,11 @@ subdir('icons')
enum_headers = files(src_dir / 'gcal-enums.h')
enums_xml = gnome.mkenums(
'org.gnome.calendar.enums.xml',
'@0@.enums.xml'.format(settings_schema_id),
sources: enum_headers,
comments: '<!-- @comment@ -->',
fhead: '<schemalist>',
vhead: ' <@type@ id="org.gnome.calendar.@EnumName@">',
vhead: ' <@type@ id="@0@.@EnumName@">'.format(settings_schema_id),
vprod: ' <value nick="@valuenick@" value="@valuenum@"/>',
vtail: ' </@type@>',
ftail: '</schemalist>',
@@ -19,6 +19,7 @@ enums_xml = gnome.mkenums(
# Note: This name is registered in gcal-weather-service.c.
desktop_conf = configuration_data()
desktop_conf.set('icon', application_id)
desktop_conf.set('binary', meson.project_name())
desktop = i18n.merge_file(
type: 'desktop',
input: configure_file(
@@ -36,6 +37,7 @@ desktop = i18n.merge_file(
search_provider_conf = configuration_data()
search_provider_conf.set('appid', application_id)
search_provider_conf.set('profile', profile)
search_provider_conf.set('objectpath', '/' + application_id.replace('.', '/'))
configure_file(
configuration: search_provider_conf,
input: files('org.gnome.Calendar.search-provider.ini.in'),
@@ -46,12 +48,12 @@ configure_file(
# GSettings schema
schema_conf = configuration_data()
schema_conf.set('GETTEXT_PACKAGE', meson.project_name())
schema = 'org.gnome.calendar.gschema.xml'
schema_conf.set('SCHEMA_ID', settings_schema_id)
schema_conf.set('SCHEMA_PATH', settings_schema_path)
schema_xml = configure_file(
input: schema + '.in',
output: schema,
input: 'org.gnome.calendar.gschema.xml.in',
output: '@0@.gschema.xml'.format(settings_schema_id),
install: true,
install_dir: calendar_schemadir,
configuration: schema_conf
@@ -72,6 +74,7 @@ compiled_schemas = custom_target(
service_conf = configuration_data()
service_conf.set('appid', application_id)
service_conf.set('bindir', calendar_bindir)
service_conf.set('binary', meson.project_name())
service = 'org.gnome.Calendar.service'
configure_file(
+2 -2
View File
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=Calendar
Name=Federated Calendar
Comment=Access and manage your calendars
Exec=gnome-calendar %U
Exec=@binary@ %U
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=@icon@
Terminal=false
@@ -1,6 +1,6 @@
[Shell Search Provider]
Icon=gnome-calendar
Icon=@appid@
DesktopId=@appid@.desktop
BusName=@appid@
ObjectPath=/org/gnome/Calendar@profile@/SearchProvider
ObjectPath=@objectpath@@profile@/SearchProvider
Version=2
+1 -1
View File
@@ -1,3 +1,3 @@
[D-BUS Service]
Name=@appid@
Exec=@bindir@/gnome-calendar --gapplication-service
Exec=@bindir@/@binary@ --gapplication-service
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="@GETTEXT_PACKAGE@">
<schema id="org.gnome.calendar" path="/org/gnome/calendar/">
<schema id="@SCHEMA_ID@" path="@SCHEMA_PATH@">
<key name="window-maximized" type="b">
<default>true</default>
<summary>Window maximized</summary>
@@ -11,7 +11,7 @@
<summary>Window size</summary>
<description>Window size (width and height).</description>
</key>
<key name="active-view" enum="org.gnome.calendar.GcalWindowView">
<key name="active-view" enum="@SCHEMA_ID@.GcalWindowView">
<default>'month'</default>
<summary>Type of the active view</summary>
<description>Type of the active window view, default value is: monthly view</description>
+12 -6
View File
@@ -1,5 +1,5 @@
project(
'gnome-calendar',
'federated-calendar',
'c',
version: '52.alpha',
license: 'GPL3+',
@@ -45,11 +45,16 @@ else
rev = ''
endif
base_application_id = 'computer.federated.FederatedCalendar'
if profile == ''
application_id = 'org.gnome.Calendar'
application_id = base_application_id
else
application_id = 'org.gnome.Calendar.@0@'.format(profile)
application_id = '@0@.@1@'.format(base_application_id, profile)
endif
# Settings are shared between profiles, but not with GNOME Calendar
settings_schema_id = base_application_id
settings_schema_path = '/' + settings_schema_id.replace('.', '/') + '/'
calendar_buildtype = get_option('buildtype')
development_release = calendar_minor_version.startswith('alpha') or \
calendar_minor_version.startswith('beta') or \
@@ -61,7 +66,7 @@ cc = meson.get_compiler('c')
config_h = configuration_data()
package_bugreport = 'http://bugzilla.gnome.org/enter_bug.cgi?product=' + meson.project_name()
package_bugreport = 'https://gitea.federated.computer/Federated_Computer/federated-calendar/issues'
# release tag for the about dialog and metainfo release infos
if development_release
@@ -77,7 +82,7 @@ set_defines = [
['PACKAGE_NAME', meson.project_name()],
['PACKAGE_STRING', '@0@ @1@'.format(meson.project_name(), calendar_version)],
['PACKAGE_TARNAME', meson.project_name()],
['PACKAGE_URL', 'https://apps.gnome.org/Calendar/'],
['PACKAGE_URL', 'https://coredesktop.computer'],
['MAJOR_VERSION', calendar_major_version],
['RELEASE_TAG', release_tag],
['PACKAGE_VERSION', calendar_version + rev],
@@ -85,7 +90,8 @@ set_defines = [
['GETTEXT_PACKAGE', meson.project_name()],
['PROFILE', profile],
['NAME_SUFFIX', name_suffix],
['APPLICATION_ID', application_id]
['APPLICATION_ID', application_id],
['SETTINGS_SCHEMA_ID', settings_schema_id],
]
foreach define: set_defines
+1
View File
@@ -1,5 +1,6 @@
appdata_conf = configuration_data()
appdata_conf.set('appid', application_id)
appdata_conf.set('binary', meson.project_name())
appdata = i18n.merge_file(
input: configure_file(
input: files('org.gnome.Calendar.metainfo.xml.in.in'),
@@ -6,31 +6,31 @@
<id>@appid@</id>
<developer id="org.gnome">
<name>The GNOME Project</name>
<developer id="computer.federated">
<name>Federated Computer</name>
</developer>
<name>Calendar</name>
<name>Federated Calendar</name>
<summary>Manage your schedule</summary>
<description>
<p>
GNOME Calendar is an elegant tool to help you plan and stay on top of your schedule for
Federated Calendar is an elegant tool to help you plan and stay on top of your schedule for
upcoming days and weeks, whether your months are filled with meetings and appointments,
public events, travel logistics, or other commitments in your life.
</p>
<p>
Easily create and manage unlimited calendars and events with GNOME Calendar's infinite
scrolling month view, week timetable, and scheduling list view.
It works with the calendars of your Federated Computer Core: invite people to your events
by email, and your Core sends them the invitations, updates and cancellations.
</p>
<p>
Integrating the latest GNOME technologies and design best practices, GNOME Calendar builds on
top of the mature Evolution data server to manage large quantities of events and to provide
integration with other applications. You can add calendars from various online calendaring
services (like NextCloud, Google Calendar, and CalDAV / WebDAV servers), enabling you to
synchronize your events across multiple devices and platforms. GNOME Calendar also supports
local and offline calendaring, so you can use it anywhere and anytime while travelling
(or after civilization's collapse.)
Easily create and manage unlimited calendars and events with an infinite scrolling month
view, week timetable, and scheduling list view. You can also add calendars from other
online services (like Nextcloud, Google Calendar, and CalDAV / WebDAV servers), and use
local calendars offline.
</p>
<p>
Federated Calendar is based on GNOME Calendar.
</p>
</description>
@@ -77,18 +77,14 @@
</screenshots>
<branding>
<color type="primary" scheme_preference="light">#dc8add</color>
<color type="primary" scheme_preference="dark">#613583</color>
<color type="primary" scheme_preference="light">#2ee6d6</color>
<color type="primary" scheme_preference="dark">#052b42</color>
</branding>
<url type="homepage">https://apps.gnome.org/Calendar/</url>
<url type="bugtracker">https://gitlab.gnome.org/GNOME/gnome-calendar/issues</url>
<url type="donation">https://www.gnome.org/donate/</url>
<url type="vcs-browser">https://gitlab.gnome.org/GNOME/gnome-calendar</url>
<url type="translate">https://l10n.gnome.org/module/gnome-calendar/</url>
<url type="contribute">https://welcome.gnome.org/app/Calendar/</url>
<url type="contact">https://matrix.to/#/#gnome-calendar:gnome.org</url>
<project_group>GNOME</project_group>
<url type="homepage">https://coredesktop.computer</url>
<url type="bugtracker">https://gitea.federated.computer/Federated_Computer/federated-calendar/issues</url>
<url type="help">https://gitea.federated.computer/Federated_Computer/federated-calendar/issues</url>
<url type="vcs-browser">https://gitea.federated.computer/Federated_Computer/federated-calendar</url>
<requires>
<display_length compare="ge">360</display_length>
@@ -104,16 +100,14 @@
<control>touch</control>
</supports>
<translation type="gettext">gnome-calendar</translation>
<translation type="gettext">@binary@</translation>
<launchable type="desktop-id">@appid@.desktop</launchable>
<provides>
<binary>gnome-calendar</binary>
<binary>@binary@</binary>
</provides>
<content_rating type="oars-1.1" />
<update_contact>gbsneto@gnome.org</update_contact>
<releases>
<release date="2026-09-13" version="52~alpha" type="development" />
+3 -1
View File
@@ -20,6 +20,8 @@
#define G_LOG_DOMAIN "GcalContext"
#include "config.h"
#include "gcal-context.h"
#include "gcal-time-zone-monitor.h"
@@ -412,7 +414,7 @@ gcal_context_init (GcalContext *self)
g_autoptr (GError) error = NULL;
self->clock = gcal_clock_new ();
self->settings = g_settings_new ("org.gnome.calendar");
self->settings = g_settings_new (SETTINGS_SCHEMA_ID);
self->weather_service = gcal_weather_service_new ();
self->time_format = GCAL_TIME_FORMAT_24H;
+2 -3
View File
@@ -248,9 +248,8 @@ gcal_application_show_about (GSimpleAction *simple,
adw_about_dialog_set_copyright (ADW_ABOUT_DIALOG (about), copyright);
adw_about_dialog_set_developers (ADW_ABOUT_DIALOG (about), developers);
adw_about_dialog_set_debug_info (ADW_ABOUT_DIALOG (about), troubleshooting);
adw_about_dialog_set_debug_info_filename (ADW_ABOUT_DIALOG (about), "Calendar.txt");
adw_about_dialog_set_debug_info_filename (ADW_ABOUT_DIALOG (about), "Federated Calendar.txt");
adw_about_dialog_set_translator_credits (ADW_ABOUT_DIALOG (about), _("translator-credits"));
adw_about_dialog_set_support_url (ADW_ABOUT_DIALOG (about), "https://discourse.gnome.org/tag/calendar");
weather_service = gcal_context_get_weather_service (self->context);
adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
@@ -519,7 +518,7 @@ gcal_application_handle_local_options (GApplication *app,
{
if (show_version)
{
g_print ("gnome-calendar: Version %s\n", PACKAGE_VERSION);
g_print ("%s: Version %s\n", PACKAGE_NAME, PACKAGE_VERSION);
return 0;
}
+1 -1
View File
@@ -2,7 +2,7 @@ using Gtk 4.0;
using Adw 1;
template $GcalWindow: Adw.ApplicationWindow {
title: _("Calendar");
title: _("Federated Calendar");
default-width: 800;
default-height: 600;
width-request: 360;
+1 -1
View File
@@ -418,7 +418,7 @@ content_title (GcalWindow *self,
return g_strdup (_("Agenda"));
default:
return g_strdup (_("Calendar"));
return g_strdup (_("Federated Calendar"));
}
}
+1 -1
View File
@@ -33,7 +33,7 @@ main (gint argc,
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
g_set_application_name (_("Calendar"));
g_set_application_name (_("Federated Calendar"));
gcal_log_init ();