diff --git a/data/assets/util/webgui.asset b/data/assets/util/webgui.asset index 4f9fce44be..7d5f1babca 100644 --- a/data/assets/util/webgui.asset +++ b/data/assets/util/webgui.asset @@ -33,6 +33,9 @@ asset.onInitialize(function() local directories = openspace.propertyValue("Modules.WebGui.Directories") directories[#directories + 1] = "frontend" directories[#directories + 1] = frontend .. "frontend" + --Add user directory for webpanels + directories[#directories + 1] = "webpanels" + directories[#directories + 1] = openspace.absPath("${USER_PANELS}") openspace.setPropertyValueSingle("Modules.WebGui.Directories", directories) openspace.setPropertyValueSingle("Modules.WebGui.DefaultEndpoint", "frontend") diff --git a/openspace.cfg b/openspace.cfg index 7c5976b387..c9ac15e200 100644 --- a/openspace.cfg +++ b/openspace.cfg @@ -101,6 +101,7 @@ Paths = { USER_ASSETS = "${USER}/data/assets", USER_PROFILES = "${USER}/data/profiles", USER_CONFIG = "${USER}/config", + USER_PANELS = "${USER}/webpanels", FONTS = "${DATA}/fonts", TASKS = "${DATA}/tasks", -- If the the 'OPENSPACE_SYNC' environment variable is defined on the system, use that diff --git a/src/engine/openspaceengine.cpp b/src/engine/openspaceengine.cpp index cf91a8cf1c..2baa25f088 100644 --- a/src/engine/openspaceengine.cpp +++ b/src/engine/openspaceengine.cpp @@ -897,6 +897,9 @@ void OpenSpaceEngine::createUserDirectoriesIfNecessary() { if (!std::filesystem::exists(absPath("${USER_CONFIG}"))) { std::filesystem::create_directories(absPath("${USER_CONFIG}")); } + if (!std::filesystem::is_directory(absPath("${USER_PANELS}"))) { + std::filesystem::create_directories(absPath("${USER_PANELS}")); + } } void OpenSpaceEngine::runGlobalCustomizationScripts() {