diff --git a/appIcons.js b/appIcons.js index 2d80a09..fedf226 100644 --- a/appIcons.js +++ b/appIcons.js @@ -1833,7 +1833,7 @@ export const MyShowAppsIconMenu = class extends PopupMenu.PopupMenu { // Only add menu entries for commands that exist in path _appendItem(info) { - if (Utils.checkIfCommandExists(info.cmd[0])) { + if (GLib.find_program_in_path(info.cmd[0])) { let item = this._appendMenuItem(_(info.title)); item.connect('activate', function() { diff --git a/utils.js b/utils.js index 7a2fe2e..8e5348d 100644 --- a/utils.js +++ b/utils.js @@ -893,28 +893,3 @@ export const drawRoundedLine = function(cr, x, y, width, height, isRoundLeft, is cr.setSource(stroke); cr.stroke(); } - -/** - * Check if an app exists in the system. - */ -var checkedCommandsMap = new Map(); - -export function checkIfCommandExists(app) { - let answer = checkedCommandsMap.get(app); - if (answer === undefined) { - // Command is a shell built in, use shell to call it. - // Quotes around app value are important. They let command operate - // on the whole value, instead of having shell interpret it. - let cmd = "sh -c 'command -v \"" + app + "\"'"; - try { - let out = GLib.spawn_command_line_sync(cmd); - // out contains 1: stdout, 2: stderr, 3: exit code - answer = out[3] == 0; - } catch (ex) { - answer = false; - } - - checkedCommandsMap.set(app, answer); - } - return answer; -}