Ich möchte eine Verknüpfung, um die obere Leiste und das Dock auszublenden, also dachte ich, der beste Weg, dies zu tun, wäre, einen Terminalbefehl herauszufinden, der dasselbe tut. Also, kann mir jemand den Befehl dazu oder einen anderen Weg sagen? funktioniert die Verknüpfung?
Akzeptierte Antwort:
Mit diesem Befehl kann die Topbar ausgeblendet werden
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval string:'Main.panel.actor.hide();'
um es wieder anzuzeigen
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval string:'Main.panel.actor.show();'
Sie können die Befehle mit einem Skript optimieren, um sie ein- und auszublenden.
Für das Ausblenden des Ubuntu-Docks ist die folgende Problemumgehung etwas übertrieben, da wir die gesamte Erweiterung deaktivieren.
gdbus call --session --dest org.gnome.Shell.Extensions --object-path /org/gnome/Shell/Extensions --method org.gnome.Shell.Extensions.DisableExtension [email protected]
zum Aktivieren zurück
gdbus call --session --dest org.gnome.Shell.Extensions --object-path /org/gnome/Shell/Extensions --method org.gnome.Shell.Extensions.EnableExtension [email protected]
Sie können die Befehle mit einem Skript optimieren, um zwischen Aktivieren und Deaktivieren umzuschalten
Alles in allem können Sie eine einzige Tastenkombination haben, mit der Sie „Topbar ausblenden und Erweiterung deaktivieren“ „Topbar anzeigen und Erweiterung aktivieren“ umschalten können
Sie können ein Skript mit folgendem Inhalt erstellen..
#!/bin/bash
status1=`gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval string:'Main.panel.actor.visible;'`
status2=`gdbus call --session --dest org.gnome.Shell.Extensions --object-path /org/gnome/Shell/Extensions --method org.gnome.Shell.Extensions.GetExtensionInfo [email protected] | grep "'state': <2.0>" >/dev/null && echo "OFF" || echo "ON"`
if [ "$status1" == "(true, 'false')" ]; then
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval 'Main.panel.actor.show();'
else
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval 'Main.panel.actor.hide();'
fi
if [ "$status2" == "ON" ]; then
gdbus call --session --dest org.gnome.Shell.Extensions --object-path /org/gnome/Shell/Extensions --method org.gnome.Shell.Extensions.DisableExtension [email protected]
else
gdbus call --session --dest org.gnome.Shell.Extensions --object-path /org/gnome/Shell/Extensions --method org.gnome.Shell.Extensions.EnableExtension [email protected]
fi
Das folgende GIF zeigt das Ergebnis. Wenn Gnome-Shell jedoch aktualisiert/neu angemeldet/neu gestartet wird, wirkt sich dies auf die Persistenz aus.