Введение

Сочетание клавиш для переключения окон без использования мыши – это общепринятое название для сочетания клавиш, существующего в Microsoft Windows с версии Windows 2.0 (1987). Это сочетание переключает между окнами приложений без использования мыши, поэтому оно получило название Task Switcher (Flip в Windows Vista). Окна упорядочиваются по последнему использованию, поэтому повторное нажатие клавиш позволяет переключаться между двумя наиболее недавно использованными задачами. Оно также может использоваться для переключения между окном полного размера и рабочим столом. Оконная среда поддерживает Z-порядок списка окон верхнего уровня (задач), где наиболее недавно использованные задачи находятся в начале, а рабочий стол – в конце, что обеспечивает наиболее быстрый доступ к ним. Это сочетание клавиш также реализовано в других операционных системах и графических средах, таких как KDE, Xfce и GNOME. В iOS и macOS есть аналогичная функция, активируемая нажатием, но она переключает приложения, а не окна.

Иллюстративные примеры

Окна можно разделить на две категории: «всегда сверху» и обычные. При переключении на задачу она перемещается в начало своей категории. Для следующего примера предположим, что окон «всегда сверху» нет. Пусть A — текущее название окна. Удерживайте Alt и нажмите и отпустите Tab один раз, удерживая Alt нажатой. Появится список окон. A гарантированно будет первым в списке. Предположим, полный список выглядит как A W Z E U B C. Курсор выбора изначально будет на W. Предположим, мы хотим переключиться на окно U. Не отпуская Alt, нажмите Tab ещё три раза, затем отпустите Alt. Затем удерживайте Alt и нажмите и отпустите Tab один раз, удерживая Alt нажатой. В списке окон теперь будет показано U A W Z E B C. Затем перейдите на E и отпустите Alt, выбрав окно E. Нажмите и удерживайте Alt и нажмите и отпустите Tab один раз, удерживая Alt нажатой. В списке окон теперь будет показано E U A W Z B C. Обратите внимание, что окна, на которые переключились (E, U, A), расположены в порядке их недавнего использования. Теперь перейдите на A и отпустите Alt. Нажмите и удерживайте Alt и нажмите и отпустите Tab один раз, удерживая Alt нажатой. В списке окон будет показано A E U W Z B C. Эффект этого поведения «последних использованных» заключается в том, что для возврата к самой последней задаче нужно нажать Tab один раз, ко второй последней — дважды и так далее для всех задач. Приоритет окна с точки зрения доступности определяется тем, как недавно оно использовалось. Если A теперь свернуто, список станет E U W Z B C A, а если Z свернуто, список станет E U W B C A Z. Таким образом, сворачивание окна имитирует эффект его длительного неиспользования. Распространённое чередование между двумя последними задачами (с быстрым нажатием и немедленным отпусканием всех клавиш) — это особый случай описанного выше поведения. Предположим, окна A, B, C, и мы хотим чередовать между A и B. Удерживайте Alt при нажатии и отпускании Tab; продолжайте удерживать Alt. В списке будет показано A B C, и курсор изначально будет над B. Когда Alt будет отпущена, будет выбрано B, Tab был нажат всего один раз, и внимание к курсору выбора задачи не требовалось. Снова нажмите и отпустите Tab, удерживая Alt. В списке будет показано B A C, и курсор изначально будет над A. Когда Alt будет отпущена, мы вернёмся к A. При повторном отображении списка порядок вернётся к A B C, и эта последовательность может повторяться. При внимательном рассмотрении в процессе быстрого нажатия и отпускания обеих клавиш можно заметить, что окно списка задач мерцает на долю секунды. Поэтому, если пользователь переключается между тремя приложениями и хочет отказаться от одного из них, свернув его, одно из оставшихся будет наверху сразу после сворачивания и обычно будет чередоваться между двумя оставшимися окнами. Если программа не перемещается в конец списка при сворачивании, однократное нажатие Tab вернёт к свернутой программе. Такие сбои могут привести к хаотичной перестановке списка с помощью нескольких последовательностей, чтобы компенсировать неправильное поведение программы. Алгоритм этой перестановки становится интуитивно понятным после длительного использования. Если пользователь пытается переключиться на приложение с помощью Tab, но приложение не обновляет своё место в z-порядке (например, если процедура окна зависла), то при следующем вызове Tab курсор выбора задачи может неожиданно указать далеко в список значков, сразу после рассматриваемого приложения, которое не будет перемещено в начало списка. Приложения имеют определённое влияние на своё расположение в порядке. Список окон изменяется при создании и уничтожении окон, программном скрытии, отображении, поднятии и опускании окон, а также при изменении z-порядка окон. Порядок списка напрямую соответствует z-порядку, после того как окна были отсортированы по статусу «всегда сверху». Alt+Shift+Esc эквивалентен одному нажатию Alt+Shift+Tab, за исключением того, что свернутые окна выбираются без отображения.

