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>
This commit is contained in:
2026-10-29 09:01:27 -06:00
co-authored by Claude Opus 5.5
parent dd1c1cd014
commit 93d2369724
18 changed files with 39 additions and 27 deletions
+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"
],

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Before

Width:  |  Height:  |  Size: 433 B

After

Width:  |  Height:  |  Size: 433 B

+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>
+10 -4
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 \
@@ -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'),
@@ -10,7 +10,7 @@
<name>The GNOME Project</name>
</developer>
<name>Calendar</name>
<name>Federated Calendar</name>
<summary>Manage your schedule</summary>
<description>
@@ -104,10 +104,10 @@
<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" />
+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;
+1 -1
View File
@@ -519,7 +519,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 ();