肉桂:修改"显示桌面" (+其他系统小程序)图标

时间:2016-04-21 04:44:13

标签: javascript fedora cinnamon

我是肉桂的新手,我很失望一些系统小程序无法轻易修改其图标。看到之后,我在我的根目录中找到了" show-desktop "并找到了/usr/share/cinnamon/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
}

"菜单"不是很具描述性,所以我选择了另一个系统小程序(垃圾)并查看了它的图标名称" user-trash"并改变了菜单'到' user-trash'

{
 "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"));

这些是重要的一行,我再次查看了垃圾小程序,并将其更改为" user-trash"。我在/ usr / share / icons / Adwaitia / 32x32 / places /文件夹中找到了图标。

这给我留下了三个问题......

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

  2. 为什么修改.json文件对正在使用的图标没有影响,即使重新加载肉桂?

  3. 如何在不删除该目录中的图标的情况下,为自己的图标提供文件路径来代替系统图标?

1 个答案:

答案 0 :(得分:0)

要将图标设置为自定义图标,您需要删除路径中的图标,然后使用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")