Files
PowerToys/src/modules/launcher/Wox.Infrastructure/Wox.cs

47 lines
2.0 KiB
C#
Raw Normal View History

2019-08-20 21:29:30 +10:00
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
namespace Wox.Infrastructure
{
2016-05-18 19:38:43 +01:00
public static class Constant
{
public const string Wox = "Wox";
public const string Plugins = "Plugins";
private static readonly Assembly Assembly = Assembly.GetExecutingAssembly();
public static readonly string ProgramDirectory = Directory.GetParent(Assembly.Location.NonNull()).ToString();
public static readonly string ExecutablePath = Path.Combine(ProgramDirectory, Wox + ".exe");
public static bool IsPortableMode;
public const string PortableFolderName = "UserData";
public static string PortableDataPath = Path.Combine(ProgramDirectory, PortableFolderName);
2019-08-20 21:29:30 +10:00
public static string DetermineDataDirectory()
{
if (Directory.Exists(PortableDataPath))
2019-08-20 21:29:30 +10:00
{
IsPortableMode = true;
return PortableDataPath;
2019-08-20 21:29:30 +10:00
}
else
{
return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Wox);
}
}
public static readonly string DataDirectory = DetermineDataDirectory();
public static readonly string PluginsDirectory = Path.Combine(DataDirectory, Plugins);
2016-05-18 19:38:43 +01:00
public static readonly string PreinstalledDirectory = Path.Combine(ProgramDirectory, Plugins);
public const string Issue = "https://github.com/Wox-launcher/Wox/issues/new";
2017-04-01 12:54:05 +01:00
public static readonly string Version = FileVersionInfo.GetVersionInfo(Assembly.Location.NonNull()).ProductVersion;
2016-07-20 02:01:47 +01:00
public static readonly int ThumbnailSize = 64;
2016-08-20 01:02:47 +01:00
public static readonly string DefaultIcon = Path.Combine(ProgramDirectory, "Images", "app.png");
public static readonly string ErrorIcon = Path.Combine(ProgramDirectory, "Images", "app_error.png");
2016-07-20 02:01:47 +01:00
public static string PythonPath;
public static string EverythingSDKPath;
}
}