38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
#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 *working_directory;
|
|
|
|
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);
|