пятница, 2 октября 2009 г.

Куда прятались окна до того, как была изобретена панель задач?

Это перевод Where did windows minimize to before the taskbar was invented? Автор: Реймонд Чен.

Пока в Windows 95 не был представлен Проводник (Explorer), рабочий стол (desktop) Windows был совершенно иным местом.

Иконки на вашем рабочем столе не представляли собой файлы; скорее, когда вы минимизировали программу, она становилась иконкой на рабочем столе. Чтобы вернуть минимизированную программу, вам нужно было найти её иконку, возможно сворачивая другие программы, чтобы они не мешались, и дважды щёлкнуть по ней (вы также могли переключиться на программу по Alt+Tab).

Проводник изменил модель рабочего стола, так что иконки на нём стали представлять файлы или папки, а не программы. Работой по управлению программами занялась панель задач.

Но куда же уходили окна, когда вы сворачивали их?

В старой модели, когда окно сворачивали, оно отображалось как иконка, иконка имела конкретные координаты на экране, и программа рисовала её при ответе на сообщения о перерисовке (конечно же, большинство программ просто передавало эту работу DefWindowProc, которая и рисовала иконку). Другими словами, окно никуда не исчезало - оно просто меняло свой вид.

Но с панелью задач окно действительно исчезает, когда вы минимизируете его. Оно присутствует только в панели задач. Тема, как обращаться с окнами, когда они сворачиваются, прошла несколько итераций, потому что, похоже, неважно что вы делали, но всегда находились программы, которым это не нравилось.

Первый вариант был очень простым: когда окно сворачивалось, менеджер окон Windows 95 (window manager) просто делал его скрытым (hidden). Это не сработало для многих программ, которых волновало отличие между минимизированными (и видимыми) и скрытыми (и не видимыми) окнами.

Потом, менеджер окон Windows 95 минимизировал окно прямо как в старые времена, но только размещал иконку по координатам (-32000, -32000). Это не сработало, поскольку много программ испугались до чёртиков, когда увидели отрицательные координаты у своих окон.

Поэтому менеджер окон Windows 95 попробовал кидать свёрнутые окна в координаты (32000, 32000). Это тоже не сработало, потому что некоторым программам не понравилось, когда они нашли, что их координаты были положительными, но слишком огромными!

Наконец, менеджер окон Windows 95 попробовал использовать координаты (3000, 3000). Похоже, это удовлетворило большинство. Не отрицательные, не слишком большие, но и не маленькие, чтобы не показываться на экране (по крайней мере, не на экранных разрешениях, что были доступны в 1995-м).

Если у вас случайно завалялась машина с тремя мониторами под Windows 98 - вы можете убедиться в этом сами: установите разрешение каждого монитора в 1024x768 и разместите их угол к углу (по диагонали). В нижнем правом углу третьего монитора вы увидите, как паркуются свёрнутые окна.

(Windows NT остановилась на использовании координат -32000 и, по какой-то причине, не стала использовать хаки на совместимость. Я думаю, что они посчитали, что к тому времени, как Windows NT станет популярной, все эти кривые программы будут исправлены. Другими словами: пусть Windows 95 сделает всю грязную работу за вас!)

Комментариев нет:

Отправить комментарий

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

Ваше сообщение может быть помечено как спам спам-фильтром - не волнуйтесь, оно появится после проверки администратором.