Observation de ce qui se passe
La plupart de ce que font ces éditeurs de paramètres peut être observé en exécutant
dconf watch /
dans un terminal.
gsettings
La plupart du temps, pour réaliser ce que vous voyez se passer avec la commande ci-dessus, ces applications devront éditer la base de données dconf
(plus bas). Cela peut être fait soit directement, en utilisant les options en ligne de commande de dconf (ce qui n'est pas préféré), ou en exécutant les commandes gsettings
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 de, gsettings, dconf et la base de données dconf
gsettings
est l'interface en ligne de commande de dconf
, qui à son tour édite la base de données dconf
, où la plupart des paramètres sont stockés, en format binaire. Voir aussi cette bonne réponse.
La base de données dconf
, au passage, peut également être éditée depuis l'interface graphique par l'éditeur dconf
, qui se trouve dans les dépôts :
Exemples de travail
a. En python
Pour vous montrer ce qui se passe en coulisses, voici un exemple de travail pour basculer la position de votre lanceur depuis l'interface graphique en 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="Basculer")
button = Gtk.Button("Basculez la position du lanceur")
button.connect("clicked", self.toggle)
self.add(button)
def toggle(self, *args):
# lire le paramètre actuel de la position du lanceur
current = subprocess.check_output([
"gsettings", "get", key[0], key[1]
]).decode("utf-8").strip()
# basculer vers l'autre option
new = "'Gauche'" if current == "'Bas'" else "'Bas'"
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()
-
Collez le code dans un fichier vide fichier.py
-
exécutez-le par la commande :
python3 /chemin/vers/fichier.py
...et amusez-vous.
b. Icône du lanceur
Même un simple lanceur peut faire le travail depuis l'interface graphique :
[Desktop Entry]
Name=Définir la position du lanceur
Exec=zenity --info --text="Clic droit pour définir la position du lanceur"
Type=Application
StartupNotify=False
Icon=preferences-system
Actions=Lanceur en bas;Lanceur sur la gauche;
[Desktop Action Lanceur en bas]
Name=Lanceur en bas
# Option clic droit pour définir le lanceur en bas
Exec=gsettings set com.canonical.Unity.Launcher launcher-position Bas
[Desktop Action Lanceur sur la gauche]
Name=Lanceur sur la gauche
# Option clic droit pour définir le lanceur sur la gauche
Exec=gsettings set com.canonical.Unity.Launcher launcher-position Gauche
- Collez le code dans un fichier vide, enregistrez-le sous
setlauncher.desktop
- Faites glisser l'icône sur le lanceur et cliquez dessus avec le bouton droit
Pour une utilisation permanente, enregistrez-le dans ~/.local/share/applications
(pour un usage local) ou ~/usr/share/applications
pour tous les utilisateurs.