【问题标题】:Cinnamon: Modifying the "Show Desktop" (+ other system applets) IconCinnamon:修改“显示桌面”(+其他系统小程序)图标
【发布时间】:2016-08-14 01:54:08
【问题描述】:

我是 cinnamon 的新手,我对某些系统小程序无法轻松修改其图标感到失望。看到之后,我从我的根目录中找到了“show-desktop”,并找到了 /usr/share/cinnamon/applets/show-desktop@cinnamon.org 目录。该目录中有两个文件:applet.js 和 metadata.json。

元数据.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/ 文件夹中找到了这些图标。

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

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

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

  3. 如何提供我自己的图标的文件路径来代替系统图标而不会将我的图标放在该目录中?

【问题讨论】:

    标签: javascript fedora cinnamon


    【解决方案1】:

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

    // 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")
    

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多