using System;
using System.IO;
using System.Reflection;
public static class Paths
{
static readonly string ExeDir =
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
public static readonly string DataDir = Resolve();
const string Probe = "homepageall.glade";
static string Resolve()
{
string[] candidates = {
Environment.GetEnvironmentVariable("EARS_DATADIR"),
ExeDir,
Path.Combine(ExeDir, "data"),
Path.Combine(ExeDir, "..", "data"), // make run from bin/linux
"/usr/lib/ears",
"/usr/local/lib/ears",
};
foreach (var c in candidates)
if (!string.IsNullOrEmpty(c) && File.Exists(Path.Combine(c, Probe)))
return Path.GetFullPath(c);
return ExeDir;
}
public static string Get(string name) => Path.Combine(DataDir, name);
}