mrj*_*per 11 gnome gnome-shell gnome3
我猜我需要编辑其中可用的模式之一,gsettings
但我不知道是哪一个。当我列出所有模式时,它们太多了。
don*_*sti 14
您想要的关键是favorite-apps
,架构 ID 是org.gnome.shell
。现在列出你最喜欢的应用程序,你可以简单地运行
gsettings get org.gnome.shell favorite-apps
Run Code Online (Sandbox Code Playgroud)
或者
dconf read /org/gnome/shell/favorite-apps
Run Code Online (Sandbox Code Playgroud)
这些将返回一个字符串数组,例如
['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']
Run Code Online (Sandbox Code Playgroud)
现在,要从该数组中删除一个值,您可以使用诸如sed
/ 之类的文本处理工具awk
来检查某个项目是否在该列表中,并将其删除并保持相同的格式(虽然绝对可行,但不是那么简单),一旦正确,只需编写数据库的新设置,例如假设你想删除org.gnome.Nautilus.desktop
你会运行(注意双引号):
gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
Run Code Online (Sandbox Code Playgroud)
或者
dconf write /org/gnome/shell/favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
Run Code Online (Sandbox Code Playgroud)
尽管如此,编写您自己的实用程序(使用gsettings
API)更容易,该实用程序将接受一个或多个桌面文件名作为位置参数并将它们从收藏夹中删除;为了让您入门,这是一个非常基本的示例,python
它接受一个参数(运行方式script.py firefox.desktop
):
#!/usr/bin/env python
from sys import argv
from gi.repository import Gio,GLib
item=argv[1]
gschema = Gio.Settings('org.gnome.shell')
gvalues=gschema.get_value('favorite-apps').unpack()
if item in gvalues: gvalues.remove(item)
gschema.set_value('favorite-apps', GLib.Variant('as', gvalues))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6313 次 |
最近记录: |