From 84c46fb03c9a8b4c5b2d24e84a77fcb171109fe4 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Wed, 3 Feb 2021 12:29:28 +0000 Subject: [PATCH] xdg-autostart: Generate autostart services with templated name The "XDG standardization for applications" specification states that services should be in the form: app[-]-[@].service or app[-]--.scope In this case "autostart" takes the place of [RANDOM] to provide a unique identifier if the same app is launched elsewhere. As it is a service that means it should be set as a template not using a hyphen delimiter. --- src/xdg-autostart-generator/test-xdg-autostart.c | 2 +- src/xdg-autostart-generator/xdg-autostart-service.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xdg-autostart-generator/test-xdg-autostart.c b/src/xdg-autostart-generator/test-xdg-autostart.c index a437e2cfedd..5108beeaa93 100644 --- a/src/xdg-autostart-generator/test-xdg-autostart.c +++ b/src/xdg-autostart-generator/test-xdg-autostart.c @@ -13,7 +13,7 @@ static void test_translate_name(void) { _cleanup_free_ char *t; assert_se(t = xdg_autostart_service_translate_name("a-b.blub.desktop")); - assert_se(streq(t, "app-a\\x2db.blub-autostart.service")); + assert_se(streq(t, "app-a\\x2db.blub@autostart.service")); } static void test_xdg_format_exec_start_one(const char *exec, const char *expected) { diff --git a/src/xdg-autostart-generator/xdg-autostart-service.c b/src/xdg-autostart-generator/xdg-autostart-service.c index 671d16d2d9e..ed9301d809c 100644 --- a/src/xdg-autostart-generator/xdg-autostart-service.c +++ b/src/xdg-autostart-generator/xdg-autostart-service.c @@ -58,7 +58,7 @@ char *xdg_autostart_service_translate_name(const char *name) { if (!escaped) return NULL; - return strjoin("app-", escaped, "-autostart.service"); + return strjoin("app-", escaped, "@autostart.service"); } static int xdg_config_parse_bool( -- 2.47.3