MAC Os - Create desktop shortcut during installation

This commit is contained in:
Oren Kedem committed 2021-06-16 10:12:48 +03:00
1 parent d33c8390e7
commit 92632251a7
2 files changed
+55 -3

No files matched your search

+40 -2
View File
@@ -1,6 +1,6 @@
const path = require("path");
const fs = require("fs");
const { exec } = require("child_process");
const { exec, execSync } = require("child_process");
const os = require("os");
// Get the name of the main directory
@@ -92,7 +92,45 @@ if (os.platform() == "win32") {
// Mac Shortcuts
} else if (os.platform() == "darwin") {
console.log( "Automatic shortcut creation is not yet supported on Mac. If you would like to see this feature add, message @harrellbm on telegram or discord to ask how you can help!")
const icon = path.join( __dirname,"/superalgos.ico");
const createShortcutCommand = `chmod +x ${name}.command & cp ${name}.command ~/Desktop/${name}.command`
const installFileIconcommand = `npm install fileicon`;
const changeIconCommand = `./node_modules/fileicon/bin/fileicon set ~/Desktop/${name}.command ./Launch-Scripts/superalgos.ico`
const unInstallFileIconcommand = `npm uninstall fileicon`;
try {
// Create .desktop shortcut file
fs.writeFileSync( `${name}.command`,
`#!/bin/sh
cd ${__dirname}
cd ..
node run
"$SHELL"`,
);
// Place shortcut in proper folders
execSync( createShortcutCommand,{ timeout: 30000})
// Remove temporary .command file
fs.unlinkSync( `${name}.command` )
//Install fileicon utility
execSync(installFileIconcommand, {stdio: 'inherit', timeout: 30000});
//change Icon
execSync(changeIconCommand, {stdio: 'inherit', timeout: 30000});
//Un-Install fileicon utility
execSync(unInstallFileIconcommand, {stdio: 'inherit', timeout: 30000});
} catch (error) {
console.log('');
console.log("There was an error installing a shortcut: ");
console.log('');
console.log( error );
return;
}
console.log("Shortcuts added successfully!");
// Misc Operating System
} else {
+15 -1
View File
@@ -53,5 +53,19 @@ if (os.platform() == "win32") {
// Mac Shortcuts
} else if (os.platform() == "darwin") {
// Uninstall Mac shortcuts here once they have been added.
// Remove .desktop files
let command = `rm ~/Desktop/${name}.command`
exec( command,
function ( error, stdout ){
if (error) {
console.log('');
console.log("There was an error uninstalling shortcuts: ");
console.log('');
console.log( error );
return;
} else {
console.log('');
console.log("Shortcuts have been uninstalled successfully.");
}
});
}