Implement option to disable minimizing window on focus loss. Default behavior is not changed - not configuring these options unfocused window is minimized.

* Added config entry win:minimizeOnFocusLoss (default true).
This commit is contained in:
Rokas Kupstys
2019-07-01 10:53:12 +03:00
committed by Geoffrey McRae
parent 4cf6dec592
commit 745ba66119
4 changed files with 33 additions and 22 deletions

View File

@@ -175,6 +175,13 @@ static struct Option options[] =
.type = OPTION_TYPE_BOOL,
.value.x_bool = false,
},
{
.module = "win",
.name = "minimizeOnFocusLoss",
.description = "Minimize window on focus loss",
.type = OPTION_TYPE_BOOL,
.value.x_bool = true,
},
{
.module = "win",
.name = "fpsLimit",
@@ -396,6 +403,8 @@ bool config_load(int argc, char * argv[])
params.hideMouse = option_get_bool ("input", "hideCursor" );
params.mouseSens = option_get_int ("input", "mouseSens" );
params.minimizeOnFocusLoss = option_get_bool("win", "minimizeOnFocusLoss");
if (option_get_bool("spice", "enable"))
{
params.spiceHost = option_get_string("spice", "host");
@@ -559,4 +568,4 @@ static char * optScancodeToString(struct Option * opt)
char * str;
alloc_sprintf(&str, "%d = %s", opt->value.x_int, SDL_GetScancodeName(opt->value.x_int));
return str;
}
}

View File

@@ -1102,7 +1102,7 @@ int run()
return 1;
}
if (params.fullscreen)
if (params.fullscreen || !params.minimizeOnFocusLoss)
SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, "0");
if (!params.noScreensaver)
@@ -1377,4 +1377,4 @@ int main(int argc, char * argv[])
config_free();
return ret;
}
}

View File

@@ -82,6 +82,7 @@ struct AppParams
bool borderless;
bool fullscreen;
bool maximize;
bool minimizeOnFocusLoss;
bool center;
int x, y;
unsigned int w, h;
@@ -129,4 +130,4 @@ struct KeybindHandle
// forwards
extern struct AppState state;
extern struct AppParams params;
extern struct AppParams params;