blob: b0fa7be9dbaae4f4821df11acff6456b1f9f6846 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include <utils/xdg.hpp>
#include <cstdlib>
#include "biboumi.h"
std::string xdg_path(const std::string& filename, const char* env_var)
{
const char* xdg_home = ::getenv(env_var);
if (xdg_home && xdg_home[0] == '/')
return std::string{xdg_home} + "/" PROJECT_NAME "/" + filename;
else
{
const char* home = ::getenv("HOME");
if (home)
return std::string{home} + "/" ".config" "/" PROJECT_NAME "/" + filename;
else
return filename;
}
}
std::string xdg_config_path(const std::string& filename)
{
return xdg_path(filename, "XDG_CONFIG_HOME");
}
std::string xdg_data_path(const std::string& filename)
{
return xdg_path(filename, "XDG_DATA_HOME");
}
|