refactor: cleanup

This commit is contained in:
Maarten
2023-12-11 20:04:22 +01:00
parent e60fa3b9ce
commit 07c65e816c
4 changed files with 71 additions and 109 deletions

View File

@@ -28,37 +28,38 @@ function submitForm() {
// Download a prebuild DepotDownloader binary, so it doesn't have to be included in the source code
await download(DOTNET_DOWNLOAD_URL)
console.log("downld")
// Unzip the DepotDownloader binary
await unzip(DOTNET_ZIP_FILE, DOTNET_DIR)
console.log("unzip")
// Clean up the old files
await removeFile(DOTNET_ZIP_FILE)
console.log("removeFile")
// Run the final command
let terminal
// if the terminal dropdown is not set to 'auto', set the terminal variable to the selected index.
if (document.getElementById("terminal-dropdown").selectedIndex !== 11) {
terminal = document.getElementById("terminal-dropdown").selectedIndex
} else terminal = "default"
} else terminal = "auto"
// if the OS dropdown is not set to 'auto', set the os variable to the selected index.
if (document.getElementById("os-dropdown").selectedIndex !== 4) {
os = document.getElementById("os-dropdown").selectedIndex
} else os = "default"
if (document.getElementById("os-dropdown").selectedIndex !== 3) await console.debug("Command issued: " + createCommand(terminal,os))
} else os = "auto"
await runCommand(createCommand(terminal,os))
// create the command
let command = createCommand(terminal, os)
console.log("runCommand")
if (document.getElementById("os-dropdown").selectedIndex !== 3) await console.debug("Command issued: " + command)
await runCommand(command)
}).catch(function (error) {
if (error === "noDotnet") {
console.error("Dotnet not found in PATH")
// if dotnet is not found, show the dotnet warning
document.getElementById("emptywarning").hidden = true
document.getElementById("dotnetwarning").hidden = false
} else if (error === "emptyField") {
console.error("Fill in all required fields")
// if a required field is empty, show the empty field warning
document.getElementById("dotnetwarning").hidden = true
document.getElementById("emptywarning").hidden = false
}
@@ -69,9 +70,9 @@ function submitForm() {
function openRelevantPage(target) {
const electron = require("electron")
const os = process.platform.toString()
/* eslint-disable indent */
// why are you not indenting nicely eslint?
switch (target) {
/* eslint-disable indent */
// why are you not indenting nicely eslint?
case "dotnet":
document.getElementById("dotnetwarning").hidden = true
if (os.includes("win")) {
@@ -120,29 +121,27 @@ function checkPath() {
}
/**
* Automatically fills The OS dropdown with the OS detected.
* Runs when the app is fully loaded
* Fills the values for default os
* Runs when the app is fully loaded.
*/
function fillDefaultValues() {
// [0]: Windows, [1]: macOS [2]: Linux [3]: manual
//const os_dropdown = document.getElementById("os-dropdown")
if (process.platform.toString().includes("linux")) {
//os_dropdown.selectedIndex = 2
document.getElementById("default-os").innerText = "Linux"
} else if (process.platform.toString().includes("win")) {
//os_dropdown.selectedIndex = 0
document.getElementById("default-os").innerText = "Windows"
} else if (process.platform.toString().includes("darwin")) {
//os_dropdown.selectedIndex = 1
document.getElementById("default-os").innerText = "macOS"
}
}
/**
* Checks if the selected index = 2 (Linux), and based on that enables or disables the terminal dropdown.
* Runs when the app is fully loaded,
* and when the user changes the OS dropdown selection.
* Validates the choice of the OS dropdown.
* If the choice is 2 (Linux), enable the terminal selection dropdown.
* If the choice is not 2 (Linux), disable the terminal selection dropdown.
* If the choice is 4 (manual), enable the terminal selection dropdown.
* If the choice is not 4 (manual), disable the terminal selection dropdown.
*/
function validateChoice() {
// [0]: Windows, [1]: macOS [2]: Linux [3]: manual
@@ -182,6 +181,7 @@ function toggleFormAccessibility(disable) {
document.getElementById("pickpath").disabled = disable
document.getElementById("downloadbtn").ariaDisabled = disable
document.getElementById("downloadbtn").disabled = disable
document.getElementById("settings-button").disabled = disable
document.getElementById("downloadbtn").classList.replace(((disable) ? "btn-primary" : "btn-disabled"), ((!disable) ? "btn-primary" : "btn-disabled"))
}
@@ -194,10 +194,9 @@ function setTheme(theme) {
// main.js sends a ready message if the page is loaded in. This will be received here.
ipcRenderer.on("ready", async () => {
if (!ready) return
//let terminal_dropdown = document.getElementById("terminal-dropdown")
await toggleFormAccessibility(true) // disables the form, while loading
document.getElementById("loader").hidden = false
@@ -205,20 +204,20 @@ ipcRenderer.on("ready", async () => {
let r = await fetch("https://api.github.com/zen")
console.debug(await r.text())
await fillDefaultValues() // Set the default values based on OS
const terminals = await forceTerminals()
/* forceTerminals() returns two values:
[1,2]
[bol, list, list]
1: true/false. if true, there are terminals found. if false none are, or not on linux
2: a list of available terminals with their associated number in the terminal dropdown index.
3: a list of available terminals with their associated name in the terminal dropdown.
*/
if (terminals[0]) {
console.log(`${terminals[1].length} terminals found in PATH.`)
document.getElementById("terminals-found").innerText = terminals[1].length.toString()
document.getElementById("terminals-found").innerText = `${terminals[1].length.toString()} / ${document.getElementById("terminal-dropdown").length - 1}`
document.getElementById("default-terminal").innerText = terminals[2][0]
//terminal_dropdown.selectedIndex = terminals[1][0] // set the terminal dropdown to the first available terminal found.
console.log(terminals[1][0])
} else {
console.log("No terminals found in PATH. Continuing with default values") // when no terminals are found on the system, or when linux is not used.
@@ -249,10 +248,12 @@ window.addEventListener("DOMContentLoaded", () => {
if (document.getElementById("downloadbtn").disabled === false) submitForm()
})
document.getElementById("settings-button").addEventListener("click", () => {
console.log("Settings button clicked")
if (document.getElementById("settings-button").disabled === false) {
console.log("Settings button clicked")
// show the modal. This is done by setting the display to block.
document.getElementById("settings-surrounding").style.display = "block"
// show the modal. This is done by setting the display to block.
document.getElementById("settings-surrounding").style.display = "block"
}
})
document.getElementById("settings-surrounding").addEventListener("click", (event) => {
if (event.target === document.getElementById("settings-surrounding")) {
@@ -276,5 +277,6 @@ window.addEventListener("DOMContentLoaded", () => {
ipcRenderer.on("file", (event, file) => {
console.log("path selected by user: " + file)
document.getElementById("checkpath").ariaDisabled = false // Makes the check button active
document.getElementById("checkpath").disabled = false // Makes the check button active
exportedFile = file.toString()
})

View File

@@ -1,12 +1,13 @@
<!DOCTYPE html>
<!-- automatic dark mode :) -->
<html data-color-mode="auto" data-dark-theme="dark" data-light-theme="light" lang="en" id="theme">
<html data-color-mode="auto" data-dark-theme="dark" data-light-theme="light" id="theme" lang="en">
<head>
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport"/>
<link href="https://unpkg.com/@primer/css@21.0.9/dist/primer.css" rel="stylesheet"/>
<link rel="stylesheet" href="style.css">
<link href="style.css" rel="stylesheet">
<title>SteamDepotDownloaderGUI</title>
<script src=" https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js "></script>
</head>
<body>
<script src="downloader.js"></script>
@@ -45,16 +46,16 @@
<div class="form-group-header">
<label for="username">Username</label>
</div>
<input class="form-control input-block" id="username" type="text"
placeholder="Leave empty for anonymous download"/>
<input class="form-control input-block" id="username" placeholder="Leave empty for anonymous download"
type="text"/>
</div>
<div class="form-group mx-3 mt-1">
<div class="form-group-header">
<label for="password">Password</label>
</div>
<input class="form-control input-block" id="password" type="password"
placeholder="Leave empty for anonymous download"/>
<input class="form-control input-block" id="password" placeholder="Leave empty for anonymous download"
type="password"/>
</div>
<div class="form-group mx-3 mt-1 required">
@@ -87,8 +88,8 @@
Set location
</div>
<div aria-label="Check the location that has been selected."
class="form-control btn btn-sm ml-2 tooltipped tooltipped-ne" id="checkpath" aria-disabled="true">
<div aria-disabled="true"
aria-label="Check the location that has been selected." class="form-control btn btn-sm ml-2 tooltipped tooltipped-ne" id="checkpath">
Open location
</div>
<span class="Label mt-1 ml-3 Label--warning" id="loader">
@@ -96,61 +97,23 @@
<span class="AnimatedEllipsis"></span>
</span>
</div>
<!--<div class="form-group mx-3 mt-3 required">
<div class="form-group-header ">
<label for="osdropdown">Operating system</label>
</div>
<div aria-label="Select your OS/terminal here." class="form-group-body tooltipped tooltipped-n">
<select aria-label="Preference" class="form-select width-full" id="osdropdown">
<option>Windows</option>
<option disabled>macOS (NOT YET IMPLEMENTED)</option>
<option>Linux</option>
<option>Print command in console (CTRL-SHIFT-I)</option>
</select>
</div>
</div>
<div class="form-group mx-3 mt-3" id="osdropdown2label">
<div class="form-group-header">
<label for="osdropdown2">Terminal</label>
</div>
<div aria-label="Select the terminal emulator you use." class="form-group-body tooltipped tooltipped-n">
<select aria-label="Preference" class="form-select width-full" id="osdropdown2" disabled>
<option>Gnome Terminal</option>
<option>KDE Konsole</option>
<option>Xfce Terminal</option>
<option>Terminator</option>
<option>Terminology</option>
<option>xterm</option>
<option>Kitty</option>
<option>LXTerminal</option>
<option>Tilix</option>
<option>Deepin Terminal</option>
<option>cool-retro-term</option>
<option selected hidden disabled>Choose your terminal emulator</option>
</select>
</div>
</div>-->
</form>
<div class="form-group mt-3 ml-3 mr-3">
<div class="BtnGroup d-block">
<button class="BtnGroup-item btn btn-block btn-primary" style="width: calc(100% - 50px);" id="downloadbtn">
<svg class="octicon filter-red" height="16" viewBox="0 0 16 16" width="16"
xmlns="http://www.w3.org/2000/svg"
style="display: inline-block; user-select: none; vertical-align: text-bottom;">
<button class="BtnGroup-item btn btn-block btn-primary" id="downloadbtn" style="width: calc(100% - 50px);">
<svg class="octicon filter-red" height="16" style="display: inline-block; user-select: none; vertical-align: text-bottom;" viewBox="0 0 16 16"
width="16"
xmlns="http://www.w3.org/2000/svg">
<path d="M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z"
fill-rule="evenodd"></path>
</svg>
Download
</button>
<button class="BtnGroup-item btn" id="settings-button">
<svg fill="#8B949E" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"
style="display: inline-block; user-select: none; vertical-align: text-bottom;">
<svg fill="#8B949E" height="16" style="display: inline-block; user-select: none; vertical-align: text-bottom;" viewBox="0 0 16 16" width="16"
xmlns="http://www.w3.org/2000/svg">
<path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path>
</svg>
</button>
@@ -169,7 +132,7 @@
<div aria-label="Visit the SteamDB instant search website." class="btn btn-sm ml-2 tooltipped tooltipped-n mb-1"
id="smbtn2">
<svg fill="#8B949E" aria-hidden="true" class="octicon" height="16" viewBox="0 0 128 128" width="16"
<svg aria-hidden="true" class="octicon" fill="#8B949E" height="16" viewBox="0 0 128 128" width="16"
xmlns="http://www.w3.org/2000/svg">
<path d="M63.9 0C30.5 0 3.1 11.9.1 27.1l35.6 6.7c2.9-.9 6.2-1.3 9.6-1.3l16.7-10c-.2-2.5 1.3-5.1 4.7-7.2 4.8-3.1 12.3-4.8 19.9-4.8 5.2-.1 10.5.7 15 2.2 11.2 3.8 13.7 11.1 5.7 16.3-5.1 3.3-13.3 5-21.4 4.8l-22 7.9c-.2 1.6-1.3 3.1-3.4 4.5-5.9 3.8-17.4 4.7-25.6 1.9-3.6-1.2-6-3-7-4.8L2.5 38.4c2.3 3.6 6 6.9 10.8 9.8C5 53 0 59 0 65.5c0 6.4 4.8 12.3 12.9 17.1C4.8 87.3 0 93.2 0 99.6 0 115.3 28.6 128 64 128c35.3 0 64-12.7 64-28.4 0-6.4-4.8-12.3-12.9-17 8.1-4.8 12.9-10.7 12.9-17.1 0-6.5-5-12.6-13.4-17.4 8.3-5.1 13.3-11.4 13.3-18.2 0-16.5-28.7-29.9-64-29.9zm22.8 14.2c-5.2.1-10.2 1.2-13.4 3.3-5.5 3.6-3.8 8.5 3.8 11.1 7.6 2.6 18.1 1.8 23.6-1.8s3.8-8.5-3.8-11c-3.1-1-6.7-1.5-10.2-1.5zm.3 1.7c7.4 0 13.3 2.8 13.3 6.2 0 3.4-5.9 6.2-13.3 6.2s-13.3-2.8-13.3-6.2c0-3.4 5.9-6.2 13.3-6.2zM45.3 34.4c-1.6.1-3.1.2-4.6.4l9.1 1.7a10.8 5 0 1 1-8.1 9.3l-8.9-1.7c1 .9 2.4 1.7 4.3 2.4 6.4 2.2 15.4 1.5 20-1.5s3.2-7.2-3.2-9.3c-2.6-.9-5.7-1.3-8.6-1.3zM109 51v9.3c0 11-20.2 19.9-45 19.9-24.9 0-45-8.9-45-19.9v-9.2c11.5 5.3 27.4 8.6 44.9 8.6 17.6 0 33.6-3.3 45.2-8.7zm0 34.6v8.8c0 11-20.2 19.9-45 19.9-24.9 0-45-8.9-45-19.9v-8.8c11.6 5.1 27.4 8.2 45 8.2s33.5-3.1 45-8.2z"
fill-rule="evenodd"></path>
@@ -190,8 +153,8 @@
<div aria-label="View the instructions on how to use SteamDepotDownloaderGUI."
class="btn btn-sm ml-2 tooltipped tooltipped-nw mb-1"
id="smbtn4">
<svg fill="#8B949E" width="16" height="16" viewBox="0 0 16 16"
style="display: inline-block; vertical-align: text-bottom;">
<svg fill="#8B949E" height="16" style="display: inline-block; vertical-align: text-bottom;" viewBox="0 0 16 16"
width="16">
<path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
</svg>
Instructions
@@ -208,13 +171,13 @@
</div>
<div class="form-group-body">
<div class="BtnGroup">
<button class="BtnGroup-item btn btn-sm" type="button" id="theme-auto" aria-selected="true">
<button aria-selected="true" class="BtnGroup-item btn btn-sm" id="theme-auto" type="button">
Auto
</button>
<button class="BtnGroup-item btn btn-sm" type="button" id="theme-light">
<button class="BtnGroup-item btn btn-sm" id="theme-light" type="button">
Light
</button>
<button class="BtnGroup-item btn btn-sm" type="button" id="theme-dark">
<button class="BtnGroup-item btn btn-sm" id="theme-dark" type="button">
Dark
</button>
</div>
@@ -223,11 +186,11 @@
<hr>
<div class="form-group">
<div class="form-group-header">
<label>Override terminal selection</label>
<label for="terminal-dropdown">Override terminal selection</label>
</div>
<div class="form-group-body">
<div class="mb-2">
<select id="terminal-dropdown" class="form-select">
<select class="form-select" id="terminal-dropdown">
<option>Gnome Terminal</option>
<option>KDE Konsole</option>
<option>Xfce Terminal</option>
@@ -239,7 +202,7 @@
<option>Tilix</option>
<option>Deepin Terminal</option>
<option>cool-retro-term</option>
<option selected="selected">Default</option>
<option selected="selected">Auto</option>
</select>
found: <span class="Counter"><code id="terminals-found" style="color: black;">none</code></span>
<br>default: <span class="Counter"><code id="default-terminal" style="color: black;">none</code></span>
@@ -249,16 +212,16 @@
<hr>
<div class="form-group">
<div class="form-group-header">
<label>Override OS selection</label>
<label for="os-dropdown">Override OS selection</label>
</div>
<div class="form-group-body">
<div class="mb-2">
<select id="os-dropdown" class="form-select">
<select class="form-select" id="os-dropdown">
<option>Windows</option>
<option disabled>macOS (NOT YET IMPLEMENTED)</option>
<option>Linux</option>
<option>Print command in console (CTRL-SHIFT-I)</option>
<option selected="selected">Default</option>
<option selected="selected">Auto</option>
</select>
default: <span class="Counter"><code id="default-os" style="color: black;">none</code></span>
</div>

View File

@@ -14,7 +14,7 @@
/* The grey part */
.settings-surrounding {
display: none;
display: block;
position: fixed;
z-index: 1;
left: 0;
@@ -35,6 +35,7 @@
border: 1px black solid;
width: 90vw; /* 90vw -> 90% */
color: rgba(0, 0, 0, 0.9);
box-shadow: 0 10px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.hide {

View File

@@ -1,4 +1,5 @@
var defaultTerminal = ""
/**
* Checks if all required fields are filled and if dotnet is installed in the system path.
* It returns a promise that resolves to true if dotnet is installed and all required fields are filled, false otherwise.
@@ -20,18 +21,12 @@ function preDownloadCheck() {
input.parentElement.classList.toggle("errored", isInvalid) // toggle the 'errored' class depending on if isInvalid is true or false.
if (isInvalid) unfilledFields++
}
// If the selected OS is Linux, and the terminal selection is the default (11), error.
// if (document.getElementById("osdropdown").selectedIndex === 2 && document.getElementById("osdropdown2").selectedIndex === 11) {
// document.getElementById("osdropdown2label").classList.add("errored")
// unfilledFields++
// } else document.getElementById("osdropdown2label").classList.remove("errored")
if (unfilledFields > 0) {
reject("emptyField")
return
}
// Check if dotnet is installed, depending on the platform
// Check if dotnet is found, depending on the platform
if (process.platform.toString().includes("win")) {
// Windows
const {exec} = require("child_process")
@@ -170,13 +165,16 @@ function unzip(file, target) {
* TODO: create a builder, so the different terminals can be put in one variable and more can be added easily.
*/
const createCommand = (terminal, os) => {
if (terminal === "default") {
// if "auto" is given, take the first found terminal and use it.
if (terminal === "auto") {
terminal = defaultTerminal[0]
} else console.log("terminal is manually chosen.")
// Import path so \ can be put in a string
const path = require("path")
if (os === "default") {
// if os is auto, choose the os for us.
if (os === "auto") {
if (process.platform.toString().includes("win")) {
os = 0
} else if (process.platform.toString().includes("linux")) {
@@ -184,7 +182,6 @@ const createCommand = (terminal, os) => {
}
} else console.log("os is manually chosen")
console.log("terminal: " + terminal.toString())
// The values inputted by the user in the form
@@ -321,8 +318,8 @@ const platformpath = () => {
*/
const forceTerminals = async () => {
const commands = [["gnome-terminal", "--version", 0], ["konsole", "--version", 1], ["xfce4-terminal", "--version", 2], ["terminator", "--version", 3], ["terminology", "--version", 4], ["xterm", "-v", 5], ["kitty", "--version", 6], ["lxterminal", "--version", 7], ["tilix", "--version", 8], ["deepin-terminal", "--version", 9], ["cool-retro-term", "--version", 10]]
let availableTerminals = []
let availableNames = []
let availableTerminals = [] // list of IDs of terminals, corrospending to their index in the dropdown menu
let availableNames = [] // list of names of found terminals
if (process.platform === "linux") {
for (let i = 0; i < commands.length; i++) {
await runCommand(`${commands[i][0]} ${commands[i][1]}`).then(() => {
@@ -335,8 +332,7 @@ const forceTerminals = async () => {
}
if (availableTerminals.length > 0) {
defaultTerminal = availableTerminals
return [true, availableTerminals, availableNames]
//return false
return [true, availableTerminals, availableNames] // [true, "2,4,7", "twox,fourterm,sevenemulator"] (example)
} else return false
} else return false
}