Introducing
About WindUI
Setup
LoadstringThemes
UI
WindowKey SystemTabDialogPopupNotificationTagTab Section
Elements
SectionButtonToggleSliderInputDropdownParagraphKeybindColorpickerCodeDividerSpaceImageGroup (deprecated)HStack & VStack
Advanced
ConfigsIcons

Configs

Save and load user preferences in WindUI

Config System

WindUI's Config system automatically saves element states to files. Use the Flag property on elements to enable automatic saving.

Enable Config

-- creating window from /docs/windui/window
local Window = WindUI:CreateWindow({ 
    Title = "My Application",
    Folder = "MyApp", -- creates a folder to store configs
})

saves at [YOUR_EXPLOIT]/WindUI/[WIndow.Folder]/configs/

Save Element States

Elements with a Flag property are automatically saved:

local MyConfig = Window.ConfigManager:Config("MyConfigFile") -- creates/loads config file `MyConfigFile.json`
 
-- usage example
local DarkMode = Tab:Toggle({
    Title = "Dark Mode",
    Flag = "dark_mode_enabled", 
    Value = false,
    Callback = function(state)
        print("Dark mode:", state)
    end
})
 
local Volume = Tab:Slider({
    Title = "Volume",
    Flag = "master_volume", 
    Value = { Min = 0, Max = 100, Default = 75 },
    Callback = function(value)
        print("Volume:", value)
    end
})
 
local Theme = Tab:Dropdown({
    Title = "Theme",
    Flag = "selected_theme", 
    Options = { "Light", "Dark", "Auto" },
    Default = "Dark",
    Callback = function(selected)
        print("Theme:", selected)
    end
})
 
local Username = Tab:Input({
    Title = "Username",
    Flag = "user_name", 
    Callback = function(text)
        print("Username:", text)
    end
})
 
MyConfig:Save() -- manually save config file

Folder Structure

-- When you set Folder = "MyApp", WindUI creates:
-- /WindUI/MyApp/            -- Main folder
-- /WindUI/MyApp/configs/    -- Config files
-- /WindUI/MyApp/assets/     -- Cached assets
-- /MyApp/                   -- Optional backup Folder