Espionner ce qui se passe
La plupart de ce que font ces éditeurs de paramètres peut être regardé en exécutant
dconf watch /
dans un terminal.
gsettings
De plus, la plupart du temps, pour réaliser ce que vous voyez se produire avec la commande ci-dessus, ces applications devront modifier la dconf
base de données (plus loin ci-dessous). Cela peut être fait soit directement , en utilisant les options cli de dconf (ce qui n'est pas préféré), soit en exécutant les gsettings
commandes correspondantes , comme celle que vous mentionnez.
Pour exécuter ces commandes, aucune fenêtre de terminal n'est nécessaire, comme vous pouvez le voir dans les exemples.
À propos, gsettings, dconf et la base de données dconf
gsettings
est l'interface client de cli dconf
, qui à son tour édite la dconf
base de données, où la plupart des paramètres sont stockés, au format binaire. Voir aussi cette belle réponse .
La dconf
base de données, en passant, peut également être édité à partir de l'interface graphique par l' dconf
éditeur, qui est dans les dépôts:
Échantillons de travail
une. En python
Pour vous montrer ce qui se passe sous le capot, ci-dessous un échantillon de travail pour basculer votre position du lanceur de l'interface graphique dans un seul bouton (bascule):
#!/usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
import subprocess
key = ["com.canonical.Unity.Launcher", "launcher-position"]
class ToggleWin(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Toggle")
button = Gtk.Button("Toggle launcherposition")
button.connect("clicked", self.toggle)
self.add(button)
def toggle(self, *args):
# read the current setting on launcher position
current = subprocess.check_output([
"gsettings", "get", key[0], key[1]
]).decode("utf-8").strip()
# toggle to the other option
new = "'Left'" if current == "'Bottom'" else "'Bottom'"
subprocess.Popen([
"gsettings", "set", key[0], key[1], new
])
def delete_actions(*args):
Gtk.main_quit()
def miniwindow():
window = ToggleWin()
window.connect("destroy", delete_actions)
window.show_all()
Gtk.main()
miniwindow()
...et amusez-vous.
b. Icône de lanceur
Même un simple lanceur peut faire le travail à partir de l'interface graphique:
[Desktop Entry]
Name=Set launcherposition
Exec=zenity --info --text="Right- click to set launcher position"
Type=Application
StartupNotify=False
Icon=preferences-system
Actions=Launcher to bottom;Launcher on the left;
[Desktop Action Launcher to bottom]
Name=Launcher to bottom
# right click option to set launcher to bottom
Exec=gsettings set com.canonical.Unity.Launcher launcher-position Bottom
[Desktop Action Launcher on the left]
Name=Launcher on the left
# right click option to set launcher to left
Exec=gsettings set com.canonical.Unity.Launcher launcher-position Left
- Collez le code dans un fichier vide, enregistrez-le sous
setlauncher.desktop
- Faites-le glisser sur le lanceur et faites un clic droit
Pour une utilisation permanente, stockez-le ~/.local/share/applications
(pour une utilisation locale) ou ~/usr/share/applications
pour tous les utilisateurs.