Сочетание клавиш для автоматического запуска единства
Я хотел бы создать сочетание клавиш для переключения опции автоматического скрытия для модуля запуска. Основываясь на ответе " Как программно изменить поведение скрытия программы запуска", я попытался создать скрипт Python для этой работы. Тогда я должен просто выяснить, как запустить это с помощью сочетания клавиш.
Мой сценарий выглядит так:
#!/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
Но запуск скрипта из терминала (выполнение 'python scriptname.py') не работает. Я получаю ошибку "неверный синтаксис" в знак $.
Вы должны знать, что я почти не знаю Python (или вообще пишу сценарии). (Я только что провел несколько часов, ища в Интернете помощь и примеры).
Итак актуальные вопросы:
- Что я сделал не так?
- Я выбрал способ сложного подхода для этого и как я могу сделать это легче в этом случае?
3 ответа
Если вы хотите сделать это Pythonic способом.
#!/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"])
Вы должны выполнить программы, создав подпроцесс.
И это версия сценария Bash
#!/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
Ярлык можно назначить так.
Один из способов сделать это просто - создать собственный ярлык.
Выберите "Системные настройки"> "Клавиатура"> "Ярлыки"> "Пользовательские ярлыки". Затем нажмите "+", чтобы добавить новый ярлык, и в командной строке вставьте:
dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0
Это создаст ярлык для отображения панели запуска. Теперь, чтобы скрыть панель запуска, вы должны создать еще один ярлык, добавив команду:
dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1
Конечно, теперь у вас будет одна команда для каждой функции, но я расположил их рядом и нахожу ее очень интуитивно понятной.
Для Unity 2D строки dconf должны быть
/com/canonical/unity-2d/launcher/hide-mode
Существует также третий режим "Intellihide", значение которого равно 2.