summaryrefslogtreecommitdiff
path: root/include/yasl/desktop.h
blob: 2c2379ee48858263d7c9d8f25685619c4691dda1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/** @file Optional desktop services; window operations use the owning thread. */
#ifndef YASL_DESKTOP_H
#define YASL_DESKTOP_H
#include "yasl/yasl.h"
#ifdef __cplusplus
extern "C" {
#endif
enum yasl_appearance { YASL_APPEARANCE_DARK=1u, YASL_APPEARANCE_LIGHT=2u, YASL_APPEARANCE_HIGH_CONTRAST=4u };
YASL_API bool yasl_open_uri(const char *uri);
YASL_API bool yasl_notify(const char *title, const char *body);
YASL_API unsigned yasl_appearance(void);
YASL_API bool yasl_surface_bell(yasl_surface *surface);
/** Full byte length excluding NUL, zero on failure. Buffer unchanged unless cap
 * exceeds returned length. NULL/zero queries size. These three are thread-safe. */
YASL_API size_t yasl_executable_path(char *out, size_t capacity);
YASL_API size_t yasl_resource_dir(char *out, size_t capacity);
YASL_API size_t yasl_default_locale(char *out, size_t capacity);
#ifdef __cplusplus
}
#endif
#endif