Когда я использую GNOME Shell и программу GNOME Connection Manager и пытаюсь Alt kbd> + S kbd> в Midnight Commander (все внутри GNOME Connection Manager), я получаю контекст окна открытое меню вместо поискового действия в MC. Это всего лишь пример: это проблема и в других программах.
Я не могу исправить это с помощью настроек сочетаний клавиш, как описано в этом ответе Ask Ubuntu . Нет такого пункта меню, как «Сочетания клавиш».
Также использование уловки с помощью клавиши Escape kbd> не годится, поскольку это обходной путь, а не реальное решение.
Как я могу просто отключить это поведение ключа Alt kbd>?
GNOME Connection Manager перехватывает комбинации клавиш Alt kbd> для своего собственного меню и отказывается передавать его в оболочку, в которой он находится (где работает экземпляр MC). Это не настраивается.
Это ошибка в GNOME Connection Manager, или, точнее, в используемой им библиотеке графического интерфейса (Gtk), поэтому единственное хорошее решение - перейти на их сайт и сообщить об ошибке.
Другой подход заключается в том, чтобы подать ошибку в GTK о «жестком кодировании Alt», но вам потребуется много харизмы и выносливости, чтобы убедить их сделать Alt настраиваемым. Все альтернативы будут обходными путями, из которых трюк с ESC-ключом самый элегантный.
Существует обходной путь, который действительно работает. ( протестировано на Ubuntu 15.10 и Gnome Connection Manager v1.1.0 )
Для меня главная проблема была с Alt kbd> + F kbd>, который я использую очень часто, но в GCM он показывает меню Файл.
Мое решение состоит в том, чтобы изменить языковой файл (en_US.po) и удалить все мнемоники меню (например, _File
- File_
).
cd /usr/share/gnome-connection-manager/lang
sudo sed -i -e 's/"_File"/"File_"/g' -e 's/"_Edit"/"Edit_"/g' -e 's/"_View"/"View_"/g' -e 's/"_Servers"/"Servers_"/g' -e 's/"_Help"/"Help_"/g' en_US.po
msgcat en_US.po | sudo msgfmt -o en/LC_MESSAGES/gcm-lang.mo -
Он удалит все ярлыки меню: Alt + F, Alt + E, Alt + V, Alt + S, Alt + H.
В Gnome Connection Manager есть еще один жестко заданный ярлык: Alt kbd> + A kbd> (открывает диалоговое окно «Добавить хост»). Вы также можете отключить его в файле gnome-connection-manager.glade
:
cd /usr/share/gnome-connection-manager/
sudo sed -i 's/(<accelerator key="a" modifiers="GDK_MOD1_MASK" signal="clicked"\/>)/<!-- \1 -->/g' gnome-connection-manager.glade