Skip to content

Persist ImGui settings via GlobalSettings instead of imgui.ini#794

Merged
chrxh merged 1 commit into
developfrom
claude/imgui-settings-in-globalsettings
Jul 12, 2026
Merged

Persist ImGui settings via GlobalSettings instead of imgui.ini#794
chrxh merged 1 commit into
developfrom
claude/imgui-settings-in-globalsettings

Conversation

@chrxh

@chrxh chrxh commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Was

ImGui-Fenster-/Layout-State wird nicht mehr über die imgui.ini-Datei gespeichert (erst beim Beenden geschrieben), sondern über GlobalSettings — auf Windows sofort in die Registry, auf Linux sofort in settings.json.

Wie

  • io.IniFilename = nullptr schaltet ImGui-Datei-Auto-Load/-Save ab.
  • Start: Settings aus GlobalSettings-Key gui.imgui settings laden (LoadIniSettingsFromMemory); Default = eingebettetes Layout (bisheriger imgui.ini-Inhalt in DefaultImguiSettings.h), damit Fresh-Installs das kuratierte Layout behalten.
  • Frame-Loop: bei io.WantSaveIniSettingsSaveIniSettingsToMemoryGlobalSettings::setValue, Flag danach selbst clearen.
  • imgui.ini + zugehörige CMake-Copy-Steps entfernt.

Hinweis: ImGui markiert Settings gedrosselt über io.IniSavingRate (Default 5s nach letzter Änderung) als dirty, nicht jeden Frame — vermeidet Registry-Hämmern beim Fenster-Draggen. Persistenz erfolgt kurz nach der Interaktion und garantiert vor Exit.

Test

Release-Build (Ninja, Windows) erfolgreich (alien.exe gelinkt). GUI-only Änderung.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@chrxh chrxh marked this pull request as ready for review July 12, 2026 07:34
@chrxh chrxh merged commit 477dbd2 into develop Jul 12, 2026
1 check passed
@chrxh chrxh deleted the claude/imgui-settings-in-globalsettings branch July 12, 2026 07:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant