Here we will detail the different folder and config file locations and their purpose.
Folders and general files
The core framework directory, a.k.a. the one you see first on the GitHub web interface, contains the following folders and files:
.github
- For GitHub and git specific data, GitHub actions workflows, issue and PR templatesConfig
- The default config folder containing the default config files- Core - Contains core configs
- Translations - Translation configs for the i18n module
Content
- The default content folder, contains example images and iconsFramework
- Contains the entire source code and dependencies for the framework, for more info for framework developers scroll to the bottom of the pageProjects
- Contains your projectsUVKBuildTool
- Contains theUVKBuildTool
and its source codecreate-project.sh
- Used to create a projectexport.sh
- Used to export your application for production distributioninstall.sh
- The framework installation scriptupdate.sh
- An automated script to update your project and framework to a new version
Additionally, every project contains those additional files and folders:
Exported
- For storing your final production buildsGenerated
- For generated files and sourcesSource
- For your application's source codeCMakeLists.txt
- The CMake project fileuvproj.yaml
- Your project's config
Config files
The config files are located under the Config
folder, which itself contains 2 directories, Core
and Translation
.
The Core
directory stores the following files:
DefaultLayout.ini
- The layout files for the UI, do not modify directlyFallbackLayout.ini
- The fallback layout for the UI in case your normal file cannot be found, do not modify directlyKeybindings.yaml
- For custom keybindings, detailed in later wiki entriesModules.yaml
- Themodules
config file, contains saved settings for different modules, detailed in later entriesRenderer.yaml
- The settings for the renderer, detailed in later entriesWindow.yaml
- The settings for the window, detailed in later entries
The Translation
folder initially stores just one file, translation-base.yaml
. This file defines all strings that can be translated by the localization module. Additionally, you can create additional files using the standard locale naming structure for creating translations. More info can be found in later entries
Directory prefix macros
Check out the Directory strings and Config.hpp page.
- Home
- Beginner content
- Install guide
- Creating and using the UI components
- The Instance
- The Init Info struct
- Additional features
- Custom type definitions
- C API development
- Config files and Folders
- Interfaces
- Internal Event safety
- Modules system
- I18N
- Plotting
- Knobs
- Spinners
- Toggles
- Text Utils
- Undo/Redo
- CLI Parser
- Theming
- OS
- Opening URLs and using file pickers
- Exec integration
- Fonts
- Unix
- DBus utilities
- XDG integration
- Collaborating with others
- Advanced content
- Loading dynamic libraries at runtime
- Understanding the library layout
- Compilation mode modifiers
- Adding plugin support to your application
- Production export and deployment
- Developer and contributor resources
- Misc