Close the launcher on game launch.

Added a requested feature in: #246

Default: false
This commit is contained in:
LegendMC 2024-05-06 11:10:57 +02:00
parent eb683f89ec
commit 22102da217
5 changed files with 4771 additions and 4733 deletions

View File

@ -81,6 +81,7 @@ const DEFAULT_CONFIG = {
resWidth: 1280, resWidth: 1280,
resHeight: 720, resHeight: 720,
fullscreen: false, fullscreen: false,
CloseOnLaunch: false,
autoConnect: true, autoConnect: true,
launchDetached: true launchDetached: true
}, },
@ -733,6 +734,25 @@ exports.setFullscreen = function(fullscreen){
config.settings.game.fullscreen = fullscreen config.settings.game.fullscreen = fullscreen
} }
/**
* Check if the launcher should be closed when the game launch.
*
* @param {boolean} def Optional. If true, the default value will be returned.
* @returns {boolean} Whether or not the launcher should be closed when the game launched.
*/
exports.getCloseOnLaunch = function(def = false){
return !def ? config.settings.game.CloseOnLaunch : DEFAULT_CONFIG.settings.game.CloseOnLaunch
}
/**
* Change the status if the launcher should be closed when the game launch.
*
* @param {boolean} CloseOnLaunch Whether or not the launcher should be closed when the game launched.
*/
exports.setCloseOnLaunch = function(CloseOnLaunch){
config.settings.game.CloseOnLaunch = CloseOnLaunch
}
/** /**
* Check if the game should auto connect to servers. * Check if the game should auto connect to servers.
* *

View File

@ -7,6 +7,8 @@ const { getMojangOS, isLibraryCompatible, mcVersionAtLeast } = require('helios-
const { Type } = require('helios-distribution-types') const { Type } = require('helios-distribution-types')
const os = require('os') const os = require('os')
const path = require('path') const path = require('path')
const remote = require('@electron/remote');
const win = remote.getCurrentWindow();
const ConfigManager = require('./configmanager') const ConfigManager = require('./configmanager')
@ -82,6 +84,10 @@ class ProcessBuilder {
child.unref() child.unref()
} }
if(ConfigManager.getCloseOnLaunch()){
win.close();
}
child.stdout.setEncoding('utf8') child.stdout.setEncoding('utf8')
child.stderr.setEncoding('utf8') child.stderr.setEncoding('utf8')

View File

@ -49,6 +49,7 @@ accountSelectConfirm = "Select"
accountSelectCancel = "Cancel" accountSelectCancel = "Cancel"
[ejs.settings] [ejs.settings]
closeLauncherOnLaunch = "Close the launcher when the game is launched."
navHeaderText = "Settings" navHeaderText = "Settings"
navAccount = "Account" navAccount = "Account"
navMinecraft = "Minecraft" navMinecraft = "Minecraft"

View File

@ -93,6 +93,17 @@
</label> </label>
</div> </div>
</div> </div>
<div class="settingsFieldContainer">
<div class="settingsFieldLeft">
<span class="settingsFieldTitle"><%- lang('settings.closeLauncherOnLaunch') %></span>
</div>
<div class="settingsFieldRight">
<label class="toggleSwitch">
<input type="checkbox" cValue="CloseOnLaunch">
<span class="toggleSwitchSlider"></span>
</label>
</div>
</div>
<div class="settingsFieldContainer"> <div class="settingsFieldContainer">
<div class="settingsFieldLeft"> <div class="settingsFieldLeft">
<span class="settingsFieldTitle"><%- lang('settings.autoConnectTitle') %></span> <span class="settingsFieldTitle"><%- lang('settings.autoConnectTitle') %></span>

9466
package-lock.json generated

File diff suppressed because it is too large Load Diff