Javascript 肉桂粉:修饰;“显示桌面”;(&x2B;其他系统小程序)图标

Javascript 肉桂粉:修饰;“显示桌面”;(&x2B;其他系统小程序)图标,javascript,fedora,cinnamon,Javascript,Fedora,Cinnamon,我是肉桂的新手,我对一些系统小程序的图标不能轻易修改感到失望。看到这一点后,我从根目录中找到了“ShowDesktop”,并找到了/usr/share/肉桂/applets/show-desktop@cinnamon.org目录目录中有两个文件:applet.js和metadata.json metadata.json: { "uuid": "show-desktop@cinnamon.org", "name": "Show desktop", "description": "Minimi

我是肉桂的新手,我对一些系统小程序的图标不能轻易修改感到失望。看到这一点后,我从根目录中找到了“ShowDesktop”,并找到了/usr/share/肉桂/applets/show-desktop@cinnamon.org目录目录中有两个文件:applet.js和metadata.json

metadata.json:

{
 "uuid": "show-desktop@cinnamon.org",
 "name": "Show desktop",
 "description": "Minimize all windows",
 "icon": "menu",
 "max-instances": -1
}
“菜单”不是很有描述性,所以我选择了另一个系统小程序(垃圾箱),查看它的图标名“用户垃圾箱”,并将“菜单”更改为“用户垃圾箱”

{
 "uuid": "show-desktop@cinnamon.org",
 "name": "Show desktop",
 "description": "Minimize all windows",
 "icon": "user-trash",
 "max-instances": -1
}
这没有任何效果,所以我查看了applet.js

    this.set_applet_icon_name("user-desktop");
    this.set_applet_tooltip(_("Show desktop"));
这些是重要的几行,我再次查看了垃圾小程序,并将其更改为“用户垃圾”。我在/usr/share/icons/Adwaitia/32x32/places/folder中找到了这些图标

这给我留下了三个问题

  • 小程序如何知道在该目录中查找图标?是否有存储在某处的配置,或者是否有另一个描述图标及其位置的.js文件

  • 为什么修改.json文件对正在使用的图标没有影响,即使在重新加载肉桂之后也是如此

  • 我如何提供一个指向我自己图标的文件路径来代替系统图标而不将我的图标放在该目录中


  • 要将图标设置为自定义图标,需要将图标放到路径中,然后使用set_applet_icon_path()方法将try图标更改为自定义图标。您还必须确保删除或注释掉符号名方法

    // Assuming you have something similar to this for the applet_path:
    const UUID = "app@id";
    const APPLET_PATH = imports.ui.appletManager.appletMeta[UUID].path;
    
    // in the MyApplet.prototype _init function.
    
    // Remove or comment out this line:
    //this.set_applet_icon_symbolic_name("icon-name");
    
    // Add this in the MyApplet.prototype _init function.
    this.set_applet_icon_path(APPLET_PATH + "/icon.png")