Как установить сочетание клавиш Pharo для переключения окон?
Я читал, что в Pharo можно переключаться между окнами, используя Alt-Tab. Но я никогда не был в состоянии проверить это, потому что обе операционные системы, которые я обычно использую, захватывают Alt-Tab и используют его для собственного переключения окон.
Я не могу найти список для Alt-Tab в системном браузере Keymap. Где определен ключ для переключения окон, и как я могу его изменить?
РЕДАКТИРОВАТЬ: Я также хотел бы, чтобы ответ типа "вот как вы могли бы найти для себя".
3 ответа
Ну... ты попал в одно из наших слабых мест:)
Клавиши не в его лучшей форме, но:
- На самом деле, alt+tab уже настроен на "переключение окна". Проблема в том, что не работает все время (например, на Playground не работает).
- Это потому, что там есть некоторая жестко запрограммированная логика, которую мы медленно удаляем из системы (у некоторых из этих частей более 15 лет с тех пор, как они родились до рождения Фаро).
- Кто-то (вероятно, в неудачной попытке исправить игровую площадку или жесткие коды) забывает остановку в методе, который создает новое окно предварительного просмотра... так что даже если вы достигнете этой части системы, у вас будет отладчик. Конечно, вы сможете восстановить правильное поведение, просто удалив точку останова, но это не исправит тот факт, что "окна переключения" не будут доступны везде.
- Я открыл для него запись об ошибке: https://pharo.fogbugz.com/f/cases/15546, на случай, если вы захотите следить за этой проблемой (вам понадобится аккаунт, извините за это).
В любом случае, мы убираем этот жесткий код, и вы можете проверить все доступные на данный момент настройки, перейдя в World Menu / System / Keymap Browser (их много, мы также играем с идеями о том, как лучше показать эти комбинации). стиль emacs, всплывающие уведомления и т. д.)
В Pharo 6 я получил эту работу, отредактировав "Основные, общие навигационные ярлыки среди морфов" в пакете Morhpic-Core>> Редактирование ядра классом Morph >>#morphNavigationShortcutsOn:
Там вы можете создать ярлыки для "World navigateWindowForward"
и т. д. Мне потребовалось некоторое время, чтобы найти ключи, которые работали нормально, большинство не работает хорошо, когда в текстовом поле. Клавиша Tab кажется немного хитрой. Я использую ao ctrl-y и esc для переключения между windows / focus, ctrl-pageUp/pageDown также может работать.
Например:
(aBuilder shortcut: #navigateWindowForwardCtrl)
category: #MorphWindowNavigation
default: $y ctrl asKeyCombination
do: [ World navigateVisibleWindowForward ].
С помощью меню Hallo вызвать инспектора на объекте окна. Затем в инспекторе перейдите на вкладку "Ключи". Там вы можете увидеть все ярлыки, связанные с морфингом. Выбор интересующей вас (Alt+TAB) откроет новую панель инспектора справа. "Исходный код" показывает и выделяет исходный код, в котором определена привязка клавиш. Просмотрите метод, отредактируйте его, сохраните его, сбросьте сопоставления клавиш (сброс KMRepository), и все готово.