如何在St.Icon的Gnome Shell扩展中设置PNG文件

The*_*hog 9 gnome gnome-shell gnome-shell-extensions

我的Gnome Shell扩展程序有一个文件夹'icons',里面有一个名为'MyIcon.png'的图标文件.我想把它作为St.Icon对象的参数.

let icon = new St.Icon({ /* I need what to code here*/ });
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

塞尔丘克.

小智 10

这是GnomeShell v3.8.4的解决方案:

const St = imports.gi.St;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const Gio = imports.gi.Gio;
let gicon = Gio.icon_new_for_string(Me.path + "/icons/my_icon.png");
icon = new St.Icon({ gicon });
Run Code Online (Sandbox Code Playgroud)


nil*_*277 6

昨天偶然发现了同样的问题。

你必须做两件事:

第 1 步:将此代码添加到您的“stylesheet.css”

.your-icon-name {
    background-image: url("icons/MyIcon.png");
    background-size: 20px;
    height: 20px;
    width: 20px;
}
Run Code Online (Sandbox Code Playgroud)

'background-size', 'height' 和 'width' 只是用于预缩放图像,它们可以被忽略以保持原始大小。

第 2 步:将其写入您的 .js 文件中:

let icon = new St.Icon({style_class: 'your-icon-name'});
Run Code Online (Sandbox Code Playgroud)