我需要编写nodejs函数来检测Linux应用程序图标的名称。 我用应用程序启动器解析了INI文件,我需要知道laucher中指定的真实位置在哪里作为图标别名。
使用当前路径查找带有lstatSync
的图标:
var USR_PIXMAPS_PATH = '/usr/share/pixmaps',
USR_APPS_PATH = '/usr/share/applications',
USR_DOCKAPPS_PATH = '/usr/share/dock/applications',
USR_64x64ICON_PATH = '/usr/share/icons/hicolor/64x64/apps',
USR_OTHERICON_PATH = '/usr/share/icons/hicolor';
try { (fs.lstatSync(USR_PIXMAPS_PATH+'/'+data["Desktop Entry"]["Icon"]+'.png')) && (icon=USR_PIXMAPS_PATH+'/'+data["Desktop Entry"]["Icon"]+'.png'); } catch(e) {}
try { (fs.lstatSync(USR_OTHERICON_PATH+'/'+data["Desktop Entry"]["Icon"]+'.svg')) && (icon=USR_OTHERICON_PATH+'/'+data["Desktop Entry"]["Icon"]+'.svg'); } catch(e) {}
try { (fs.lstatSync(USR_64x64ICON_PATH+'/'+data["Desktop Entry"]["Icon"]+'.png')) && (icon=USR_64x64ICON_PATH+'/'+data["Desktop Entry"]["Icon"]+'.png'); } catch(e) {}
try { (fs.lstatSync(data["Desktop Entry"]["Icon"])) && (icon=data["Desktop Entry"]["Icon"]); } catch(e) { }
这是我检测gtk图标的方法。
无论如何(可能是从二进制文件中提取的简单方法)在Linux下使用node-js获取应用程序图标路径,或者为node.js(又名pygtk)获取gtklib以获取shell图标或任何文档URL
感谢您的建议。