Windows Confidential: То, что сохранилось из Windows 3.0

:

«Если я системными политиками запрещаю значки на рабочем столе, то от двойного щелчка по нему начинает запускаться Диспетчер задач. Что за чудеса?»

Это примерно такое же открытие, какое сделал один мой коллега, убравший в своём старом доме декоративные панели, и обнаруживший за ними забытый чулан. В чулане он нашёл несколько раритетов времён Второй мировой войны, включая алкогольный талон с несколькими непробитыми ячейками. Сложно представить, что чувствовал владелец талона, забывший его в чулане.

Чулан, скрытый за рабочим столом Windows, — это Диспетчер программ, оставшийся со времён Windows 3.0. Диспетчер программ позволял запускать приложения, но не позволял переключаться между ними: в нём не было аналога панели задач, отображавшей все запущенные приложения. Чтобы увидеть список открытых окон, пользователь запускал Диспетчер задач — горячей клавишей Ctrl+Esc, либо двойным щелчком по пустому месту на рабочем столе.

Кроме возможности перейти к любому из открытых окон, Диспетчер задач позволял также закрыть приложения, или упорядочить окна — например, каскадом. Диспетчер задач был единственным местом в Windows, показывавшим открытые окна одновременно: например, Alt+Tab не показывал значки всех окон, как в современных версиях Windows, а переключался между ними по порядку.

Появившаяся в Windows 95 панель задач позволяла видеть все открытые окна и переключаться между ними в любой момент; Диспетчер задач был для этого больше не нужен. Кроме того, свёрнутые окна ложились теперь в панель задач, а не на рабочий стол, как в Windows 3.0. Из места для значков свёрнутых окон, рабочий стол превратился в место для часто используемых ярлыков.

Рабочий стол в Windows 95 — это окно Проводника, растянутое на весь экран, и расположенное ниже окон всех других программ. В этом окне Проводник отображает содержимое папки «Рабочий стол». Но под этим «рабочим столом» остался другой, настоящий рабочий стол, который, как и в Windows 3.0, принадлежит непосредственно оконной подсистеме Windows. Это то самое окно, которое возвращает функция GetDesktopWindow. Пользователь Windows 95 никогда не видел этот настоящий рабочий стол: он всегда прятался под окном Проводника — так же, как чулан в подвале моего коллеги полвека прятался под деревянными панелями.

Изменения вносятся помалу


Интерфейс Windows 95 так резко отличался от привычного пользователям Диспетчера программ Windows 3.1, что разработчики оставили «запасной выход»: те, кто не мог привыкнуть к новому интерфейсу, могли продолжать работать с Диспетчером программ, с группами иконок вместо ярлыков, и с запуском Диспетчера задач двойным щелчком по рабочему столу. Но новый интерфейс оказался сногсшибательно успешным, и запасной выход никому не понадобился. Он оставался просто «про запас».

Со времён Windows 95 устройство рабочего стола практически не изменилось: это по-прежнему окно Проводника, растянутое на весь экран и полностью закрывающее системный рабочий стол. Но если включить политику «Скрыть и отключить все значки на рабочем столе», то окно Проводника, единственное назначение которого — отображать значки, больше не нужно; оно исчезает, и из-под него становится виден настоящий рабочий стол. Двойной щелчок по настоящему рабочему столу, как и двадцать лет назад, запускает Диспетчер задач — это и озадачило пользователя, с вопроса которого началась статья. Он убрал «декоративные панели» Проводника, и обнаружил под ними «старую стену подвала» — системный рабочий стол, а в ней «забытый чулан» — давно не используемый, но по-прежнему действенный способ запуска Диспетчера задач.

Если вы хотите отключить все значки на рабочем столе, но не хотите показывать пользователю старый рабочий стол, неожиданно реагирующий на двойной щелчок, — воспользуйтесь другими средствами. Политиками, такими как «Удалить значок Корзины с рабочего стола», спрячьте все стандартные значки, и затем назначьте такие права доступа на папку рабочего стола, чтобы пользователи не могли создавать в ней новые ярлыки. Тогда пустое окно Проводника останется над рабочим столом, и закроет доступ к его «чулану».

Забытая горячая клавиша


