Как в Linux GNOME игнорировать хоткеи для приложения в фокусе?
Всем привет! Можно ли как-то отключить конкретные хоткеи для приложения, находящегося в фокусе?
Дело в том, что у меня стоит хоткей (на уровне операционной системы) Ctrl + Shift + T на открытие терминала.
Но когда использую Chrome, то этот же хоткей, установленный на уровне приложения, хотелось бы использовать для открытия ранее закрытой вкладки.
Сейчас, соответственно, работает так, что когда у меня окно Chrome находится в фокусе, при нажатии Ctrl + Shift + T у меня не открывается предыдущая вкладка, а открывается окно терминала. Можно ли настроить хоткей так, чтобы при нажатии Ctrl + Shift + T в момент фокуса Chrome у меня открывалась предыдущая закрытая вкладка, но если нет приложения в фокусе, то открывалось бы окно терминала?
Менять хоткей не очень хотелось бы.
здесь похожая тема только по идее придётся свой скрипт вешать на этот hotkey который будет проверять есть ли такое окно(chrome) и в фокусе ли оно сейчас
Спасибо. Не знаю, сработает ли. Вот в чем дело: когда Chrome в фокусе и я нажимаю Shift + Ctrl + T, то открывается окно терминала (то есть запускается команда `gnome-terminal`). Но при этом, внутренний хоткей Хрома игнорируется - то есть предыдущая вкладка не открывается.
Если я правильно понял идею, то предлагаемый вами скрипт должен делать что-то типа (абстрактный код):
currentWindow = getCurrentWindow() // предположим, что текущее открытое приложение это Chrome
windowInFocus = getCurrentWindowInFocus() // предположим, что сейчас нет приложения в фокусе (все окна свернуты)
if (windowInFocus != currentWindow) {
doSystemHotkey() // в данном случае, вызываем системный хоткей, который откроет терминал
}
Если повесить, скажем, хоткей Shift + Ctrl + T на этот скрипт, то в момент когда Хром будет в фокусе, терминал не откроется, но и предыдущая вкладка тоже не откроется, т.к. будет выполнен системный хоткей, а внутренний проигнорится. Наверно эту проблему тоже можно решить, в целом если никаких других вариантов не останется, то можно взять на вооружение)