GUI: add setting to disable maximize workaround

issue #2575
This commit is contained in:
tildearrow 2025-06-18 03:32:39 -05:00
parent e209fd0b18
commit e23f1700a3
3 changed files with 15 additions and 4 deletions

View file

@ -7665,8 +7665,10 @@ bool FurnaceGUI::init() {
bool mustChange=false;
if (scrW>((displaySize.w)-48) && scrH>((displaySize.h)-64)) {
// maximize
SDL_MaximizeWindow(sdlWin);
logD("maximizing as it doesn't fit (%dx%d+%d+%d).",displaySize.w,displaySize.h,displaySize.x,displaySize.y);
if (!settings.noMaximizeWorkaround) {
SDL_MaximizeWindow(sdlWin);
logD("maximizing as it doesn't fit (%dx%d+%d+%d).",displaySize.w,displaySize.h,displaySize.x,displaySize.y);
}
}
if (scrW>displaySize.w) {
scrW=(displaySize.w)-32;

View file

@ -2020,7 +2020,7 @@ class FurnaceGUI {
int autoFillSave;
int autoMacroStepSize;
int backgroundPlay;
int chanOscDCOffStrat;
int noMaximizeWorkaround;
unsigned int maxUndoSteps;
float vibrationStrength;
int vibrationLength;
@ -2276,6 +2276,7 @@ class FurnaceGUI {
autoFillSave(0),
autoMacroStepSize(0),
backgroundPlay(0),
noMaximizeWorkaround(0),
maxUndoSteps(100),
vibrationStrength(0.5f),
vibrationLength(20),

View file

@ -1195,6 +1195,12 @@ void FurnaceGUI::drawSettings() {
settingsChanged=true;
}
bool noMaximizeWorkaroundB=settings.noMaximizeWorkaround;
if (ImGui::Checkbox(_("Do not maximize on start-up when the Furnace window is too big"),&noMaximizeWorkaroundB)) {
settings.noMaximizeWorkaround=noMaximizeWorkaroundB;
settingsChanged=true;
}
// SUBSECTION BEHAVIOR
CONFIG_SUBSECTION(_("Behavior"));
bool blankInsB=settings.blankIns;
@ -1202,7 +1208,6 @@ void FurnaceGUI::drawSettings() {
settings.blankIns=blankInsB;
settingsChanged=true;
}
// SUBSECTION CONFIGURATION
CONFIG_SUBSECTION(_("Configuration"));
if (ImGui::Button(_("Import"))) {
@ -4899,6 +4904,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
settings.disableFadeIn=conf.getInt("disableFadeIn",0);
settings.alwaysPlayIntro=conf.getInt("alwaysPlayIntro",0);
settings.iCannotWait=conf.getInt("iCannotWait",0);
settings.noMaximizeWorkaround=conf.getInt("noMaximizeWorkaround",0);
settings.compress=conf.getInt("compress",1);
settings.newPatternFormat=conf.getInt("newPatternFormat",1);
@ -5431,6 +5437,7 @@ void FurnaceGUI::readConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
clampSetting(settings.autoMacroStepSize,0,2);
clampSetting(settings.s3mOPL3,0,1);
clampSetting(settings.backgroundPlay,0,1);
clampSetting(settings.noMaximizeWorkaround,0,1);
if (settings.exportLoops<0.0) settings.exportLoops=0.0;
if (settings.exportFadeOut<0.0) settings.exportFadeOut=0.0;
@ -5499,6 +5506,7 @@ void FurnaceGUI::writeConfig(DivConfig& conf, FurnaceGUISettingGroups groups) {
conf.set("disableFadeIn",settings.disableFadeIn);
conf.set("alwaysPlayIntro",settings.alwaysPlayIntro);
conf.set("iCannotWait",settings.iCannotWait);
conf.set("noMaximizeWorkaround",settings.noMaximizeWorkaround);
conf.set("compress",settings.compress);
conf.set("newPatternFormat",settings.newPatternFormat);