Замена Диспетчера задач, который нужно вызывать каждый раз, на панель задач, которая всегда на виду, — наиболее заметное усовершенствование интерфейса для переключения между открытыми приложениями. Но, как уже было упомянуто, существенно изменился за свою историю и интерфейс Alt+Tab. В первой версии Windows по нажатию этой комбинации клавиш управление просто переключалось к следующей программе. Свёрнутые программы оставались свёрнутыми даже после переключения к ним; вам нужно было самим развернуть их после того, как вы отпускаете Alt. И не было никакого всплывающего окна, которое бы показывало, к какой программе вы переключаетесь.

В Windows 2.0 интерфейс Alt+Tab стал на шаг ближе к тому, которым мы пользуемся сегодня. Переключение между окнами теперь осуществлялось в соответствии с Z-порядком, от верхних окон к нижним; и каждое нажатие на Tab временно «приподнимало» следующее окно на самый верх, чтобы вы видели, к какой программе вы переключаетесь. Когда вы отпускаете Alt, «приподнятое» окно так и остаётся наверху; например, если у вас были окна A, B, C и D, то после переключения к окну C порядок окон становится C, A, B, D.

Всплывающее окно появилось в Windows 3.0. Оно показывало значок и заголовок следующего окна; теперь, чтобы выбрать нужное окно и переключиться к нему, системе не приходилось «приподнимать» и полностью отрисовывать все окна по дороге к нему. Выбранное окно, как и прежде, поднималось на самый верх Z-порядка; но лишь после того, как вы отпускаете Alt. Этот новый интерфейс получил название «быстрый Alt+Tab». Пользователь Windows 3.x мог выбрать между «классическим» и «быстрым» интерфейсом; но все до единого предпочитали новый интерфейс. Когда поддержку старого интерфейса втихомолку удалили из Windows 95, едва ли кто-нибудь это заметил, и уж точно никто нам не пожаловался.

Следующие обновления коснулись интерфейса Alt+Tab в Windows 95 и Windows Vista: сначала добавили ряды значков для всех открытых окон, затем значки заменили на «живые» эскизы окон. Другое малоизвестное новшество — что в значок или экскиз во всплывающем окне можно ткнуть мышью, чтобы перейти напрямую к нужному окну. Всё ради того, чтобы пользователь тратил меньше времени на поиск окна и переключение к нему.

Но по мере того, как интерфейс Alt+Tab обрастал всё новыми финтифлюшками, другая горячая клавиша уходила в забвение.
Начиная с Windows 2.0, для переключения между окнами можно было использовать также комбинацию Alt+Esc. С тех пор её функциональность совершенно не изменилась.

Как и Alt+Tab, комбинация Alt+Esc проходит по всем открытым приложениям. Текущее окно переносится на самый низ Z-порядка, и управление переходит к следующему за ним окну. Если следующее окно свёрнуто, оно остаётся свёрнутым. На первый взгляд это кажется неудобным, но на самом деле это позволяет быстро пропустить свёрнутые приложения, не разворачивая их.

Например, если открыты окна A, B, C и D, то нажатие Alt+Esc отправит окно A на самый низ, и порядок окон станет B, C, D, A. Следующее нажатие отправит окно B на самый низ (получаем C, D, A, B). Если окно B было свёрнутым, то оно так и останется свёрнутым; выходит, мы переключились от A к C, не разворачивая B.

Обе комбинации для переключения между окнами позволяют добавить Shift, чтобы изменить порядок переключения на обратный. Alt+Shift+Esc переносит самое нижнее окно Z-порядка на самый верх (но не разворачивает его). Пара комбинаций Alt+Esc/Alt+Shift+Esc позволяет быстро переключаться между двумя открытыми окнами.

В то время, как всё внимание было обращено к усовершенствованию Alt+Tab, его младший брат Alt+Esc остался на обочине и лишь тихо всхлипывал, что никто его не замечает. Но у этого пренебрежения есть и положительная сторона: многие разработчики пытаются создать приложения, «расширяющие» интерфейс Alt+Tab; но никто не трогает функциональность Alt+Esc.

Как детекторный приёмник при сбое электроснабжения, Alt+Esc может быть жизненно необходим, когда сбои «расширений» приводят к неработоспособности Alt+Tab и панели задач. Если кажется, что все способы переключения между программами перестали работать, не отчаивайтесь: вспомните «запасную» комбинацию Alt+Esc. Она работает всегда — потому что никому не приходит в голову «усовершенствовать» её работу.