Acho que preciso editar um dos esquemas disponíveis, gsettings
mas não sei qual. e quando listei todos os esquemas, há muitos deles.
fonte
Acho que preciso editar um dos esquemas disponíveis, gsettings
mas não sei qual. e quando listei todos os esquemas, há muitos deles.
A chave que você deseja é favorite-apps
o ID do esquema org.gnome.shell
. Agora, para listar seus aplicativos favoritos, você pode simplesmente executar
gsettings get org.gnome.shell favorite-apps
ou
dconf read /org/gnome/shell/favorite-apps
Isso retornará uma matriz de strings, por exemplo
['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']
Agora, para remover um valor dessa matriz, você pode usar ferramentas de processamento de texto como sed
/ awk
para verificar se um item está nessa lista e removê-lo mantendo o mesmo formato (não tão trivial, mas definitivamente factível) e, quando estiver certo, basta escrever o novas configurações no banco de dados, por exemplo, assumindo que você deseja remover, org.gnome.Nautilus.desktop
você executaria (observe as aspas duplas):
gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
ou
dconf write /org/gnome/shell/favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"
Ainda assim, é mais fácil escrever seu próprio utilitário ( usando gsettings
API ) que aceita um ou mais nomes de arquivos da área de trabalho como parâmetros posicionais e os remove dos favoritos; Para começar, aqui está um exemplo muito básico, python
que aceita um parâmetro (executado como 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))