| /* SPDX-License-Identifier: LGPL-2.1+ */ |
| #pragma once |
| |
| #include "macro.h" |
| |
| typedef struct XdgAutostartService { |
| char *name; |
| char *path; |
| char *description; /* Name in XDG desktop file */ |
| |
| char *type; /* Purely as an assertion check */ |
| char *exec_string; |
| |
| char **only_show_in; |
| char **not_show_in; |
| |
| char *try_exec; |
| char *autostart_condition; /* This is mostly GNOME specific */ |
| char *kde_autostart_condition; |
| |
| char *gnome_autostart_phase; |
| |
| bool hidden; |
| bool systemd_skip; |
| |
| } XdgAutostartService; |
| |
| |
| XdgAutostartService * xdg_autostart_service_free(XdgAutostartService *s); |
| DEFINE_TRIVIAL_CLEANUP_FUNC(XdgAutostartService*, xdg_autostart_service_free); |
| |
| char *xdg_autostart_service_translate_name(const char *name); |
| int xdg_autostart_format_exec_start(const char *exec, char **ret_exec_start); |
| |
| XdgAutostartService *xdg_autostart_service_parse_desktop(const char *path); |
| int xdg_autostart_service_generate_unit(XdgAutostartService *service, const char *dest); |