Сочетание клавиш для автоматического запуска единства

Я хотел бы создать сочетание клавиш для переключения опции автоматического скрытия для модуля запуска. Основываясь на ответе " Как программно изменить поведение скрытия программы запуска", я попытался создать скрипт 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.

Другие вопросы по тегам