我正在尝试学习如何构建 gnome 扩展。我刚刚开始,但无法在 gnome tweaks 中显示我的基本扩展。
我正在关注这入门指南
我在里面创建了一个新文件夹.local/share/gnome-shell/extensions
,里面有以下文件
nsrCodes/
├── extension.js
├── metadata.json
└── stylesheet.css
元数据.json
{
"name" : "nsrCodes Extension",
"description" : "my extension description",
"shell-version" : [
"3.38"
],
"url" : "",
"uuid" : "nsrCodes",
"version" : 1
}
我确实按alt-f2,输入 r,按 Enter 重新启动 GNOME shell,但这也不起作用
编辑:1
看完之后文档我更新了文件夹名称并uuid
相应地
唯一标识
uuid 是扩展程序的全局唯一标识符,由两部分组成,以 @ 分隔。扩展程序的文件必须安装到与 uuid 同名的文件夹中:
~/.local/share/gnome-shell/extensions/[email protected]/
第一部分应该是一个简单的字符串(可能是扩展名的变体),如“click-to-focus”,第二部分应该是您控制的某个命名空间,如 username.github.io。常见示例包括[电子邮件保护]和[电子邮件保护]
但这也不起作用
编辑:2-文件内容
输出gnome-shell --version
GNOME Shell 3.38.2
工作树
[email protected]/
├── extension.js
├── metadata.json
└── stylesheet.css
元数据.json
{
"name" : "nsrCodes Extension",
"description" : "my extension description",
"shell-version" : [
"3.38"
],
"url" : "",
"uuid" : "[email protected]",
"version" : 1
}
扩展.js
'use strict';
const {St, Clutter} = imports.gi;
const Main = imports.ui.main;
let panelButton;
function init () {
// Create a Button with "Hello World" text
panelButton = new St.Bin({
style_class : "panel-button",
});
let panelButtonText = new St.Label({
text : "Hello World",
y_align: Clutter.ActorAlign.CENTER,
});
panelButton.set_child(panelButtonText);
}
function enable () {
// Add the button to the panel
Main.panel._rightBox.insert_child_at_index(panelButton, 0);
}
function disable () {
// Remove the added button from panel
Main.panel._rightBox.remove_child(panelButton);
}
stylesheet.css
是空的