вторник, 25 ноября 2008 г.

Почему некоторые люди называют область уведомления "системным треем"?

Это перевод Why do some people call the taskbar the "tray"? Автор: Реймонд Чен.

Короткий ответ: потому что они ошибаются.

Длинный ответ:

Официальное имя для этой штуки внизу экрана: "панель задач". Панель задач состоит из нескольких элементов, таких, как "кнопка Пуск", набора "кнопок панели задач", часов и "области уведомлений панели задач".

Одна из самых распространённых ошибок: называть область уведомлений панели задач "треем" или "системным треем". Никогда это не было верным. Если вы нашли какую-либо официальную документацию, которая ссылается на область уведомлений как на "трей" - считайте, что вы нашли баг.

В ранних сборках Windows 95, панель задач ещё не была панелью задач; это было окно, пристыкованное к нижней части экрана, в которое вы могли перетастивать всякие вещи - наподобие лотка на некоторых столах. Вот откуда пошло название "трей" (по-английски этот лоток назывался "organizer tray"). Трей можно было пристыковать к любой части экрана или вовсе отстыковать его и использовать как любое другое окно.

Потом мы избавились от трея и заменили его панелью задач ("таскбаром"). Мы прошлись по документации и заменили каждое упоминание трея на панель задач. Если вы прошерстите всю документацию по оболочке, то нигде не найдёте слова "трей".

Немного позже мы добавили значки уведомлений (notification icons) в панель задач.

Я считаю, что причиной того, что люди стали называть эту область системным треем, была программа, которая называлась "systray.exe". В Win95 эта программа показывала некоторые стандартные иконки в области уведомлений: регулятор громкости, статус PCMCIA (как тогда это называлось), состояние батарей. Если вы убивали процесс systray.exe - вы теряли эти значки уведомлений. Поэтому люди начинали думать: "ага, должно быть, systray - это компонент, который управляет этими значками. Могу поспорить, что его имя - 'system tray'". Так началось это недоразумение, от которого мы пытаемся избавиться вот уже восемь лет...

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

"Но почему вас это так волнует? Если все теперь называют её так, то и вы можете делать это вместе со всеми".

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

Итог: ссылаться на область уведомлений панели задач как на трей никогда не было правильным. Она всегда называлась "область уведомлений".

6 комментариев:

  1. Изменение названий имеет ещё одно последствие (частично).

    Люди помещают в область уведомления панели задач вещи, которые вообще не являются уведомлениями.

    Если бы название области уведомления панели задач было бы устоявшимся - кто знает, может таких программ было бы меньше.

    ОтветитьУдалить
  2. Успокойтесь, у вас СПГС http://u.to/GSwg

    ОтветитьУдалить
  3. Название "System Tray" официально фигурировало в MSDN года так до 2006-2007 примерно.
    Примерно с этого времени такое понятие исчезло и появилось название "Notification area"...

    ОтветитьУдалить
  4. Ну, это перевод поста от 2003-го года.

    Кроме того:

    Никогда это не было верным. Если вы нашли какую-либо официальную документацию, которая ссылается на область уведомлений как на "трей" - считайте, что вы нашли баг.

    ОтветитьУдалить
  5. >Если бы название области уведомления панели задач было бы устоявшимся - кто знает, может таких программ было бы меньше.

    До появления новой панели задач в w7 очень удобно было сворачивать некоторые используемые программы (обращаться к которым приходится редко) именно в эту область. Например, музыкальный проигрыватель или файловый менеджер. Место не занимает, но всегда под рукой.

    Проводя дальнейшую аналогию с именем: трей это скорее кличка, которая если прилипла, то хрен отлипнет. Недаром они уже 8 лет борются. Ну и "системный трей" (или просто "трей") сказать/написать быстрее, чем "область уведомлений панели задач" и попробуйте это внятно сократить.

    Вообще, в Майкрософт судя по всему любят длинные мудреные названия и не только в переводах.

    ОтветитьУдалить
  6. а заголовок у панели задач Shell_TrayWnd
    FindWindow('Shell_TrayWnd','')

    ОтветитьУдалить

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

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

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

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

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