我正在尝试仅使用 JavaScript 编写扩展程序。我通过 Hello World 用 Python 写的!代码。但是,一开始,我的菜单项按钮不起作用。此外,我无法使用 Hello World 添加菜单项!代码。我想,我想念一些东西。
按钮代码在这里:
const Lang = imports.lang;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const St = imports.gi.St;
const TimeButton = new Lang.Class({
Name: "Salah Time",
Extends: PanelMenu.Button,
_init: function () {
let box = new St.BoxLayout({
style_class: "system-status-icon"
});
let label = new St.Label({text: "Salah Time"});
box.add_child(label);
this.actor.addActor(box);
}
});
function init() {
}
function enable() {
let but = new TimeButton();
Main.panel._leftBox.insert_child_at_index(but, 1);
} …Run Code Online (Sandbox Code Playgroud)所以我对此做了很多研究,但找不到答案。
它使用命名管道吗?本地主机上的套接字?d-总线?
我可以用一行 bash 拦截并查看 X 客户端发送到 X 服务器的二进制消息吗?
当然这仅用于教育目的。我不打算构建一个可以拦截此类消息的软件。
找不到任何方法来使用 gnome-terminal 添加模糊效果。许多工具可用于其他 ubuntu 桌面环境,例如 KDE neon、KDE Plasma。我尝试用这种方式模糊 GNOME 中的终端。但这是行不通的。
我曾经使用No Topleft Hot Corner扩展禁用 gnome-shell 的热角功能。升级到 gnome-shell 40 后它已被弃用。Gnome-tweaks声称它也能够禁用它,但是激活这个“禁用热角”选项根本不会停用热角。最后,我发现阅读这个 Ask Ubuntu 线程我可以
\ngsettings set org.gnome.desktop.interface enable-hot-corners false\nRun Code Online (Sandbox Code Playgroud)\n但即使命令成功,它也不起作用。所以这个类似 Apple\xc2\xa9 的小烦恼又回来了。
\n所以问题确实是:我该如何再次摆脱它?...天哪,我爱你,侏儒,但你确实时不时地让我感到不安。
\n我最近正在研究 Gnome shell 扩展。我查看了一些代码,如下所示:
\nconst Lang = imports.lang;\n\nconst extension = new Lang.Class({...}\xef\xbc\x89\nRun Code Online (Sandbox Code Playgroud)\n我在GJS中找不到任何有关Lang的信息。
\n相关的开发手册应该去哪里找?
\n现在,我知道这是完全主观的,所以请不要激怒我.每当我决定安装像Ubuntu,Fedora等的发行版时,我从未对linux完全满意,因为它们的小部件位置和间距都很笨拙.
看看这个:


注意文本字段文本的笨拙间距.
我已经看到许多Gnome主题在表面上看起来很好但它们都以某种方式分解,尴尬的间距,奇怪的边界.等等.
例如,整个linux桌面没有OSX的视觉完整性,我想知道为什么.如果有一个很好的集成Linux环境的例子,请请告诉我,我真的想使用Linux.
(我知道,有QT,还有像KDE等其他经理.我注意到了同样的事情,所以它可能不是GTK或Gnome)
我正在编写一个使用F1键的控制台应用程序(求助).不幸的是,虽然Konsole(KDE)不使用此密钥,Gnome终端会这样做,因此我的应用程序无法访问F1密钥.我不认为有一种方法可以检测F1键是否已经在事物的GUI端映射(Gnome Terminal),但是如果有,那么答案将消除这个问题.:)
因此,我的下一个最好的选择是尝试检测我是否在Gnome终端内运行.有办法做到这一点吗?我主要感兴趣的是从Ruby中收集它,但如果可以通过shell或环境变量或虚拟文件系统(/ proc,/ dev等)来完成,那么这就足够了.
我希望有一个可靠的方法来做到这一点,但我可以满足于"最好的猜测"方法,比如贪图环境变量以寻找可以让我合理地假设Gnome Terminal是包装终端的线索.
额外信息:其他钥匙也被Gnome Terminal"偷走".我打算为Gnome用户显示一些关于替代密钥的信息性消息.
我想知道这是否可行.大多数情况下,我想了解GNOME究竟做了什么?鉴于GTK +的可用性,当然还有X11,难道不能只运行应用程序吗?当然,我不确定(这就是为什么我会问这个问题),但我认为GNOME只是"组织"GUI以使其更像桌面,并提供一些工具和实用程序等.这是正确的还是还有更多的东西?
谢谢!
我正在寻找一种方法来添加一个新的快捷方式(让我们说"杀死这个窗口")进入窗口菜单:

在gnome/ubuntu下有可能吗?
谢谢!
PS.编辑以避免混淆.