Как установить сочетание клавиш 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), и все готово.

Другие вопросы по тегам