
Ich möchte eine Tastenkombination erstellen, um die Option zum automatischen Ausblenden des Einheitenstarters umzuschalten. Basierend auf der Antwort aufSo ändern Sie programmgesteuert das Ausblendverhalten des LaunchersIch habe versucht, ein Python-Skript zu erstellen, das diese Aufgabe erledigt. Dann muss ich nur noch herausfinden, wie ich es mit einer Tastenkombination ausführen kann.
Mein Skript sieht folgendermaßen aus:
#!/bin/python
AUTOHIDE=$(dconf read /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode)
if (AUTOHIDE==1):
dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0
else:
dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1
Aber das Ausführen des Skripts von einem Terminal aus (mit „python scriptname.py“) funktioniert nicht. Ich erhalte beim $-Zeichen die Fehlermeldung „ungültige Syntax“.
Sie müssen wissen, dass ich fast keine Kenntnisse über Python (oder das Schreiben von Skripten im Allgemeinen) habe. (Ich habe lediglich ein paar Stunden damit verbracht, im Internet nach Hilfe und Beispielen zu suchen.)
Also die eigentlichen Fragen:
- Was habe ich falsch gemacht?
- Habe ich hierfür einen viel zu komplizierten Ansatz gewählt und wie kann ich es in diesem Fall einfacher machen?
Antwort1
Wenn Sie es auf Python-Art machen möchten.
#!/bin/python
import subprocess
AUTOHIDE = subprocess.check_output (["/usr/bin/dconf", "read", "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode"])
if (AUTOHIDE==1):
subprocess.call (["/usr/bin/dconf", "write", "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode", "0"])
else:
subprocess.call (["/usr/bin/dconf", "write", "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode", "1"])
Sie müssen die Programme ausführen, indem Sie einen Unterprozess erstellen.
Und dies ist die Bash-Skriptversion
#!/bin/bash
AUTOHIDE=$(dconf read /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode)
if [[ $AUTOHIDE -eq 1 ]]
then
dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0
else
dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1
fi
Die Tastenkombination kann wie folgt zugewiesen werden:Das.
Antwort2
Eine einfache Möglichkeit hierzu besteht darin, eine benutzerdefinierte Verknüpfung zu erstellen.
Rufen Sie die Systemeinstellungen > Tastatur > Tastenkombinationen > Benutzerdefinierte Tastenkombinationen auf. Klicken Sie dann auf „+“, um eine neue Tastenkombination hinzuzufügen, und fügen Sie in das Befehlsfeld Folgendes ein:
dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0
Dadurch wird eine Verknüpfung zum Anzeigen des Launchers erstellt. Um den Launcher nun auszublenden, sollten Sie eine weitere Verknüpfung erstellen und den folgenden Befehl hinzufügen:
dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1
Natürlich haben Sie jetzt einen Befehl für jede Funktion, aber ich habe sie nebeneinander angeordnet und finde es sehr intuitiv.
Antwort3
Für Unity 2D sollten die dconf-Zeilen sein
/com/canonical/unity-2d/launcher/hide-mode
Es gibt auch einen dritten Modus „Intellihide“, dessen Wert 2 ist.