В Windows 7 я использую функцию «Автоматически скрывать панель задач». Обычно это работает нормально: как только указатель коснется нижней части экрана, появится панель задач.
Однако иногда он отказывается расти. Нажатие клавиши "Windows" (или Ctrl-ESC) приводит к появлению меню "Пуск", что также не позволяет панели задач скрываться. Как только я это сделаю, панель задач снова автоматически поднимается. Это раздражает, это прерывает поток. Кто-нибудь еще заметил это? Как мне избежать этого?
Поиск «Автоподъем панели задач Windows 7» показывает, что по крайней мере еще один человек столкнулся с этой проблемой:Как я могу исправить автоматическое скрытие панели задач? (Сообщение сообщества Microsoft)
Чтобы ответить на вопрос, заданный "полезным" инженером поддержки на приведенной выше странице, я, конечно, запускаю некоторые приложения, когда это происходит, обычно Windows Task Manager (свернутый в область уведомлений), Windows Explorer, Firefox, Eclipse, Cygwin/X, Xterm, Cygwin Emacs, gitk, git gui, Notes, чат-клиент, VPN-клиент, брандмауэр.
Если моя память работает правильно, я видел такое поведение и в более ранних версиях Windows, по крайней мере, в XP, но не так часто, как в настоящее время в Windows 7.
Пока что это происходит внезапно, иногда несколько раз в день.
Пока я не могу напрямую воспроизвести это поведение. Чтобы воспроизвести это поведение, я попытался переключиться между приложениями и заставить приложения открывать другие окна.
Смотрите мои комментарии ниже для получения дополнительной информации.
Похоже, ошибка для меня. Панель задач должна подниматься несмотря ни на что.
Редактировать:
Обычно я использую "классический" стиль Windows со всеми отключенными анимациями. Я переключился на стиль "конфеты" (Aero), чтобы посмотреть, помогает ли это, но проблема все же возникла.
Я почти уверен, что видел такое поведение, когда не использовал Eclipse, но Eclipse определенно является программой, которая чаще всего вызывает такое поведение.
Как сообщает Malachi, в Eclipse Bugs есть запись, которая также отслеживает эту проблему. Открыт в 2002-09. Вау, более десяти лет назад. Однако пользователи на другой странице, найденной Малахией, сообщили, что другие программы, например Firefox, также могут вызывать такое поведение, так что это не проблема, вызванная исключительно Eclipse.
Проблема может быть вызвана Eclipse, или Windows, или JRE. Если проблема связана с Windows или JRE, я все же говорю, что Eclipse должен избегать этого. Другие программы тоже умеют это делать.
Моя текущая теория такова: обычно, ровно один ряд пикселей на панели задач видим, и перед всеми другими приложениями, даже когда приложение развернуто. Поскольку панель задач находится впереди (вверху Z-порядка), она "видит" указатель, когда указатель мыши находится над ним. Когда возникает проблема, панель задач больше не отображается перед любым другим приложением, поэтому она не получает события "зависания". Только там, где никакое другое окно не закрывается, оно все еще получает события зависания.
Если панель задач должна быть сверху с видимой хотя бы одной строкой пикселей, Windows должна убедиться, что это так. ОС является главной и не должна позволять приложениям доминировать во взаимодействии с GUI. Существуют исключения, такие как проигрыватели фильмов, когда вы не хотите, чтобы светлая линия пикселей была видимой (просто закрасьте ее черным!), Или когда панель задач вообще не должна подниматься, например, в полноэкранных играх. На мой взгляд, Eclipse или браузер не требуют исключения.
Вот описание типичного инцидента:
Затмение было впереди. Я переместил указатель внизу экрана, панель задач не поднялась. Когда "Затмение" не было развернуто, оставив немного места справа, я смог заставить панель задач подняться за окном затмения, "дотронувшись" до правого нижнего угла. Отойдя, панель задач снова спряталась. Это работало неоднократно. Когда я дотронулся до центра снизу, панель задач не поднялась даже за Eclipse. Затем я развернул окно Eclipse. Панель задач не может быть поднята. Восстановлено окно Eclipse -> То же, что и до цикла максимизации-восстановления (поднялся только при прикосновении к правому нижнему углу). Затем я переключился на Firefox, который был максимальным в то время. Все еще нет панели задач. В не максимизированном состоянии с Firefox это было так же, как с Eclipse. То же самое для других приложений, например Notes. Далее, если быть точным, я добавляю вкладку в Emacs, его окно управления Ediff. И вдруг панель задач снова заработала. Окно управления Ediff не было развернуто и не касалось нижней части экрана (обычно оно никогда не разворачивалось). Окно Ediff не может быть виновником, так как проблема чаще всего возникает, когда у меня нет открытого окна Ediff, и оно сидело там весь день, а панель задач работала.
Поэтому, когда это происходит, оно "применяется" к нескольким приложениям. По крайней мере, Eclipse и Firefox "сильнее", чем панель задач. В одном случае Eclipse был сверху, gitk внизу и панель задач между ними.
Может быть, есть программа, которая позволяет проверять Z-порядок или регистрирует изменения в Z-порядке?