我想在 GNOME Classic 中的 GNOME 面板中添加一些文本。
我从中得到了一个建议博客但它可以追溯到 2008 年,现在似乎不再适用。
在 Ubuntu 12.10 和 GNOME classic 中,缺少 /apps/panel/applets/clock_screen0/prefs/custom_format
in选项。gconf-editor
那么,有什么方法可以向 GNOME classic 中的时钟添加自定义文本吗?
另外是否有其他可用的小程序/扩展允许我们向 GNOME 面板添加文本?
答案1
简单的 Gnome 扩展可能值得一试。(我不确定命名,在 Ubuntu 14.04 中:Gnome classic 使用相同的 Gnome shell 扩展,而旧经典重命名为 Gnome Fallback)
Gnome 经典版和 Mate
- 下载面板小程序生成器
生成一个新的小程序:
python panel-applet-generator.py -n mylabel -d "my custom label"
调整
mylabelApplet.py
try: from gi.repository import Gtk except: # Can't use ImportError, as gi.repository isn't quite that nice... import gtk as Gtk def applet_factory(applet, iid, data = None): button = Gtk.Button("It works!") label = Gtk.Label("It works!") applet.add(label) applet.show_all() return True
我添加
label = Gtk.Label("It works!")
并修改了applet.add(label)
(它是applet.add(button)
)将 mylabel 文件夹压缩为 tar.gz,然后将其重命名为
mylabel_1.0.orig.tar.gz
构建 Debian 软件包
cd mylabel/ debuild -us -uc
安装包
sudo dpkg -i ../*.deb
Alt面板上+Right Click或Super++ ,然后添加到Alt面板Right Click
查找 mylabel 小程序,然后添加
参考:
笔记:
如果由于任何原因无法安装,可以手动安装:
sudo cp org.gnome.applets.mylabel.panel-applet /usr/share/gnome-panel/4.0/applets/ sudo cp org.gnome.panel.applet.mylabel.service /usr/share/dbus-1/services/ sudo cp *.py /usr/lib/gnome-applets/
32位系统:
sudo cp mylabel.server /usr/lib/bonobo/servers/
64位系统:
sudo cp mylabel.server /usr/lib/x86_64-linux-gnu/bonobo/servers/
Gnome 外壳
我已经用 Gnome 3.10 测试过它:
安装 Gnome 调整工具
sudo apt-get install gnome-tweak-tool
创建新的扩展:
gnome-shell-extension-tool --create-extension
输入所需信息:名称
My Label
、描述Extension shows my custom text
、uuidmylabel@yourname
或保留默认值mylabel@hostname
扩展创建于
/home/username/.local/share/gnome-shell/extensions/mylabel@hostname
extension.js
自动打开。将图标替换为您的自定义标签。如下所示:function init() { button = new St.Bin({ style_class: 'panel-button', reactive: true, can_focus: true, x_fill: true, y_fill: false, track_hover: true }); let icon = new St.Icon({ icon_name: 'system-run-symbolic', style_class: 'system-status-icon' }); let label = new St.Label({ text: "Hello, world!" }); button.set_child(label); button.connect('button-press-event', _showHello); }
我添加
let label = new St.Label({ text: "Hello, world!" });
并修改了'button.set_child(label);
(它是button.set_child(icon);
)Alt保存,使用+重新启动 Gnome-Shell ,然后F2输入
r
Enter启动 Gnome Tweak Tool → 扩展 → 启用
My Label
扩展。再次重新启动 Gnome-Shell。
参考:
答案2
在 20.04 上,有一个可以使用 dbus 来设置文本的工作扩展:
https://extensions.gnome.org/extension/2826/generic-monitor/?c=78316
这是自述文件:
http://indefero.soutade.fr/p/genericmonitor/source/tree/master/README.md
这是我使用的(1 分钟循环),因为我找不到其他方法来按照我想要的方式配置日期时间:
while true;do
strDate="`date +"%A, %Hh%Mm - %d %B (%m/%Y)"`";
gdbus call --session --dest org.gnome.Shell --object-path /com/soutade/GenericMonitor --method com.soutade.GenericMonitor.notify \
'{"group":"new","items":[{"name":"first","text":"'"$strDate"'","style":"color:white"}]}'
sleep 60
done
答案3
如果有人(仍然)在寻找它,这里有一个更简单的解决方案。一个名为 One Thing 的 gnome 扩展(以 Mac 上的类似应用程序命名)