macOS

Подобная функциональность существует в macOS, используя вместо , и переключаясь между приложениями, а не окнами. Переключатель в macOS имеет дополнительные возможности: наведение указателя мыши на нужную иконку (также доступно в Windows Vista и более поздних версиях) и перетаскивание файлов на иконки приложений. Выбранное приложение можно скрыть или закрыть с помощью клавиш или , не закрывая меню. работает аналогично для переключения между окнами внутри одного приложения. После активации изменяет поведение, имитируя (то есть начинает переключаться в обратном порядке). Использование или позволяет пользователю выбрать окно для фокусировки. Для навигации по переключателю приложений также можно использовать клавиши и стрелки. Эта функция не восстанавливает автоматически окна из приложения, в котором все окна были свернуты. Чтобы восстановить окно, необходимо нажать столько раз, сколько нужно для выбора нужного приложения, и удерживать клавишу Option непосредственно перед отпусканием клавиши Command. Это восстановит наиболее подходящее окно в приложении. В классической Mac OS не было стандартной комбинации клавиш для переключения приложений. Сторонние панели управления (например, ApplWindows и LiteSwitch) предоставляли такую возможность.

iOS

iOS добавляет сопоставимую функциональность, используя вместо , как и в macOS. Переключатель в iOS позволяет пользователю переходить между недавно использованными приложениями (девять в альбомной ориентации, шесть в книжной), в отличие от "открытых" приложений, поскольку понятие "открытого" приложения в iOS значительно менее определено, чем в других настольных операционных системах. циклически переключается назад, как и в OS X.

Unix

В настольных системах, подобных Unix, таких как fvwm, KDE, Xfce и GNOME, добавлена совместимая функция. В некоторых системах, включая CDE от Sun и старые версии fvwm, эта комбинация клавиш привязана к менее продвинутой функциональности, например, к простому переключению между двумя окнами, циклическому перебору окон вперед или назад в фиксированном порядке, или к открытию панели задач, где для выбора задачи необходимо использовать клавиши со стрелками или мышь, а затем нажать кнопку или клавишу Enter. Некоторые менеджеры окон, такие как WindowLab, отказываются от отображения списка окон на экране и просто поочередно выносят каждое окно на передний план при нажатии клавиш. Не все менеджеры окон предоставляют эту функциональность как основную. Например, в Blackbox её нет, но пользователи, желающие её использовать, могут добавить её, запустив вспомогательное приложение, такое как bbkeys.

Компиз Фьюжн

Compiz Fusion (также известный как Beryl, Compiz) обладает схожей функциональностью, но отображает как значок, так и предварительный просмотр окна (реализовано в Windows Vista и более поздних версиях при включенном DWM). Он также использует сочетание клавиш Alt+Shift+Tab для переключения между окнами в обратном порядке, а альтернативу Windows Flip 3D можно активировать с помощью клавиши Windows и Tab.

GNOME (англ.)

Управляющий окнами Metacity обладает функциональностью, схожей с версиями Windows, выпущенными до Vista, но отображает на экране только рамку текущего выбранного окна. В отличие от него, Windows показывает всё выбранное окно целиком, что помогает пользователю выбрать нужное окно из нескольких окон с одинаковым заголовком или значком.

История

Комбинация клавиш для переключения между окнами присутствует во всех версиях Windows, начиная с Windows 1.0. Однако, визуального отображения списка доступных окон при переключении не было до Windows 3.1, когда эта функция появилась в виде флажка "Быстрое переключение "Alt+TAB"" в панели управления дисплеем, внутренне известной как "CoolSwitch". До CoolSwitch эта комбинация была похожа на комбинацию (которая также переключала окна), но перерисовывала каждое окно немедленно при каждом нажатии, в то время как выводила окна наверх, но не перерисовывала их до отпускания клавиши Alt.

Несовместимость

Примером программы, нарушающей ожидание, что однократное нажатие переключит на предыдущее приложение, является Adobe Reader 7.0.x. Как и в более новых версиях Microsoft Word, она пытается присвоить отдельную иконку в меню задач каждому документу MDI. Однако, в отличие от Word, при выборе документа она выводит два элемента в начало списка: сначала иконку, представляющую главное окно Reader, а затем иконку для конкретного документа. В Adobe Reader однократное нажатие выбирает второй элемент в списке, то есть иконку PDF-документа. Adobe Reader остается текущей задачей после отпускания клавиши. Таким образом, демонстрируется, что корректная работа клавиши, как и некоторые другие аспекты среды Windows, такие как цепочка буфера обмена, зависит от правильной реализации в отдельных приложениях.