Вопрос или проблема
Я использую Linux время от времени уже более десяти лет. Единственная вещь, которая не позволяет мне полностью отказаться от Windows, – это скрипт Autohotkey, который я написал много лет назад, который позволяет мне быстро переключаться между окнами приложений нажатием кнопки Pause (у меня есть проблемы с кистью из-за RSI). Он по сути имитирует нажатие Alt-Tab один раз.
Если я хочу переключиться на произвольное окно, отличное от последнего, я все равно могу использовать Alt-Tab, но для переключения между двумя последними окнами я могу просто нажать Pause.
В GNOME я могу настроить Pause для выполнения задачи переключения между приложениями, но есть значительная задержка, он не просто переключается на следующее окно, что делает невозможным быстрое переключение между двумя окнами приложений.
И я больше не могу использовать Alt-Tab для переключения на произвольное окно. Есть ли способ воспроизвести функциональность этой строки Autohotkey в Linux, позволяя мне переключаться между окнами приложений без задержки и сохранять оригинальную функциональность Alt-Tab?
PAUSE::Send, {ALTDOWN}{TAB}{ALTUP}
Предпочтительно надежный способ, предоставленный окружением рабочего стола (KDE, GNOME)?
Я проверял https://github.com/autokey/autokey, но я не знаю, будет ли он существовать через пару лет, в то время как Autohotkey использовался уже 20 лет и, вероятно, не исчезнет в ближайшее время.
Любые предложения приветствуются. Большое спасибо 🙂 .
В Gnome вы можете открыть “Настройки”, затем прокрутить до “Сочетания клавиш”.
Там вы можете переназначить большинство сочетаний клавиш. То, что вас интересует, называется “Переключить приложения” и изначально привязано к Super+Tab.
Тем не менее, я редко использую Alt+Tab в настоящее время. Когда я переключаюсь на браузер, чтобы искать документацию или файловый менеджер, я обнаруживаю, что мое последнее окно редко бывает тем, на которое я хочу переключиться. Вместо этого я использую рабочие пространства.
Я склонен использовать одно окно на рабочее пространство. В Gnome я переключаюсь между ними с помощью Ctrl+Alt+Вверх или Ctrl+Alt+Вниз, или вы можете пронумеровать их и установить назначения клавиш для перехода к конкретным рабочим пространствам. Все эти сочетания клавиш могут быть переназначены.
С другими окружениями рабочего стола это может быть даже проще. Я часто использую i3
по этой причине. Я нажимаю Mod+Shift+8, чтобы переместить окно на рабочее пространство 8. Затем Mod+8, чтобы перейти туда. Переключение между рабочими пространствами 7 и 8 работает нормально, а если мне нужно отвлечься на электронную почту или документацию, я могу сделать это на другом рабочем пространстве без нарушения потока. Если вам нравятся несколько окон на рабочем пространстве, Mod+Стрелка приведет вас туда, куда вы хотите. i3
также может иметь перенастраиваемые сочетания клавиш.
В AutoKey это будет работать как содержимое скрипта:
keyboard.fake_keypress("<alt>")
keyboard.fake_keypress("<tab>")
Это также будет работать как содержимое скрипта:
keyboard.press_key("<alt>")
keyboard.press_key("<tab>")
keyboard.release_key("<tab>")
keyboard.release_key("<alt>")
Обратите внимание, что вам может потребоваться обратить внимание на сочетание клавиш после его установки. В некоторых из моих экспериментов клавиши Ctrl и Alt автоматически выбирались для меня. Если вы посмотрите на ваше сочетание клавиш после его установки и сохранения скрипта, и оно отображается как Ctrl+Alt+pause
, вы можете редактировать сочетание клавиш, нажав кнопку Установить справа от него снова и нажав кнопки Ctrl и Alt, чтобы снять их выделение, а затем нажав кнопку OK для установки сочетания клавиш и затем нажав кнопку Сохранить в панели инструментов AutoKey.
Ответ или решение
Быстрый переключение между приложениями на Linux с помощью одной кнопки
Введение
Пользователи Linux часто сталкиваются с необходимостью эффективно переключаться между открытыми приложениями. Особенно это актуально для тех, кто имеет ограничения, связанные с физическим дискомфортом, как, например, RSI (повторяющиеся травмы) в пальцах. В данной статье я предложу вам решение, которое позволит выполнить эту задачу с помощью одной кнопки, аналогично скрипту Autohotkey, который вы использовали в Windows.
Необходимость в быстром переключении приложений
Как вы верно заметили, стандартное переключение между приложениями на Linux (через поиск Alt+Tab) может быть недостаточно быстрым и эффективным. Данное ограничение становится заметным, когда необходимо переключаться между двумя приложениями, поскольку доступ к другим доступным приложениям таким образом затруднен.
Настройка клавиши Pause для быстрого переключения
Создание функции переключения с помощью клавиши Pause можно реализовать, используя AutoKey, мощный инструмент для автоматизации задач на Linux, который позволяет создавать сценарии и надстройки для управления событиями ввода.
-
Установите AutoKey:
В большинстве дистрибутивов можно установить AutoKey через пакетный менеджер. Например, в Ubuntu выполните команду:
sudo apt install autokey-gtk # Для GTK sudo apt install autokey-qt # Для Qt
-
Создание нового скрипта в AutoKey:
- Откройте AutoKey.
- Щелкните правой кнопкой мыши на папке "Мои скрипты" и выберите "Создать скрипт".
- Назовите его, например, "Переключение приложений".
- Вставьте следующий код:
keyboard.press_key("<alt>") keyboard.press_key("<tab>") keyboard.release_key("<tab>") keyboard.release_key("<alt>")
- Назначьте горячую клавишу на клавишу Pause (можно сделать это в настройках нового скрипта).
Сохранение оригинальной функции Alt-Tab
После выполнения вышеописанных шагов вы сможете использовать комбинацию Pause для переключения между двумя последними окнами. Чтобы сохранить возможность использования Alt-Tab для переключения на произвольные окна, вам достаточно оставить его без изменений в системных настройках или только переназначить клавиатурные сочетания в разделе "Клавиатурные сочетания" настроек GNOME.
Альтернативные решения
Если вы желаете попробовать что-то другое, то рекомендовалось бы использовать рабочие пространства для повышения продуктивности. В GNOME можно использовать сочетания клавиш для быстрого перемещения между рабочими пространствами, что позволяет избежать гонки между множеством окон.
- Чтобы настроить переключение между рабочими пространствами, перейдите в "Настройки" -> "Клавиатурные сочетания" и настройте соответствующие комбинации клавиш.
Заключение
В заключение, благодаря AutoKey вы можете адаптировать вашу среду рабочего стола Linux для удовлетворения ваших нужд, обеспечивая быстрое и удобное переключение между приложениями с помощью клавиши Pause. Это решение обеспечит вам ту же гибкость, что и ваш старый скрипт в Autohotkey, при этом сохранив функциональность Alt-Tab. Не забывайте о возможностях, которые предоставляет использование рабочих пространств, что также может улучшить вашу продуктивность и удобство работы.