Gnome3+: ¿Cómo elimino favoritos de Dash a través de la terminal?

Gnome3+: ¿Cómo elimino favoritos de Dash a través de la terminal?

Supongo que necesito editar uno de los esquemas disponibles, gsettingspero no sé cuál. y cuando enumeré todos los esquemas, simplemente hay demasiados.

Respuesta1

La clave que desea es favorite-appsel ID del esquema org.gnome.shell. Ahora, para enumerar tus aplicaciones favoritas, simplemente puedes ejecutar

gsettings get org.gnome.shell favorite-apps

o

dconf read /org/gnome/shell/favorite-apps

Estos devolverán una serie de cadenas, por ejemplo

['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']

Ahora, para eliminar un valor de esa matriz, puede usar herramientas de procesamiento de texto como sed/ awkpara verificar si un elemento está en esa lista y eliminarlo manteniendo el mismo formato (no es tan trivial, aunque definitivamente factible) y una vez que lo haga bien, simplemente escriba el nuevas configuraciones para la base de datos, por ejemplo, suponiendo que desea eliminar, org.gnome.Nautilus.desktopejecutaría (tenga en cuenta las comillas dobles):

gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"

o

dconf write /org/gnome/shell/favorite-apps "['firefox.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.gedit.desktop', 'gnome-calculator.desktop']"

Aún así, es más fácil escribir tu propia utilidad (usando gsettingsAPI) que aceptará uno o más nombres de archivos de escritorio como parámetros posicionales y los eliminará de favoritos; Para comenzar, aquí hay un ejemplo muy básico pythonque acepta un parámetro (ejecutar 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))

Respuesta2

En Linux Mint, estos son los comandos:

Para consultar tus favoritos:

gsettings get org.x.apps.favorites list

Para eliminar todos tus favoritos:

gsettings reset org.x.apps.favorites list

información relacionada