Я пишу сценарий, который должен сфокусировать данное приложение, если оно уже запущено, иначе запустите приложение.
Я использую метод run()
модуля subprocess
для запуска нескольких команд оболочки, чтобы проверить, запущен ли в данный момент экземпляр, и если нет, то для запуска нового.
Скрипт отлично работает, если выполняется из терминала, однако ничего не делает, если запускать его с помощью сочетания клавиш из Gnome Shell.
Мой вопрос: как выполнить команды оболочки, не открывая терминал?
Вот фрагмент кода, который я использую для команд оболочки:
def focus_instance_of(application):
# Moves the window to the current desktop, raises it und gives it focus
print("Put " + application + " in focus...")
subprocess.run(["wmctrl", "-R", application])